File tree 1 file changed +11
-4
lines changed
1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -754,15 +754,22 @@ proto.updateFx = function(dragmode, hovermode) {
754
754
// but only if we *don't* explicitly set z-up earlier via the
755
755
// relayout. So push `up` back to layout & fullLayout manually now.
756
756
var gd = this . graphDiv ;
757
- var layout = gd . layout ;
758
757
var fullLayout = gd . _fullLayout ;
758
+ var fullCamera = this . fullSceneLayout . camera ;
759
+ var x = fullCamera . up . x ;
760
+ var y = fullCamera . up . y ;
761
+ var z = fullCamera . up . z ;
762
+ // only push `up` back to (full)layout if it's going to change
763
+ if ( z / Math . sqrt ( x * x + y * y + z * z ) > 0.999 ) return ;
764
+
759
765
var attr = this . id + '.camera.up' ;
760
- var edits = { } ;
761
766
var zUp = { x : 0 , y : 0 , z : 1 } ;
767
+ var edits = { } ;
762
768
edits [ attr ] = zUp ;
769
+ var layout = gd . layout ;
763
770
Registry . call ( '_storeDirectGUIEdit' , layout , fullLayout . _preGUI , edits ) ;
764
- this . fullSceneLayout . camera . up = zUp ;
765
- Lib . nestedProperty ( gd . layout , attr ) . set ( zUp ) ;
771
+ fullCamera . up = zUp ;
772
+ Lib . nestedProperty ( layout , attr ) . set ( zUp ) ;
766
773
} else {
767
774
768
775
// none rotation modes [pan or zoom]
You can’t perform that action at this time.
0 commit comments