three-stdlib 2.16.1 → 2.17.0
Sign up to get free protection for your applications and to get access to all the features.
- package/controls/FlyControls.cjs.js +1 -1
- package/controls/FlyControls.d.ts +5 -4
- package/controls/FlyControls.js +25 -25
- package/index.cjs.js +1 -1
- package/loaders/GLTFLoader.cjs.js +1 -1
- package/loaders/GLTFLoader.js +240 -91
- package/package.json +1 -1
@@ -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",
|
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
|
17
|
+
constructor(object: Camera, domElement?: HTMLElement | Document);
|
18
18
|
private keydown;
|
19
19
|
private keyup;
|
20
|
-
private
|
21
|
-
private
|
22
|
-
private
|
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 };
|
package/controls/FlyControls.js
CHANGED
@@ -6,12 +6,12 @@ function contextmenu(event) {
|
|
6
6
|
}
|
7
7
|
|
8
8
|
class FlyControls extends EventDispatcher {
|
9
|
-
constructor(object,
|
9
|
+
constructor(object, _domElement) {
|
10
10
|
super();
|
11
11
|
|
12
12
|
_defineProperty(this, "object", void 0);
|
13
13
|
|
14
|
-
_defineProperty(this, "domElement",
|
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, "
|
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, "
|
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, "
|
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('
|
279
|
-
this.domElement.removeEventListener('
|
280
|
-
this.domElement.removeEventListener('
|
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
|
-
|
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.
|
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
|
}
|