three-stdlib 2.16.1 → 2.16.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=o(t);function s(t){t.preventDefault()}class a extends e.EventDispatcher{constructor(t,o){super(),i.default(this,"object",void 0),i.default(this,"domElement",void 0),i.default(this,"movementSpeed",1),i.default(this,"rollSpeed",.005),i.default(this,"dragToLook",!1),i.default(this,"autoForward",!1),i.default(this,"changeEvent",{type:"change"}),i.default(this,"EPS",1e-6),i.default(this,"tmpQuaternion",new e.Quaternion),i.default(this,"mouseStatus",0),i.default(this,"movementSpeedMultiplier",1),i.default(this,"moveState",{up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0}),i.default(this,"moveVector",new e.Vector3(0,0,0)),i.default(this,"rotationVector",new e.Vector3(0,0,0)),i.default(this,"keydown",(t=>{if(!t.altKey){switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}})),i.default(this,"keyup",(t=>{switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()})),i.default(this,"mousedown",(t=>{if(this.dragToLook)this.mouseStatus++;else{switch(t.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}})),i.default(this,"mousemove",(t=>{if(!this.dragToLook||this.mouseStatus>0){const e=this.getContainerDimensions(),o=e.size[0]/2,i=e.size[1]/2;this.moveState.yawLeft=-(t.pageX-e.offset[0]-o)/o,this.moveState.pitchDown=(t.pageY-e.offset[1]-i)/i,this.updateRotationVector()}})),i.default(this,"mouseup",(t=>{if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(t.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()})),i.default(this,"lastQuaternion",new e.Quaternion),i.default(this,"lastPosition",new e.Vector3),i.default(this,"update",(t=>{const e=t*this.movementSpeed,o=t*this.rollSpeed;this.object.translateX(this.moveVector.x*e),this.object.translateY(this.moveVector.y*e),this.object.translateZ(this.moveVector.z*e),this.tmpQuaternion.set(this.rotationVector.x*o,this.rotationVector.y*o,this.rotationVector.z*o,1).normalize(),this.object.quaternion.multiply(this.tmpQuaternion),(this.lastPosition.distanceToSquared(this.object.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.quaternion))>this.EPS)&&(this.dispatchEvent(this.changeEvent),this.lastQuaternion.copy(this.object.quaternion),this.lastPosition.copy(this.object.position))})),i.default(this,"updateMovementVector",(()=>{const t=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-t+this.moveState.back})),i.default(this,"updateRotationVector",(()=>{this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft})),i.default(this,"getContainerDimensions",(()=>this.domElement==document||this.domElement instanceof Document?{size:[window.innerWidth,window.innerHeight],offset:[0,0]}:{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]})),i.default(this,"dispose",(()=>{this.domElement.removeEventListener("contextmenu",s),this.domElement.removeEventListener("mousemove",this.mousemove),this.domElement.removeEventListener("mousedown",this.mousedown),this.domElement.removeEventListener("mouseup",this.mouseup),window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup)})),void 0===o&&(console.warn('THREE.FlyControls: The second parameter "domElement" is now mandatory.'),o=document),this.object=t,this.domElement=o,!o||o instanceof Document||o.setAttribute("tabindex",-1),this.domElement.addEventListener("contextmenu",s),this.domElement.addEventListener("mousemove",this.mousemove),this.domElement.addEventListener("mousedown",this.mousedown),this.domElement.addEventListener("mouseup",this.mouseup),window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),this.updateMovementVector(),this.updateRotationVector()}}exports.FlyControls=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@babel/runtime/helpers/defineProperty"),e=require("three");function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=o(t);function s(t){t.preventDefault()}class a extends e.EventDispatcher{constructor(t,o){super(),i.default(this,"object",void 0),i.default(this,"domElement",null),i.default(this,"movementSpeed",1),i.default(this,"rollSpeed",.005),i.default(this,"dragToLook",!1),i.default(this,"autoForward",!1),i.default(this,"changeEvent",{type:"change"}),i.default(this,"EPS",1e-6),i.default(this,"tmpQuaternion",new e.Quaternion),i.default(this,"mouseStatus",0),i.default(this,"movementSpeedMultiplier",1),i.default(this,"moveState",{up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0}),i.default(this,"moveVector",new e.Vector3(0,0,0)),i.default(this,"rotationVector",new e.Vector3(0,0,0)),i.default(this,"keydown",(t=>{if(!t.altKey){switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}})),i.default(this,"keyup",(t=>{switch(t.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()})),i.default(this,"pointerdown",(t=>{if(this.dragToLook)this.mouseStatus++;else{switch(t.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}})),i.default(this,"pointermove",(t=>{if(!this.dragToLook||this.mouseStatus>0){const e=this.getContainerDimensions(),o=e.size[0]/2,i=e.size[1]/2;this.moveState.yawLeft=-(t.pageX-e.offset[0]-o)/o,this.moveState.pitchDown=(t.pageY-e.offset[1]-i)/i,this.updateRotationVector()}})),i.default(this,"pointerup",(t=>{if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(t.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()})),i.default(this,"lastQuaternion",new e.Quaternion),i.default(this,"lastPosition",new e.Vector3),i.default(this,"update",(t=>{const e=t*this.movementSpeed,o=t*this.rollSpeed;this.object.translateX(this.moveVector.x*e),this.object.translateY(this.moveVector.y*e),this.object.translateZ(this.moveVector.z*e),this.tmpQuaternion.set(this.rotationVector.x*o,this.rotationVector.y*o,this.rotationVector.z*o,1).normalize(),this.object.quaternion.multiply(this.tmpQuaternion),(this.lastPosition.distanceToSquared(this.object.position)>this.EPS||8*(1-this.lastQuaternion.dot(this.object.quaternion))>this.EPS)&&(this.dispatchEvent(this.changeEvent),this.lastQuaternion.copy(this.object.quaternion),this.lastPosition.copy(this.object.position))})),i.default(this,"updateMovementVector",(()=>{const t=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-t+this.moveState.back})),i.default(this,"updateRotationVector",(()=>{this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft})),i.default(this,"getContainerDimensions",(()=>this.domElement==document||this.domElement instanceof Document?{size:[window.innerWidth,window.innerHeight],offset:[0,0]}:{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]})),i.default(this,"connect",(t=>{this.domElement=t,!t||t instanceof Document||t.setAttribute("tabindex",-1),this.domElement.addEventListener("contextmenu",s),this.domElement.addEventListener("pointermove",this.pointermove),this.domElement.addEventListener("pointerdown",this.pointerdown),this.domElement.addEventListener("pointerup",this.pointerup),window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup)})),i.default(this,"dispose",(()=>{this.domElement.removeEventListener("contextmenu",s),this.domElement.removeEventListener("pointermove",this.pointermove),this.domElement.removeEventListener("pointerdown",this.pointerdown),this.domElement.removeEventListener("pointerup",this.pointerup),window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup)})),this.object=t,void 0!==o&&this.connect(o),this.updateMovementVector(),this.updateRotationVector()}}exports.FlyControls=a;
@@ -14,18 +14,19 @@ declare class FlyControls extends EventDispatcher {
14
14
  private moveState;
15
15
  private moveVector;
16
16
  private rotationVector;
17
- constructor(object: Camera, domElement: HTMLElement | Document);
17
+ constructor(object: Camera, domElement?: HTMLElement | Document);
18
18
  private keydown;
19
19
  private keyup;
20
- private mousedown;
21
- private mousemove;
22
- private mouseup;
20
+ private pointerdown;
21
+ private pointermove;
22
+ private pointerup;
23
23
  private lastQuaternion;
24
24
  private lastPosition;
25
25
  update: (delta: number) => void;
26
26
  private updateMovementVector;
27
27
  private updateRotationVector;
28
28
  private getContainerDimensions;
29
+ connect: (domElement: HTMLElement | Document) => void;
29
30
  dispose: () => void;
30
31
  }
