@galacean/engine-xr 1.3.24 → 1.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +199 -218
- package/dist/browser.js.map +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/browser.min.js.map +1 -1
- package/dist/main.js +199 -218
- package/dist/main.js.map +1 -1
- package/dist/module.js +120 -150
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/dist/miniprogram.js +0 -1632
package/dist/main.js
CHANGED
|
@@ -5,17 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var engine = require('@galacean/engine');
|
|
6
6
|
|
|
7
7
|
function _is_native_reflect_construct() {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// Since Reflect.construct can't be properly polyfilled, some
|
|
9
|
+
// implementations (e.g. core-js@2) don't set the correct internal slots.
|
|
10
|
+
// Those polyfills don't allow us to subclass built-ins, so we need to
|
|
11
|
+
// use our fallback implementation.
|
|
12
12
|
try {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} catch (
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
// If the internal slots aren't set, this throws an error similar to
|
|
14
|
+
// TypeError: this is not a Boolean object.
|
|
15
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
16
|
+
} catch (_) {}
|
|
17
|
+
return (_is_native_reflect_construct = function() {
|
|
18
|
+
return !!result;
|
|
19
|
+
})();
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
function _set_prototype_of(o, p) {
|
|
@@ -82,28 +83,28 @@ function _instanceof(left, right) {
|
|
|
82
83
|
|
|
83
84
|
/**
|
|
84
85
|
* Enumerates some input devices that can be tracked.(including status, posture and other information)
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
XRTrackedInputDevice
|
|
95
|
-
}
|
|
86
|
+
*/ var XRTrackedInputDevice = /*#__PURE__*/ function(XRTrackedInputDevice) {
|
|
87
|
+
/** Controller */ XRTrackedInputDevice[XRTrackedInputDevice["Controller"] = 0] = "Controller";
|
|
88
|
+
/** Left controller */ XRTrackedInputDevice[XRTrackedInputDevice["LeftController"] = 1] = "LeftController";
|
|
89
|
+
/** Right controller */ XRTrackedInputDevice[XRTrackedInputDevice["RightController"] = 2] = "RightController";
|
|
90
|
+
/** Camera */ XRTrackedInputDevice[XRTrackedInputDevice["Camera"] = 3] = "Camera";
|
|
91
|
+
/** Left camera */ XRTrackedInputDevice[XRTrackedInputDevice["LeftCamera"] = 4] = "LeftCamera";
|
|
92
|
+
/** Right camera */ XRTrackedInputDevice[XRTrackedInputDevice["RightCamera"] = 5] = "RightCamera";
|
|
93
|
+
/** Head */ XRTrackedInputDevice[XRTrackedInputDevice["LeftHand"] = 6] = "LeftHand";
|
|
94
|
+
/** Right hand */ XRTrackedInputDevice[XRTrackedInputDevice["RightHand"] = 7] = "RightHand";
|
|
95
|
+
return XRTrackedInputDevice;
|
|
96
|
+
}({});
|
|
96
97
|
|
|
97
98
|
/**
|
|
98
99
|
* The state of an XRSession.
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
XRSessionState
|
|
106
|
-
}
|
|
100
|
+
*/ var XRSessionState = /*#__PURE__*/ function(XRSessionState) {
|
|
101
|
+
/** Not initialized. */ XRSessionState[XRSessionState["None"] = 0] = "None";
|
|
102
|
+
/** Initializing session. */ XRSessionState[XRSessionState["Initializing"] = 1] = "Initializing";
|
|
103
|
+
/** Initialized but not started. */ XRSessionState[XRSessionState["Initialized"] = 2] = "Initialized";
|
|
104
|
+
/** Running. */ XRSessionState[XRSessionState["Running"] = 3] = "Running";
|
|
105
|
+
/** Paused. */ XRSessionState[XRSessionState["Paused"] = 4] = "Paused";
|
|
106
|
+
return XRSessionState;
|
|
107
|
+
}({});
|
|
107
108
|
|
|
108
109
|
/**
|
|
109
110
|
* The manager of XR camera.
|
|
@@ -124,15 +125,15 @@ function _instanceof(left, right) {
|
|
|
124
125
|
// @ts-ignore
|
|
125
126
|
preCamera && (preCamera._cameraType = engine.CameraType.Normal);
|
|
126
127
|
switch(type){
|
|
127
|
-
case
|
|
128
|
+
case XRTrackedInputDevice.Camera:
|
|
128
129
|
// @ts-ignore
|
|
129
130
|
camera._cameraType = engine.CameraType.XRCenterCamera;
|
|
130
131
|
break;
|
|
131
|
-
case
|
|
132
|
+
case XRTrackedInputDevice.LeftCamera:
|
|
132
133
|
// @ts-ignore
|
|
133
134
|
camera._cameraType = engine.CameraType.XRLeftCamera;
|
|
134
135
|
break;
|
|
135
|
-
case
|
|
136
|
+
case XRTrackedInputDevice.RightCamera:
|
|
136
137
|
// @ts-ignore
|
|
137
138
|
camera._cameraType = engine.CameraType.XRRightCamera;
|
|
138
139
|
break;
|
|
@@ -187,7 +188,7 @@ function _instanceof(left, right) {
|
|
|
187
188
|
* @internal
|
|
188
189
|
*/ _proto._getIgnoreClearFlags = function _getIgnoreClearFlags(cameraType) {
|
|
189
190
|
if (cameraType === engine.CameraType.XRCenterCamera) {
|
|
190
|
-
if (this._xrManager.sessionManager.state ===
|
|
191
|
+
if (this._xrManager.sessionManager.state === XRSessionState.Running) {
|
|
191
192
|
return engine.CameraClearFlags.Color;
|
|
192
193
|
} else {
|
|
193
194
|
return engine.CameraClearFlags.None;
|
|
@@ -236,28 +237,25 @@ function _instanceof(left, right) {
|
|
|
236
237
|
|
|
237
238
|
/**
|
|
238
239
|
* Enum for XR tracking state.
|
|
239
|
-
*/
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
XRTrackingState
|
|
244
|
-
}
|
|
240
|
+
*/ var XRTrackingState = /*#__PURE__*/ function(XRTrackingState) {
|
|
241
|
+
/** Not tracking */ XRTrackingState[XRTrackingState["NotTracking"] = 0] = "NotTracking";
|
|
242
|
+
/** Tracking */ XRTrackingState[XRTrackingState["Tracking"] = 1] = "Tracking";
|
|
243
|
+
/** Lost track */ XRTrackingState[XRTrackingState["TrackingLost"] = 2] = "TrackingLost";
|
|
244
|
+
return XRTrackingState;
|
|
245
|
+
}({});
|
|
245
246
|
|
|
246
247
|
var XRInput = function XRInput(type) {
|
|
247
248
|
this.type = type;
|
|
248
|
-
this./** The tracking state of xr input. */ trackingState =
|
|
249
|
+
this./** The tracking state of xr input. */ trackingState = XRTrackingState.NotTracking;
|
|
249
250
|
};
|
|
250
251
|
|
|
251
252
|
/**
|
|
252
253
|
* The XR camera.
|
|
253
|
-
*/ var XRCamera = /*#__PURE__*/ function(
|
|
254
|
-
_inherits(XRCamera,
|
|
254
|
+
*/ var XRCamera = /*#__PURE__*/ function(XRInput) {
|
|
255
|
+
_inherits(XRCamera, XRInput);
|
|
255
256
|
function XRCamera() {
|
|
256
257
|
var _this;
|
|
257
|
-
_this =
|
|
258
|
-
/** The pose of the camera in XR space. */ _this.pose = new XRPose();
|
|
259
|
-
/** The viewport of the camera. */ _this.viewport = new engine.Rect();
|
|
260
|
-
/** The projection matrix of the camera. */ _this.projectionMatrix = new engine.Matrix();
|
|
258
|
+
_this = XRInput.apply(this, arguments) || this, /** The pose of the camera in XR space. */ _this.pose = new XRPose(), /** The viewport of the camera. */ _this.viewport = new engine.Rect(), /** The projection matrix of the camera. */ _this.projectionMatrix = new engine.Matrix();
|
|
261
259
|
return _this;
|
|
262
260
|
}
|
|
263
261
|
return XRCamera;
|
|
@@ -265,29 +263,24 @@ var XRInput = function XRInput(type) {
|
|
|
265
263
|
|
|
266
264
|
/**
|
|
267
265
|
* Enum for XR input button.
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
XRInputButton
|
|
277
|
-
}
|
|
266
|
+
*/ var XRInputButton = /*#__PURE__*/ function(XRInputButton) {
|
|
267
|
+
/** None */ XRInputButton[XRInputButton["None"] = 0] = "None";
|
|
268
|
+
/** Select */ XRInputButton[XRInputButton["Select"] = 1] = "Select";
|
|
269
|
+
/** Select */ XRInputButton[XRInputButton["Trigger"] = 1] = "Trigger";
|
|
270
|
+
/** Squeeze */ XRInputButton[XRInputButton["Squeeze"] = 2] = "Squeeze";
|
|
271
|
+
/** TouchPad */ XRInputButton[XRInputButton["TouchPad"] = 4] = "TouchPad";
|
|
272
|
+
/** A */ XRInputButton[XRInputButton["AButton"] = 8] = "AButton";
|
|
273
|
+
/** B */ XRInputButton[XRInputButton["BButton"] = 16] = "BButton";
|
|
274
|
+
return XRInputButton;
|
|
275
|
+
}({});
|
|
278
276
|
|
|
279
277
|
/**
|
|
280
278
|
* The XR controller.
|
|
281
|
-
*/ var XRController = /*#__PURE__*/ function(
|
|
282
|
-
_inherits(XRController,
|
|
279
|
+
*/ var XRController = /*#__PURE__*/ function(XRInput) {
|
|
280
|
+
_inherits(XRController, XRInput);
|
|
283
281
|
function XRController() {
|
|
284
282
|
var _this;
|
|
285
|
-
_this =
|
|
286
|
-
/** The grip space pose of the controller in XR space. */ _this.gripPose = new XRPose();
|
|
287
|
-
/** The target ray space pose of the controller in XR space. */ _this.targetRayPose = new XRPose();
|
|
288
|
-
/** The currently pressed buttons of this controller. */ _this.pressedButtons = exports.XRInputButton.None;
|
|
289
|
-
/** Record button lifted. */ _this.down = exports.XRInputButton.None;
|
|
290
|
-
/** Record button pressed. */ _this.up = exports.XRInputButton.None;
|
|
283
|
+
_this = XRInput.apply(this, arguments) || this, /** The grip space pose of the controller in XR space. */ _this.gripPose = new XRPose(), /** The target ray space pose of the controller in XR space. */ _this.targetRayPose = new XRPose(), /** The currently pressed buttons of this controller. */ _this.pressedButtons = XRInputButton.None, /** Record button lifted. */ _this.down = XRInputButton.None, /** Record button pressed. */ _this.up = XRInputButton.None;
|
|
291
284
|
return _this;
|
|
292
285
|
}
|
|
293
286
|
var _proto = XRController.prototype;
|
|
@@ -316,22 +309,22 @@ var XRInput = function XRInput(type) {
|
|
|
316
309
|
return XRController;
|
|
317
310
|
}(XRInput);
|
|
318
311
|
|
|
319
|
-
|
|
320
|
-
(function(XRInputEventType) {
|
|
312
|
+
var XRInputEventType = /*#__PURE__*/ function(XRInputEventType) {
|
|
321
313
|
XRInputEventType[XRInputEventType["SelectStart"] = 0] = "SelectStart";
|
|
322
314
|
XRInputEventType[XRInputEventType["Select"] = 1] = "Select";
|
|
323
315
|
XRInputEventType[XRInputEventType["SelectEnd"] = 2] = "SelectEnd";
|
|
324
316
|
XRInputEventType[XRInputEventType["SqueezeStart"] = 3] = "SqueezeStart";
|
|
325
317
|
XRInputEventType[XRInputEventType["Squeeze"] = 4] = "Squeeze";
|
|
326
318
|
XRInputEventType[XRInputEventType["SqueezeEnd"] = 5] = "SqueezeEnd";
|
|
327
|
-
|
|
319
|
+
return XRInputEventType;
|
|
320
|
+
}({});
|
|
328
321
|
|
|
329
|
-
|
|
330
|
-
(function(XRTargetRayMode) {
|
|
322
|
+
var XRTargetRayMode = /*#__PURE__*/ function(XRTargetRayMode) {
|
|
331
323
|
XRTargetRayMode[XRTargetRayMode["Gaze"] = 0] = "Gaze";
|
|
332
324
|
XRTargetRayMode[XRTargetRayMode["TrackedPointer"] = 1] = "TrackedPointer";
|
|
333
325
|
XRTargetRayMode[XRTargetRayMode["Screen"] = 2] = "Screen";
|
|
334
|
-
|
|
326
|
+
return XRTargetRayMode;
|
|
327
|
+
}({});
|
|
335
328
|
|
|
336
329
|
/**
|
|
337
330
|
* The manager of XR input.
|
|
@@ -349,19 +342,19 @@ exports.XRTargetRayMode = void 0;
|
|
|
349
342
|
var _this = this, trackedDevices = _this._trackedDevices, controllers = _this._controllers, cameras = _this._cameras;
|
|
350
343
|
for(var i = 0; i < 6; i++){
|
|
351
344
|
switch(i){
|
|
352
|
-
case
|
|
353
|
-
case
|
|
354
|
-
case
|
|
345
|
+
case XRTrackedInputDevice.Camera:
|
|
346
|
+
case XRTrackedInputDevice.LeftCamera:
|
|
347
|
+
case XRTrackedInputDevice.RightCamera:
|
|
355
348
|
cameras.push(trackedDevices[i] = new XRCamera(i));
|
|
356
349
|
break;
|
|
357
|
-
case
|
|
358
|
-
case
|
|
359
|
-
case
|
|
350
|
+
case XRTrackedInputDevice.Controller:
|
|
351
|
+
case XRTrackedInputDevice.LeftController:
|
|
352
|
+
case XRTrackedInputDevice.RightController:
|
|
360
353
|
controllers.push(trackedDevices[i] = new XRController(i));
|
|
361
354
|
break;
|
|
362
355
|
}
|
|
363
356
|
}
|
|
364
|
-
this._statusSnapshot.fill(
|
|
357
|
+
this._statusSnapshot.fill(XRTrackingState.NotTracking, 0, trackedDevices.length);
|
|
365
358
|
}
|
|
366
359
|
var _proto = XRInputManager.prototype;
|
|
367
360
|
/**
|
|
@@ -410,12 +403,12 @@ exports.XRTargetRayMode = void 0;
|
|
|
410
403
|
var input = trackedDevices[i2];
|
|
411
404
|
if (!input) continue;
|
|
412
405
|
var nowState = input.trackingState;
|
|
413
|
-
if (statusSnapshot[i2] ===
|
|
414
|
-
if (nowState !==
|
|
406
|
+
if (statusSnapshot[i2] === XRTrackingState.Tracking) {
|
|
407
|
+
if (nowState !== XRTrackingState.Tracking) {
|
|
415
408
|
removed.push(input);
|
|
416
409
|
}
|
|
417
410
|
} else {
|
|
418
|
-
if (nowState ===
|
|
411
|
+
if (nowState === XRTrackingState.Tracking) {
|
|
419
412
|
added.push(input);
|
|
420
413
|
}
|
|
421
414
|
}
|
|
@@ -440,27 +433,27 @@ exports.XRTargetRayMode = void 0;
|
|
|
440
433
|
_proto._handleEvent = function _handleEvent(event) {
|
|
441
434
|
var input = this._trackedDevices[event.input];
|
|
442
435
|
switch(event.targetRayMode){
|
|
443
|
-
case
|
|
436
|
+
case XRTargetRayMode.TrackedPointer:
|
|
444
437
|
switch(event.type){
|
|
445
|
-
case
|
|
446
|
-
input.down |=
|
|
447
|
-
input.pressedButtons |=
|
|
438
|
+
case XRInputEventType.SelectStart:
|
|
439
|
+
input.down |= XRInputButton.Select;
|
|
440
|
+
input.pressedButtons |= XRInputButton.Select;
|
|
448
441
|
break;
|
|
449
|
-
case
|
|
450
|
-
input.up |=
|
|
451
|
-
input.pressedButtons &= ~
|
|
442
|
+
case XRInputEventType.SelectEnd:
|
|
443
|
+
input.up |= XRInputButton.Select;
|
|
444
|
+
input.pressedButtons &= ~XRInputButton.Select;
|
|
452
445
|
break;
|
|
453
|
-
case
|
|
454
|
-
input.down |=
|
|
455
|
-
input.pressedButtons |=
|
|
446
|
+
case XRInputEventType.SqueezeStart:
|
|
447
|
+
input.down |= XRInputButton.Squeeze;
|
|
448
|
+
input.pressedButtons |= XRInputButton.Squeeze;
|
|
456
449
|
break;
|
|
457
|
-
case
|
|
458
|
-
input.up |=
|
|
459
|
-
input.pressedButtons &= ~
|
|
450
|
+
case XRInputEventType.SqueezeEnd:
|
|
451
|
+
input.up |= XRInputButton.Squeeze;
|
|
452
|
+
input.pressedButtons &= ~XRInputButton.Squeeze;
|
|
460
453
|
break;
|
|
461
454
|
}
|
|
462
455
|
break;
|
|
463
|
-
case
|
|
456
|
+
case XRTargetRayMode.Screen:
|
|
464
457
|
var _this = this, engine = _this._engine;
|
|
465
458
|
// @ts-ignore
|
|
466
459
|
var target = engine.inputManager._pointerManager._target;
|
|
@@ -471,13 +464,13 @@ exports.XRTargetRayMode = void 0;
|
|
|
471
464
|
var clientY = clientHeight * (event.y + 1) * 0.5;
|
|
472
465
|
// @ts-ignore
|
|
473
466
|
switch(event.type){
|
|
474
|
-
case
|
|
467
|
+
case XRInputEventType.SelectStart:
|
|
475
468
|
target.dispatchEvent(this._makeUpPointerEvent("pointerdown", event.id, clientX, clientY));
|
|
476
469
|
break;
|
|
477
|
-
case
|
|
470
|
+
case XRInputEventType.Select:
|
|
478
471
|
target.dispatchEvent(this._makeUpPointerEvent("pointermove", event.id, clientX, clientY));
|
|
479
472
|
break;
|
|
480
|
-
case
|
|
473
|
+
case XRInputEventType.SelectEnd:
|
|
481
474
|
target.dispatchEvent(this._makeUpPointerEvent("pointerup", event.id, clientX, clientY));
|
|
482
475
|
target.dispatchEvent(this._makeUpPointerEvent("pointerleave", event.id, clientX, clientY));
|
|
483
476
|
break;
|
|
@@ -516,12 +509,12 @@ exports.XRTargetRayMode = void 0;
|
|
|
516
509
|
|
|
517
510
|
/**
|
|
518
511
|
* The type of XR session.
|
|
519
|
-
*/
|
|
520
|
-
(function(XRSessionMode) {
|
|
512
|
+
*/ var XRSessionMode = /*#__PURE__*/ function(XRSessionMode) {
|
|
521
513
|
XRSessionMode[XRSessionMode["None"] = 0] = "None";
|
|
522
514
|
XRSessionMode[XRSessionMode["AR"] = 1] = "AR";
|
|
523
515
|
XRSessionMode[XRSessionMode["VR"] = 2] = "VR";
|
|
524
|
-
|
|
516
|
+
return XRSessionMode;
|
|
517
|
+
}({});
|
|
525
518
|
|
|
526
519
|
/**
|
|
527
520
|
* XRSessionManager manages the life cycle of XR sessions.
|
|
@@ -529,8 +522,8 @@ exports.XRTargetRayMode = void 0;
|
|
|
529
522
|
function XRSessionManager(_xrManager, _engine) {
|
|
530
523
|
this._xrManager = _xrManager;
|
|
531
524
|
this._engine = _engine;
|
|
532
|
-
this._mode =
|
|
533
|
-
this._state =
|
|
525
|
+
this._mode = XRSessionMode.None;
|
|
526
|
+
this._state = XRSessionState.None;
|
|
534
527
|
this._listeners = new engine.SafeLoopArray();
|
|
535
528
|
// @ts-ignore
|
|
536
529
|
this._rhi = _engine._hardwareRenderer;
|
|
@@ -554,7 +547,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
554
547
|
throw new Error("Without session to run.");
|
|
555
548
|
}
|
|
556
549
|
platformSession.start();
|
|
557
|
-
this._setState(
|
|
550
|
+
this._setState(XRSessionState.Running);
|
|
558
551
|
this._xrManager._onSessionStart();
|
|
559
552
|
if (!engine.isPaused) {
|
|
560
553
|
engine.pause();
|
|
@@ -568,13 +561,13 @@ exports.XRTargetRayMode = void 0;
|
|
|
568
561
|
if (!platformSession) {
|
|
569
562
|
throw new Error("Without session to stop.");
|
|
570
563
|
}
|
|
571
|
-
if (this._state !==
|
|
564
|
+
if (this._state !== XRSessionState.Running) {
|
|
572
565
|
throw new Error("Session is not running.");
|
|
573
566
|
}
|
|
574
567
|
rhi._mainFrameBuffer = null;
|
|
575
568
|
rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
|
|
576
569
|
platformSession.stop();
|
|
577
|
-
this._setState(
|
|
570
|
+
this._setState(XRSessionState.Paused);
|
|
578
571
|
this._xrManager._onSessionStop();
|
|
579
572
|
if (!engine.isPaused) {
|
|
580
573
|
engine.pause();
|
|
@@ -622,7 +615,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
622
615
|
xrManager._platformDevice.requestSession(_this._rhi, mode, platformFeatures).then(function(platformSession) {
|
|
623
616
|
_this._mode = mode;
|
|
624
617
|
_this._platformSession = platformSession;
|
|
625
|
-
_this._setState(
|
|
618
|
+
_this._setState(XRSessionState.Initialized);
|
|
626
619
|
platformSession.setSessionExitCallBack(_this._onSessionExit);
|
|
627
620
|
platformSession.addEventListener();
|
|
628
621
|
xrManager._onSessionInit();
|
|
@@ -641,7 +634,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
641
634
|
/**
|
|
642
635
|
* @internal
|
|
643
636
|
*/ _proto._getRequestAnimationFrame = function _getRequestAnimationFrame() {
|
|
644
|
-
if (this._state ===
|
|
637
|
+
if (this._state === XRSessionState.Running) {
|
|
645
638
|
return this._platformSession.requestAnimationFrame;
|
|
646
639
|
} else {
|
|
647
640
|
return this._raf;
|
|
@@ -650,7 +643,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
650
643
|
/**
|
|
651
644
|
* @internal
|
|
652
645
|
*/ _proto._getCancelAnimationFrame = function _getCancelAnimationFrame() {
|
|
653
|
-
if (this._state ===
|
|
646
|
+
if (this._state === XRSessionState.Running) {
|
|
654
647
|
return this._platformSession.cancelAnimationFrame;
|
|
655
648
|
} else {
|
|
656
649
|
return this._caf;
|
|
@@ -671,7 +664,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
671
664
|
rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
|
|
672
665
|
platformSession.removeEventListener();
|
|
673
666
|
this._platformSession = null;
|
|
674
|
-
this._setState(
|
|
667
|
+
this._setState(XRSessionState.None);
|
|
675
668
|
this._xrManager._onSessionExit();
|
|
676
669
|
if (!engine.isPaused) {
|
|
677
670
|
engine.pause();
|
|
@@ -725,10 +718,10 @@ exports.XRTargetRayMode = void 0;
|
|
|
725
718
|
|
|
726
719
|
/**
|
|
727
720
|
* @internal
|
|
728
|
-
*/ var XRManagerExtended = /*#__PURE__*/ function(
|
|
729
|
-
_inherits(XRManagerExtended,
|
|
721
|
+
*/ var XRManagerExtended = /*#__PURE__*/ function(XRManager) {
|
|
722
|
+
_inherits(XRManagerExtended, XRManager);
|
|
730
723
|
function XRManagerExtended() {
|
|
731
|
-
return
|
|
724
|
+
return XRManager.apply(this, arguments) || this;
|
|
732
725
|
}
|
|
733
726
|
var _proto = XRManagerExtended.prototype;
|
|
734
727
|
_proto.isSupportedFeature = function isSupportedFeature(feature) {
|
|
@@ -748,7 +741,9 @@ exports.XRTargetRayMode = void 0;
|
|
|
748
741
|
for(var i = 0, n = features.length; i < n; i++){
|
|
749
742
|
if (_instanceof(features[i], type)) throw new Error("The feature has been added");
|
|
750
743
|
}
|
|
751
|
-
var feature = _construct(type, [].concat(
|
|
744
|
+
var feature = _construct(type, [].concat([
|
|
745
|
+
this
|
|
746
|
+
], args));
|
|
752
747
|
features.push(feature);
|
|
753
748
|
return feature;
|
|
754
749
|
};
|
|
@@ -762,8 +757,8 @@ exports.XRTargetRayMode = void 0;
|
|
|
762
757
|
}
|
|
763
758
|
};
|
|
764
759
|
_proto.enterXR = function enterXR(sessionMode, autoRun) {
|
|
765
|
-
if (autoRun === void 0) autoRun = true;
|
|
766
760
|
var _this = this;
|
|
761
|
+
if (autoRun === void 0) autoRun = true;
|
|
767
762
|
var sessionManager = this.sessionManager;
|
|
768
763
|
if (sessionManager._platformSession) {
|
|
769
764
|
throw new Error("Please exit XR immersive mode first.");
|
|
@@ -774,7 +769,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
774
769
|
return new Promise(function(resolve, reject) {
|
|
775
770
|
// 1. Check if this xr mode is supported
|
|
776
771
|
sessionManager.isSupportedMode(sessionMode).then(function() {
|
|
777
|
-
sessionManager._setState(
|
|
772
|
+
sessionManager._setState(XRSessionState.Initializing);
|
|
778
773
|
// 2. Initialize session
|
|
779
774
|
sessionManager._initialize(sessionMode, _this.features).then(function() {
|
|
780
775
|
autoRun && sessionManager.run();
|
|
@@ -800,7 +795,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
800
795
|
};
|
|
801
796
|
_proto._update = function _update() {
|
|
802
797
|
var sessionManager = this.sessionManager;
|
|
803
|
-
if (sessionManager.state !==
|
|
798
|
+
if (sessionManager.state !== XRSessionState.Running) return;
|
|
804
799
|
sessionManager._onUpdate();
|
|
805
800
|
this.inputManager._onUpdate();
|
|
806
801
|
this.cameraManager._onUpdate();
|
|
@@ -895,9 +890,7 @@ exports.XRTargetRayMode = void 0;
|
|
|
895
890
|
]);
|
|
896
891
|
return XRManagerExtended;
|
|
897
892
|
}(engine.XRManager);
|
|
898
|
-
(
|
|
899
|
-
/** @internal */ XRManagerExtended._featureMap = new Map();
|
|
900
|
-
})();
|
|
893
|
+
/** @internal */ XRManagerExtended._featureMap = new Map();
|
|
901
894
|
/**
|
|
902
895
|
* @internal
|
|
903
896
|
*/ function registerXRFeature(type) {
|
|
@@ -928,7 +921,9 @@ ApplyMixins(engine.XRManager, [
|
|
|
928
921
|
this._xrManager = _xrManager;
|
|
929
922
|
this._type = _type;
|
|
930
923
|
this._enabled = true;
|
|
931
|
-
this._platformFeature = (_xrManager__platformDevice = _xrManager._platformDevice).createPlatformFeature.apply(_xrManager__platformDevice, [].concat(
|
|
924
|
+
this._platformFeature = (_xrManager__platformDevice = _xrManager._platformDevice).createPlatformFeature.apply(_xrManager__platformDevice, [].concat([
|
|
925
|
+
_type
|
|
926
|
+
], args));
|
|
932
927
|
this._onEnable();
|
|
933
928
|
}
|
|
934
929
|
var _proto = XRFeature.prototype;
|
|
@@ -975,38 +970,31 @@ ApplyMixins(engine.XRManager, [
|
|
|
975
970
|
return XRFeature;
|
|
976
971
|
}();
|
|
977
972
|
|
|
978
|
-
|
|
979
|
-
(function(XRFeatureType) {
|
|
973
|
+
var XRFeatureType = /*#__PURE__*/ function(XRFeatureType) {
|
|
980
974
|
XRFeatureType[XRFeatureType["AnchorTracking"] = 0] = "AnchorTracking";
|
|
981
975
|
XRFeatureType[XRFeatureType["ImageTracking"] = 1] = "ImageTracking";
|
|
982
976
|
XRFeatureType[XRFeatureType["PlaneTracking"] = 2] = "PlaneTracking";
|
|
983
977
|
XRFeatureType[XRFeatureType["HitTest"] = 3] = "HitTest";
|
|
984
|
-
|
|
978
|
+
return XRFeatureType;
|
|
979
|
+
}({});
|
|
985
980
|
|
|
986
|
-
|
|
987
|
-
(function(XRRequestTrackingState) {
|
|
981
|
+
var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
988
982
|
XRRequestTrackingState[XRRequestTrackingState["None"] = 0] = "None";
|
|
989
983
|
XRRequestTrackingState[XRRequestTrackingState["Submitted"] = 1] = "Submitted";
|
|
990
984
|
XRRequestTrackingState[XRRequestTrackingState["Resolved"] = 2] = "Resolved";
|
|
991
985
|
XRRequestTrackingState[XRRequestTrackingState["Rejected"] = 3] = "Rejected";
|
|
992
986
|
XRRequestTrackingState[XRRequestTrackingState["Destroyed"] = 4] = "Destroyed";
|
|
993
987
|
XRRequestTrackingState[XRRequestTrackingState["WaitingDestroy"] = 5] = "WaitingDestroy";
|
|
994
|
-
|
|
988
|
+
return XRRequestTrackingState;
|
|
989
|
+
}({});
|
|
995
990
|
|
|
996
991
|
/**
|
|
997
992
|
* The base class of XR trackable manager.
|
|
998
|
-
*/ var XRTrackableFeature = /*#__PURE__*/ function(
|
|
999
|
-
_inherits(XRTrackableFeature,
|
|
993
|
+
*/ var XRTrackableFeature = /*#__PURE__*/ function(XRFeature) {
|
|
994
|
+
_inherits(XRTrackableFeature, XRFeature);
|
|
1000
995
|
function XRTrackableFeature() {
|
|
1001
996
|
var _this;
|
|
1002
|
-
_this =
|
|
1003
|
-
_this._requestTrackings = [];
|
|
1004
|
-
_this._tracked = [];
|
|
1005
|
-
_this._added = [];
|
|
1006
|
-
_this._updated = [];
|
|
1007
|
-
_this._removed = [];
|
|
1008
|
-
_this._statusSnapshot = {};
|
|
1009
|
-
_this._listeners = new engine.SafeLoopArray();
|
|
997
|
+
_this = XRFeature.apply(this, arguments) || this, _this._requestTrackings = [], _this._tracked = [], _this._added = [], _this._updated = [], _this._removed = [], _this._statusSnapshot = {}, _this._listeners = new engine.SafeLoopArray();
|
|
1010
998
|
return _this;
|
|
1011
999
|
}
|
|
1012
1000
|
var _proto = XRTrackableFeature.prototype;
|
|
@@ -1041,33 +1029,33 @@ exports.XRRequestTrackingState = void 0;
|
|
|
1041
1029
|
for(var i = 0, n = requestTrackings.length; i < n; i++){
|
|
1042
1030
|
var requestTracking = requestTrackings[i];
|
|
1043
1031
|
switch(requestTracking.state){
|
|
1044
|
-
case
|
|
1032
|
+
case XRRequestTrackingState.Destroyed:
|
|
1045
1033
|
var destroyedTracked = requestTracking.tracked;
|
|
1046
1034
|
for(var j = 0, n1 = destroyedTracked.length; j < n1; j++){
|
|
1047
1035
|
var tracked = destroyedTracked[j];
|
|
1048
1036
|
var trackId = tracked.id;
|
|
1049
|
-
if (statusSnapshot[trackId] ===
|
|
1037
|
+
if (statusSnapshot[trackId] === XRTrackingState.Tracking) {
|
|
1050
1038
|
removed.push(tracked);
|
|
1051
1039
|
allTracked.splice(allTracked.indexOf(tracked), 1);
|
|
1052
1040
|
}
|
|
1053
|
-
statusSnapshot[trackId] =
|
|
1041
|
+
statusSnapshot[trackId] = XRTrackingState.NotTracking;
|
|
1054
1042
|
}
|
|
1055
1043
|
break;
|
|
1056
|
-
case
|
|
1044
|
+
case XRRequestTrackingState.Resolved:
|
|
1057
1045
|
var tracked1 = requestTracking.tracked;
|
|
1058
1046
|
for(var j1 = 0, n2 = tracked1.length; j1 < n2; j1++){
|
|
1059
1047
|
var trackedObject = tracked1[j1];
|
|
1060
1048
|
var trackId1 = trackedObject.id;
|
|
1061
|
-
if (trackedObject.state ===
|
|
1062
|
-
if (statusSnapshot[trackId1] ===
|
|
1049
|
+
if (trackedObject.state === XRTrackingState.Tracking) {
|
|
1050
|
+
if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
|
|
1063
1051
|
updated.push(trackedObject);
|
|
1064
1052
|
} else {
|
|
1065
1053
|
added.push(trackedObject);
|
|
1066
|
-
statusSnapshot[trackId1] =
|
|
1054
|
+
statusSnapshot[trackId1] = XRTrackingState.Tracking;
|
|
1067
1055
|
allTracked.push(trackedObject);
|
|
1068
1056
|
}
|
|
1069
1057
|
} else {
|
|
1070
|
-
if (statusSnapshot[trackId1] ===
|
|
1058
|
+
if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
|
|
1071
1059
|
removed.push(trackedObject);
|
|
1072
1060
|
allTracked.splice(allTracked.indexOf(trackedObject), 1);
|
|
1073
1061
|
}
|
|
@@ -1078,7 +1066,7 @@ exports.XRRequestTrackingState = void 0;
|
|
|
1078
1066
|
}
|
|
1079
1067
|
}
|
|
1080
1068
|
for(var i1 = requestTrackings.length - 1; i1 >= 0; i1--){
|
|
1081
|
-
requestTrackings[i1].state ===
|
|
1069
|
+
requestTrackings[i1].state === XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
|
|
1082
1070
|
}
|
|
1083
1071
|
if (added.length > 0 || updated.length > 0 || removed.length > 0) {
|
|
1084
1072
|
var listeners = this._listeners.getLoopArray();
|
|
@@ -1101,7 +1089,7 @@ exports.XRRequestTrackingState = void 0;
|
|
|
1101
1089
|
_proto._addRequestTracking = function _addRequestTracking(requestTracking) {
|
|
1102
1090
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1103
1091
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1104
|
-
throw new Error(
|
|
1092
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1105
1093
|
}
|
|
1106
1094
|
this._requestTrackings.push(requestTracking);
|
|
1107
1095
|
platformFeature.onAddRequestTracking(requestTracking);
|
|
@@ -1109,14 +1097,14 @@ exports.XRRequestTrackingState = void 0;
|
|
|
1109
1097
|
_proto._removeRequestTracking = function _removeRequestTracking(requestTracking) {
|
|
1110
1098
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1111
1099
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1112
|
-
throw new Error(
|
|
1100
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1113
1101
|
}
|
|
1114
1102
|
platformFeature.onDelRequestTracking(requestTracking);
|
|
1115
1103
|
};
|
|
1116
1104
|
_proto._removeAllRequestTrackings = function _removeAllRequestTrackings() {
|
|
1117
1105
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1118
1106
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1119
|
-
throw new Error(
|
|
1107
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1120
1108
|
}
|
|
1121
1109
|
var _this1 = this, requestTrackings = _this1._requestTrackings;
|
|
1122
1110
|
for(var i = 0, n = requestTrackings.length; i < n; i++){
|
|
@@ -1125,25 +1113,23 @@ exports.XRRequestTrackingState = void 0;
|
|
|
1125
1113
|
};
|
|
1126
1114
|
return XRTrackableFeature;
|
|
1127
1115
|
}(XRFeature);
|
|
1128
|
-
|
|
1129
|
-
XRTrackableFeature._uuid = 0;
|
|
1130
|
-
})();
|
|
1116
|
+
XRTrackableFeature._uuid = 0;
|
|
1131
1117
|
|
|
1132
1118
|
/**
|
|
1133
1119
|
* The base class of XR tracked object.
|
|
1134
1120
|
*/ var XRTracked = function XRTracked() {
|
|
1135
1121
|
/** The pose of the trackable in XR space. */ this.pose = new XRPose();
|
|
1136
|
-
/** The tracking state of the trackable. */ this.state =
|
|
1122
|
+
/** The tracking state of the trackable. */ this.state = XRTrackingState.NotTracking;
|
|
1137
1123
|
};
|
|
1138
1124
|
|
|
1139
1125
|
/**
|
|
1140
1126
|
* Enum for the types of hit test that can be performed.
|
|
1141
1127
|
* Note: currently only supports plane.
|
|
1142
|
-
*/
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
TrackableType
|
|
1146
|
-
}
|
|
1128
|
+
*/ var TrackableType = /*#__PURE__*/ function(TrackableType) {
|
|
1129
|
+
/** Tracked plane. */ TrackableType[TrackableType["Plane"] = 1] = "Plane";
|
|
1130
|
+
/** All tracked objects. */ TrackableType[TrackableType["All"] = 1] = "All";
|
|
1131
|
+
return TrackableType;
|
|
1132
|
+
}({});
|
|
1147
1133
|
|
|
1148
1134
|
/**
|
|
1149
1135
|
* XR hit result.
|
|
@@ -1182,29 +1168,28 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
1182
1168
|
|
|
1183
1169
|
/**
|
|
1184
1170
|
* Enumerates modes of plane in XR.
|
|
1185
|
-
*/
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
XRPlaneMode
|
|
1191
|
-
}
|
|
1171
|
+
*/ var XRPlaneMode = /*#__PURE__*/ function(XRPlaneMode) {
|
|
1172
|
+
/** None. */ XRPlaneMode[XRPlaneMode["None"] = 0] = "None";
|
|
1173
|
+
/** Horizontal */ XRPlaneMode[XRPlaneMode["Horizontal"] = 1] = "Horizontal";
|
|
1174
|
+
/** Vertical */ XRPlaneMode[XRPlaneMode["Vertical"] = 2] = "Vertical";
|
|
1175
|
+
/** Includes horizontal and vertical. */ XRPlaneMode[XRPlaneMode["EveryThing"] = 3] = "EveryThing";
|
|
1176
|
+
return XRPlaneMode;
|
|
1177
|
+
}({});
|
|
1192
1178
|
|
|
1193
1179
|
/**
|
|
1194
1180
|
* @internal
|
|
1195
1181
|
*/ var XRRequestTracking = function XRRequestTracking() {
|
|
1196
|
-
/** The status of the current request tracking. */ this.state =
|
|
1182
|
+
/** The status of the current request tracking. */ this.state = XRRequestTrackingState.None;
|
|
1197
1183
|
/** Tracked instances, make up from the tracking data returned by Session. */ this.tracked = [];
|
|
1198
1184
|
};
|
|
1199
1185
|
|
|
1200
1186
|
/**
|
|
1201
1187
|
* The request plane in XR space.
|
|
1202
|
-
*/ var XRRequestPlane = /*#__PURE__*/ function(
|
|
1203
|
-
_inherits(XRRequestPlane,
|
|
1188
|
+
*/ var XRRequestPlane = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1189
|
+
_inherits(XRRequestPlane, XRRequestTracking);
|
|
1204
1190
|
function XRRequestPlane(detectionMode) {
|
|
1205
1191
|
var _this;
|
|
1206
|
-
_this =
|
|
1207
|
-
_this.detectionMode = detectionMode;
|
|
1192
|
+
_this = XRRequestTracking.call(this) || this, _this.detectionMode = detectionMode;
|
|
1208
1193
|
return _this;
|
|
1209
1194
|
}
|
|
1210
1195
|
return XRRequestPlane;
|
|
@@ -1212,16 +1197,14 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
1212
1197
|
|
|
1213
1198
|
/**
|
|
1214
1199
|
* The tracked plane in XR space.
|
|
1215
|
-
*/ var XRTrackedPlane = /*#__PURE__*/ function(
|
|
1216
|
-
_inherits(XRTrackedPlane,
|
|
1200
|
+
*/ var XRTrackedPlane = /*#__PURE__*/ function(XRTracked) {
|
|
1201
|
+
_inherits(XRTrackedPlane, XRTracked);
|
|
1217
1202
|
function XRTrackedPlane() {
|
|
1218
1203
|
var _this;
|
|
1219
|
-
_this =
|
|
1220
|
-
/** The points that make up this plane.
|
|
1204
|
+
_this = XRTracked.apply(this, arguments) || this, /** The points that make up this plane.
|
|
1221
1205
|
* Note: These points are in the plane coordinate system,
|
|
1222
1206
|
* and their Y coordinates are all zero.
|
|
1223
|
-
*/ _this.polygon = []
|
|
1224
|
-
/**
|
|
1207
|
+
*/ _this.polygon = [], /**
|
|
1225
1208
|
* Whether this frame changes the attributes of the plane.
|
|
1226
1209
|
* Note: Includes `polygon` but no `pose`.
|
|
1227
1210
|
*/ _this.attributesDirty = false;
|
|
@@ -1233,9 +1216,9 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
1233
1216
|
exports.XRPlaneTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
1234
1217
|
_inherits(XRPlaneTracking, XRTrackableFeature1);
|
|
1235
1218
|
function XRPlaneTracking(xrManager, detectionMode) {
|
|
1236
|
-
if (detectionMode === void 0) detectionMode =
|
|
1219
|
+
if (detectionMode === void 0) detectionMode = XRPlaneMode.EveryThing;
|
|
1237
1220
|
var _this;
|
|
1238
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1221
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.PlaneTracking, detectionMode) || this;
|
|
1239
1222
|
_this._addRequestTracking(new XRRequestPlane(detectionMode));
|
|
1240
1223
|
return _this;
|
|
1241
1224
|
}
|
|
@@ -1266,23 +1249,14 @@ exports.XRPlaneTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
|
1266
1249
|
return XRPlaneTracking;
|
|
1267
1250
|
}(XRTrackableFeature);
|
|
1268
1251
|
exports.XRPlaneTracking = __decorate([
|
|
1269
|
-
registerXRFeature(
|
|
1252
|
+
registerXRFeature(XRFeatureType.PlaneTracking)
|
|
1270
1253
|
], exports.XRPlaneTracking);
|
|
1271
1254
|
|
|
1272
|
-
exports.XRHitTest = /*#__PURE__*/ function(
|
|
1273
|
-
_inherits(XRHitTest,
|
|
1255
|
+
exports.XRHitTest = /*#__PURE__*/ function(XRFeature) {
|
|
1256
|
+
_inherits(XRHitTest, XRFeature);
|
|
1274
1257
|
function XRHitTest(xrManager) {
|
|
1275
1258
|
var _this;
|
|
1276
|
-
_this =
|
|
1277
|
-
_this._tempRay = new engine.Ray();
|
|
1278
|
-
_this._tempPlane = new engine.Plane();
|
|
1279
|
-
_this._tempVec2 = new engine.Vector2();
|
|
1280
|
-
_this._tempVec30 = new engine.Vector3();
|
|
1281
|
-
_this._tempVec31 = new engine.Vector3();
|
|
1282
|
-
_this._tempVec32 = new engine.Vector3();
|
|
1283
|
-
_this._tempVec33 = new engine.Vector3();
|
|
1284
|
-
_this._tempVec34 = new engine.Vector3();
|
|
1285
|
-
_this._tempVec35 = new engine.Vector3();
|
|
1259
|
+
_this = XRFeature.call(this, xrManager, XRFeatureType.HitTest) || this, _this._tempRay = new engine.Ray(), _this._tempPlane = new engine.Plane(), _this._tempVec2 = new engine.Vector2(), _this._tempVec30 = new engine.Vector3(), _this._tempVec31 = new engine.Vector3(), _this._tempVec32 = new engine.Vector3(), _this._tempVec33 = new engine.Vector3(), _this._tempVec34 = new engine.Vector3(), _this._tempVec35 = new engine.Vector3();
|
|
1286
1260
|
return _this;
|
|
1287
1261
|
}
|
|
1288
1262
|
var _proto = XRHitTest.prototype;
|
|
@@ -1293,7 +1267,7 @@ exports.XRHitTest = /*#__PURE__*/ function(XRFeature1) {
|
|
|
1293
1267
|
* @returns The hit result
|
|
1294
1268
|
*/ _proto.hitTest = function hitTest(ray, type) {
|
|
1295
1269
|
var result = [];
|
|
1296
|
-
if (type &
|
|
1270
|
+
if (type & TrackableType.Plane) {
|
|
1297
1271
|
this._hitTestPlane(ray, result);
|
|
1298
1272
|
}
|
|
1299
1273
|
return result;
|
|
@@ -1306,10 +1280,10 @@ exports.XRHitTest = /*#__PURE__*/ function(XRFeature1) {
|
|
|
1306
1280
|
* @returns The hit result
|
|
1307
1281
|
*/ _proto.screenHitTest = function screenHitTest(x, y, type) {
|
|
1308
1282
|
var _this = this, xrManager = _this._xrManager;
|
|
1309
|
-
if (xrManager.sessionManager.mode !==
|
|
1283
|
+
if (xrManager.sessionManager.mode !== XRSessionMode.AR) {
|
|
1310
1284
|
throw new Error("Only AR mode supports using screen ray hit test.");
|
|
1311
1285
|
}
|
|
1312
|
-
var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(
|
|
1286
|
+
var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(XRTrackedInputDevice.Camera), camera = _xrManager_inputManager_getTrackedDevice._camera;
|
|
1313
1287
|
if (!camera) {
|
|
1314
1288
|
throw new Error("No camera available.");
|
|
1315
1289
|
}
|
|
@@ -1339,7 +1313,7 @@ exports.XRHitTest = /*#__PURE__*/ function(XRFeature1) {
|
|
|
1339
1313
|
hitResult.normal.copyFrom(normal);
|
|
1340
1314
|
hitResult.distance = distance;
|
|
1341
1315
|
hitResult.trackedObject = trackedPlane;
|
|
1342
|
-
hitResult.trackableType =
|
|
1316
|
+
hitResult.trackableType = TrackableType.Plane;
|
|
1343
1317
|
result.push(hitResult);
|
|
1344
1318
|
}
|
|
1345
1319
|
}
|
|
@@ -1375,28 +1349,26 @@ exports.XRHitTest = /*#__PURE__*/ function(XRFeature1) {
|
|
|
1375
1349
|
return XRHitTest;
|
|
1376
1350
|
}(XRFeature);
|
|
1377
1351
|
exports.XRHitTest = __decorate([
|
|
1378
|
-
registerXRFeature(
|
|
1352
|
+
registerXRFeature(XRFeatureType.HitTest)
|
|
1379
1353
|
], exports.XRHitTest);
|
|
1380
1354
|
|
|
1381
1355
|
/**
|
|
1382
1356
|
* The anchor in XR space.
|
|
1383
|
-
*/ var XRAnchor = /*#__PURE__*/ function(
|
|
1384
|
-
_inherits(XRAnchor,
|
|
1357
|
+
*/ var XRAnchor = /*#__PURE__*/ function(XRTracked) {
|
|
1358
|
+
_inherits(XRAnchor, XRTracked);
|
|
1385
1359
|
function XRAnchor() {
|
|
1386
|
-
return
|
|
1360
|
+
return XRTracked.apply(this, arguments) || this;
|
|
1387
1361
|
}
|
|
1388
1362
|
return XRAnchor;
|
|
1389
1363
|
}(XRTracked);
|
|
1390
1364
|
|
|
1391
1365
|
/**
|
|
1392
1366
|
* The request anchor in XR space.
|
|
1393
|
-
*/ var XRRequestAnchor = /*#__PURE__*/ function(
|
|
1394
|
-
_inherits(XRRequestAnchor,
|
|
1367
|
+
*/ var XRRequestAnchor = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1368
|
+
_inherits(XRRequestAnchor, XRRequestTracking);
|
|
1395
1369
|
function XRRequestAnchor(position, rotation) {
|
|
1396
1370
|
var _this;
|
|
1397
|
-
_this =
|
|
1398
|
-
_this.position = position;
|
|
1399
|
-
_this.rotation = rotation;
|
|
1371
|
+
_this = XRRequestTracking.call(this) || this, _this.position = position, _this.rotation = rotation;
|
|
1400
1372
|
return _this;
|
|
1401
1373
|
}
|
|
1402
1374
|
return XRRequestAnchor;
|
|
@@ -1406,8 +1378,7 @@ exports.XRAnchorTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
|
1406
1378
|
_inherits(XRAnchorTracking, XRTrackableFeature1);
|
|
1407
1379
|
function XRAnchorTracking(xrManager) {
|
|
1408
1380
|
var _this;
|
|
1409
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1410
|
-
_this._anchors = [];
|
|
1381
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.AnchorTracking) || this, _this._anchors = [];
|
|
1411
1382
|
return _this;
|
|
1412
1383
|
}
|
|
1413
1384
|
var _proto = XRAnchorTracking.prototype;
|
|
@@ -1477,17 +1448,16 @@ exports.XRAnchorTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
|
1477
1448
|
return XRAnchorTracking;
|
|
1478
1449
|
}(XRTrackableFeature);
|
|
1479
1450
|
exports.XRAnchorTracking = __decorate([
|
|
1480
|
-
registerXRFeature(
|
|
1451
|
+
registerXRFeature(XRFeatureType.AnchorTracking)
|
|
1481
1452
|
], exports.XRAnchorTracking);
|
|
1482
1453
|
|
|
1483
1454
|
/**
|
|
1484
1455
|
* The request image in XR space.
|
|
1485
|
-
*/ var XRRequestImage = /*#__PURE__*/ function(
|
|
1486
|
-
_inherits(XRRequestImage,
|
|
1456
|
+
*/ var XRRequestImage = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1457
|
+
_inherits(XRRequestImage, XRRequestTracking);
|
|
1487
1458
|
function XRRequestImage(image) {
|
|
1488
1459
|
var _this;
|
|
1489
|
-
_this =
|
|
1490
|
-
_this.image = image;
|
|
1460
|
+
_this = XRRequestTracking.call(this) || this, _this.image = image;
|
|
1491
1461
|
return _this;
|
|
1492
1462
|
}
|
|
1493
1463
|
return XRRequestImage;
|
|
@@ -1495,10 +1465,10 @@ exports.XRAnchorTracking = __decorate([
|
|
|
1495
1465
|
|
|
1496
1466
|
/**
|
|
1497
1467
|
* A tracked image in XR space.
|
|
1498
|
-
*/ var XRTrackedImage = /*#__PURE__*/ function(
|
|
1499
|
-
_inherits(XRTrackedImage,
|
|
1468
|
+
*/ var XRTrackedImage = /*#__PURE__*/ function(XRTracked) {
|
|
1469
|
+
_inherits(XRTrackedImage, XRTracked);
|
|
1500
1470
|
function XRTrackedImage() {
|
|
1501
|
-
return
|
|
1471
|
+
return XRTracked.apply(this, arguments) || this;
|
|
1502
1472
|
}
|
|
1503
1473
|
return XRTrackedImage;
|
|
1504
1474
|
}(XRTracked);
|
|
@@ -1507,7 +1477,7 @@ exports.XRImageTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
|
1507
1477
|
_inherits(XRImageTracking, XRTrackableFeature1);
|
|
1508
1478
|
function XRImageTracking(xrManager, trackingImages) {
|
|
1509
1479
|
var _this;
|
|
1510
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1480
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.ImageTracking, trackingImages) || this;
|
|
1511
1481
|
_this._trackingImages = trackingImages;
|
|
1512
1482
|
var imageLength = trackingImages ? trackingImages.length : 0;
|
|
1513
1483
|
if (imageLength > 0) {
|
|
@@ -1546,7 +1516,7 @@ exports.XRImageTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
|
1546
1516
|
return XRImageTracking;
|
|
1547
1517
|
}(XRTrackableFeature);
|
|
1548
1518
|
exports.XRImageTracking = __decorate([
|
|
1549
|
-
registerXRFeature(
|
|
1519
|
+
registerXRFeature(XRFeatureType.ImageTracking)
|
|
1550
1520
|
], exports.XRImageTracking);
|
|
1551
1521
|
|
|
1552
1522
|
/**
|
|
@@ -1591,10 +1561,10 @@ function _extends() {
|
|
|
1591
1561
|
return _extends.apply(this, arguments);
|
|
1592
1562
|
}
|
|
1593
1563
|
|
|
1594
|
-
exports.XRReferenceImageLoader = /*#__PURE__*/ function(
|
|
1595
|
-
_inherits(XRReferenceImageLoader,
|
|
1564
|
+
exports.XRReferenceImageLoader = /*#__PURE__*/ function(Loader) {
|
|
1565
|
+
_inherits(XRReferenceImageLoader, Loader);
|
|
1596
1566
|
function XRReferenceImageLoader() {
|
|
1597
|
-
return
|
|
1567
|
+
return Loader.apply(this, arguments) || this;
|
|
1598
1568
|
}
|
|
1599
1569
|
var _proto = XRReferenceImageLoader.prototype;
|
|
1600
1570
|
_proto.load = function load(item, resourceManager) {
|
|
@@ -1615,18 +1585,29 @@ exports.XRReferenceImageLoader = __decorate([
|
|
|
1615
1585
|
engine.resourceLoader("XRReferenceImage", [])
|
|
1616
1586
|
], exports.XRReferenceImageLoader);
|
|
1617
1587
|
|
|
1588
|
+
exports.TrackableType = TrackableType;
|
|
1618
1589
|
exports.XRAnchor = XRAnchor;
|
|
1619
1590
|
exports.XRCamera = XRCamera;
|
|
1620
1591
|
exports.XRCameraManager = XRCameraManager;
|
|
1621
1592
|
exports.XRController = XRController;
|
|
1622
1593
|
exports.XRFeature = XRFeature;
|
|
1594
|
+
exports.XRFeatureType = XRFeatureType;
|
|
1623
1595
|
exports.XRHitResult = XRHitResult;
|
|
1596
|
+
exports.XRInputButton = XRInputButton;
|
|
1597
|
+
exports.XRInputEventType = XRInputEventType;
|
|
1624
1598
|
exports.XRInputManager = XRInputManager;
|
|
1599
|
+
exports.XRPlaneMode = XRPlaneMode;
|
|
1625
1600
|
exports.XRPose = XRPose;
|
|
1626
1601
|
exports.XRReferenceImage = XRReferenceImage;
|
|
1602
|
+
exports.XRRequestTrackingState = XRRequestTrackingState;
|
|
1627
1603
|
exports.XRSessionManager = XRSessionManager;
|
|
1604
|
+
exports.XRSessionMode = XRSessionMode;
|
|
1605
|
+
exports.XRSessionState = XRSessionState;
|
|
1606
|
+
exports.XRTargetRayMode = XRTargetRayMode;
|
|
1628
1607
|
exports.XRTrackableFeature = XRTrackableFeature;
|
|
1629
1608
|
exports.XRTracked = XRTracked;
|
|
1630
1609
|
exports.XRTrackedImage = XRTrackedImage;
|
|
1610
|
+
exports.XRTrackedInputDevice = XRTrackedInputDevice;
|
|
1631
1611
|
exports.XRTrackedPlane = XRTrackedPlane;
|
|
1612
|
+
exports.XRTrackingState = XRTrackingState;
|
|
1632
1613
|
//# sourceMappingURL=main.js.map
|