Skip to content

Commit

Permalink
Add OrbitControls connect method
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandernanberg committed Apr 3, 2022
1 parent d0dc080 commit 65dc7c9
Showing 1 changed file with 23 additions and 14 deletions.
37 changes: 23 additions & 14 deletions examples/jsm/controls/OrbitControls.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,11 @@ const _endEvent = { type: 'end' };

class OrbitControls extends EventDispatcher {

constructor( object, domElement ) {
constructor( object, _domElement ) {

super();

if ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.' );
if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' );

this.object = object;
this.domElement = domElement;
this.domElement.style.touchAction = 'none'; // disable touch scroll

// Set to false to disable this control
this.enabled = true;
Expand Down Expand Up @@ -292,6 +287,24 @@ class OrbitControls extends EventDispatcher {

}();

this.connect = function (domElement) {

if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' );

scope.domElement = domElement;
scope.domElement.style.touchAction = 'none'; // disable touch scroll

scope.domElement.addEventListener( 'contextmenu', onContextMenu );

scope.domElement.addEventListener( 'pointerdown', onPointerDown );
scope.domElement.addEventListener( 'pointercancel', onPointerCancel );
scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } );

// force an update at start

scope.update();
};

this.dispose = function () {

scope.domElement.removeEventListener( 'contextmenu', onContextMenu );
Expand Down Expand Up @@ -1206,17 +1219,13 @@ class OrbitControls extends EventDispatcher {

}

//

scope.domElement.addEventListener( 'contextmenu', onContextMenu );
if (_domElement) {

scope.domElement.addEventListener( 'pointerdown', onPointerDown );
scope.domElement.addEventListener( 'pointercancel', onPointerCancel );
scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } );
console.warn( 'THREE.OrbitControls: The domElement constructor param has been deprecated. Use .connect() instead.' );

// force an update at start
this.connect(_domElement);

this.update();
}

}

Expand Down

0 comments on commit 65dc7c9

Please sign in to comment.