31
32
  export { FlyControls };
@@ -6,12 +6,12 @@ function contextmenu(event) {
6
6
  }
7
7
 
8
8
  class FlyControls extends EventDispatcher {
9
- constructor(object, domElement) {
9
+ constructor(object, _domElement) {
10
10
  super();
11
11
 
12
12
  _defineProperty(this, "object", void 0);
13
13
 
14
- _defineProperty(this, "domElement", void 0);
14
+ _defineProperty(this, "domElement", null);
15
15
 
16
16
  _defineProperty(this, "movementSpeed", 1.0);
17
17
 
@@ -176,7 +176,7 @@ class FlyControls extends EventDispatcher {
176
176
  this.updateRotationVector();
177
177
  });
178
178
 
179
- _defineProperty(this, "mousedown", event => {
179
+ _defineProperty(this, "pointerdown", event => {
180
180
  if (this.dragToLook) {
181
181
  this.mouseStatus++;
182
182
  } else {
@@ -194,7 +194,7 @@ class FlyControls extends EventDispatcher {
194
194
  }
195
195
  });
196
196
 
197
- _defineProperty(this, "mousemove", event => {
197
+ _defineProperty(this, "pointermove", event => {
198
198
  if (!this.dragToLook || this.mouseStatus > 0) {
199
199
  const container = this.getContainerDimensions();
200
200
  const halfWidth = container.size[0] / 2;
@@ -205,7 +205,7 @@ class FlyControls extends EventDispatcher {
205
205
  }
206
206
  });
207
207
 
208
- _defineProperty(this, "mouseup", event => {
208
+ _defineProperty(this, "pointerup", event => {
209
209
  if (this.dragToLook) {
210
210
  this.mouseStatus--;
211
211
  this.moveState.yawLeft = this.moveState.pitchDown = 0;
@@ -273,33 +273,33 @@ class FlyControls extends EventDispatcher {
273
273
  }
274
274
  });
275
275
 
276
+ _defineProperty(this, "connect", domElement => {
277
+ this.domElement = domElement;
278
+
279
+ if (domElement && !(domElement instanceof Document)) {
280
+ domElement.setAttribute('tabindex', -1);
281
+ }
282
+
283
+ this.domElement.addEventListener('contextmenu', contextmenu);
284
+ this.domElement.addEventListener('pointermove', this.pointermove);
285
+ this.domElement.addEventListener('pointerdown', this.pointerdown);
286
+ this.domElement.addEventListener('pointerup', this.pointerup);
287
+ window.addEventListener('keydown', this.keydown);
288
+ window.addEventListener('keyup', this.keyup);
289
+ });
290
+
276
291
  _defineProperty(this, "dispose", () => {
277
292
  this.domElement.removeEventListener('contextmenu', contextmenu);
278
- this.domElement.removeEventListener('mousemove', this.mousemove);
279
- this.domElement.removeEventListener('mousedown', this.mousedown);
280
- this.domElement.removeEventListener('mouseup', this.mouseup);
293
+ this.domElement.removeEventListener('pointermove', this.pointermove);
294
+ this.domElement.removeEventListener('pointerdown', this.pointerdown);
295
+ this.domElement.removeEventListener('pointerup', this.pointerup);
281
296
  window.removeEventListener('keydown', this.keydown);
282
297
  window.removeEventListener('keyup', this.keyup);
283
298
  });
284
299
 
285
- if (domElement === undefined) {
286
- console.warn('THREE.FlyControls: The second parameter "domElement" is now mandatory.');
287
- domElement = document;
288
- }
289
-
290
- this.object = object;
291
- this.domElement = domElement;
292
-
293
- if (domElement && !(domElement instanceof Document)) {
294
- domElement.setAttribute('tabindex', -1);
295
- }
300
+ this.object = object; // connect events
296
301
 
297
- this.domElement.addEventListener('contextmenu', contextmenu);
298
- this.domElement.addEventListener('mousemove', this.mousemove);
299
- this.domElement.addEventListener('mousedown', this.mousedown);
300
- this.domElement.addEventListener('mouseup', this.mouseup);
301
- window.addEventListener('keydown', this.keydown);
302
- window.addEventListener('keyup', this.keyup);
302
+ if (_domElement !== undefined) this.connect(_domElement);
303
303
  this.updateMovementVector();
304
304
  this.updateRotationVector();
305
305
  }