@@ -350,13 +350,13 @@ var proto = Scene.prototype;
350
350
proto . initializeGLCamera = function ( ) {
351
351
352
352
var cameraData = this . fullSceneLayout . camera ;
353
- var ortho = ( cameraData . projection && cameraData . projection . type === 'orthographic' ) ;
353
+ var isOrtho = ( cameraData . projection && cameraData . projection . type === 'orthographic' ) ;
354
354
355
355
this . camera = createCamera ( this . container , {
356
356
center : [ cameraData . center . x , cameraData . center . y , cameraData . center . z ] ,
357
357
eye : [ cameraData . eye . x , cameraData . eye . y , cameraData . eye . z ] ,
358
358
up : [ cameraData . up . x , cameraData . up . y , cameraData . up . z ] ,
359
- ortho : ortho ,
359
+ _ortho : isOrtho ,
360
360
zoomMin : 0.01 ,
361
361
zoomMax : 100 ,
362
362
mode : 'orbit'
@@ -747,11 +747,19 @@ function getOrbitCamera(camera) {
747
747
// getLayoutCamera :: orbit_camera_coords -> plotly_coords
748
748
// inverse of getOrbitCamera
749
749
function getLayoutCamera ( camera ) {
750
+ var cameraProjectionType ;
751
+ if ( camera . _ortho === false ) { cameraProjectionType = 'perspective' ; }
752
+ else if ( camera . _ortho === true ) { cameraProjectionType = 'orthographic' ; }
753
+ else {
754
+ cameraProjectionType = ( camera . projection && camera . projection . type === 'orthographic' ) ?
755
+ 'orthographic' : 'perspective' ;
756
+ }
757
+
750
758
return {
751
759
up : { x : camera . up [ 0 ] , y : camera . up [ 1 ] , z : camera . up [ 2 ] } ,
752
760
center : { x : camera . center [ 0 ] , y : camera . center [ 1 ] , z : camera . center [ 2 ] } ,
753
761
eye : { x : camera . eye [ 0 ] , y : camera . eye [ 1 ] , z : camera . eye [ 2 ] } ,
754
- projection : { type : ( camera . projection && camera . projection . type === 'orthographic' ) ? 'orthographic' : 'perspective' }
762
+ projection : { type : cameraProjectionType }
755
763
} ;
756
764
}
757
765
0 commit comments