@@ -31,6 +31,9 @@ THREE.TransformControls = function ( camera, domElement ) {
3131 defineProperty ( "space" , "world" ) ;
3232 defineProperty ( "size" , 1 ) ;
3333 defineProperty ( "dragging" , false ) ;
34+ defineProperty ( "showX" , true ) ;
35+ defineProperty ( "showY" , true ) ;
36+ defineProperty ( "showZ" , true ) ;
3437
3538 var changeEvent = { type : "change" } ;
3639 var mouseDownEvent = { type : "mouseDown" } ;
@@ -1193,6 +1196,7 @@ THREE.TransformControlsGizmo = function () {
11931196 var PLANE_HIDE_TRESHOLD = 0.2 ;
11941197 var AXIS_FLIP_TRESHOLD = - 0.4 ;
11951198
1199+
11961200 if ( handle . name === 'X' || handle . name === 'XYZX' ) {
11971201 if ( Math . abs ( alignVector . copy ( unitX ) . applyQuaternion ( quaternion ) . dot ( this . eye ) ) > AXIS_HIDE_TRESHOLD ) {
11981202 handle . scale . set ( 1e-10 , 1e-10 , 1e-10 ) ;
@@ -1307,6 +1311,14 @@ THREE.TransformControlsGizmo = function () {
13071311
13081312 }
13091313
1314+ // Hide disabled axes
1315+ for ( var a in handle . name ) {
1316+ handle . visible = handle . visible && ( handle . name . indexOf ( "X" ) === - 1 || this . showX ) ;
1317+ handle . visible = handle . visible && ( handle . name . indexOf ( "Y" ) === - 1 || this . showY ) ;
1318+ handle . visible = handle . visible && ( handle . name . indexOf ( "Z" ) === - 1 || this . showZ ) ;
1319+ handle . visible = handle . visible && ( handle . name . indexOf ( "E" ) === - 1 || ( this . showX && this . showY && this . showZ ) ) ;
1320+ }
1321+
13101322 // highlight selected axis
13111323
13121324 handle . material . _opacity = handle . material . _opacity || handle . material . opacity ;
0 commit comments