Skip to content

Commit 3f9ead8

Browse files
authored
Merge pull request #14763 from arodic/transform_controls_enabled_property
Added enabled property to TransformControls.
2 parents 3fae2c7 + 068ef91 commit 3f9ead8

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

examples/js/controls/TransformControls.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ THREE.TransformControls = function ( camera, domElement ) {
2424

2525
defineProperty( "camera", camera );
2626
defineProperty( "object", undefined );
27+
defineProperty( "enabled", true );
2728
defineProperty( "axis", null );
2829
defineProperty( "mode", "translate" );
2930
defineProperty( "translationSnap", null );
@@ -188,8 +189,16 @@ THREE.TransformControls = function ( camera, domElement ) {
188189
// updateMatrixWorld updates key transformation variables
189190
this.updateMatrixWorld = function () {
190191

192+
if ( !scope.enabled ) {
193+
194+
this.visible = false;
195+
return;
196+
197+
}
198+
191199
if ( this.object !== undefined ) {
192200

201+
this.visible = true;
193202
this.object.updateMatrixWorld();
194203
this.object.parent.matrixWorld.decompose( parentPosition, parentQuaternion, parentScale );
195204
this.object.matrixWorld.decompose( worldPosition, worldQuaternion, worldScale );
@@ -527,14 +536,16 @@ THREE.TransformControls = function ( camera, domElement ) {
527536

528537
function onPointerHover( event ) {
529538

530-
// event.preventDefault();
539+
if ( !scope.enabled ) return;
531540

532541
scope.pointerHover( getPointer( event ) );
533542

534543
}
535544

536545
function onPointerDown( event ) {
537546

547+
if ( !scope.enabled ) return;
548+
538549
event.preventDefault();
539550
event.stopPropagation();
540551

@@ -545,6 +556,8 @@ THREE.TransformControls = function ( camera, domElement ) {
545556

546557
function onPointerMove( event ) {
547558

559+
if ( !scope.enabled ) return;
560+
548561
event.preventDefault();
549562
event.stopPropagation();
550563

@@ -554,6 +567,8 @@ THREE.TransformControls = function ( camera, domElement ) {
554567

555568
function onPointerUp( event ) {
556569

570+
if ( !scope.enabled ) return;
571+
557572
event.preventDefault(); // Prevent MouseEvent on mobile
558573

559574
scope.pointerUp( getPointer( event ) );

examples/misc_controls_transform.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
<a href="javascript:control.setSpace( control.space === 'local' ? 'world' : 'local' );">"Q" toggle world/local space</a> | Hold "Ctrl" down to snap to grid<br />
3838
<a href="javascript:control.showX = !control.showX">"X" toggle X</a> |
3939
<a href="javascript:control.showY = !control.showY">"Y" toggle Y</a> |
40-
<a href="javascript:control.showZ = !control.showZ">"Z" toggle Z</a><br />
40+
<a href="javascript:control.showZ = !control.showZ">"Z" toggle Z</a> |
41+
<a href="javascript:control.enabled = !control.enabled">"Spacebar" toggle enabled</a><br />
4142
</div>
4243

4344
<script src="../build/three.js"></script>
@@ -134,6 +135,10 @@
134135
control.showZ = !control.showZ;
135136
break;
136137

138+
case 32: // Spacebar
139+
control.enabled = !control.enabled;
140+
break;
141+
137142
}
138143

139144
});

0 commit comments

Comments
 (0)