@galacean/engine-xr 0.0.0-experimental-1.3-xr.9 → 0.0.0-experimental-1.4-small-language.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 +227 -238
- 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 +227 -238
- package/dist/main.js.map +1 -1
- package/dist/module.js +148 -170
- package/dist/module.js.map +1 -1
- package/package.json +7 -4
- package/types/XRManagerExtended.d.ts +1 -1
- package/types/loader/XRReferenceImageDecoder.d.ts +2 -2
- package/dist/miniprogram.js +0 -1624
- package/types/component/TrackedComponent.d.ts +0 -10
- package/types/component/XRHitTestObjectManager.d.ts +0 -0
- package/types/component/XRTrackedComponent.d.ts +0 -16
- package/types/component/XRTrackedObjectManager.d.ts +0 -27
- package/types/loader/IXRScene.d.ts +0 -40
- package/types/loader/XRCustomParser.d.ts +0 -9
- package/types/loader/XRSceneCustomParser.d.ts +0 -4
- package/types/loader/XRSceneExtendParser.d.ts +0 -4
- package/types/loader/XRSceneSchema.d.ts +0 -37
package/dist/browser.js
CHANGED
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
})(this, (function (exports, engine) { 'use strict';
|
|
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 @@
|
|
|
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 @@
|
|
|
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;
|
|
@@ -185,9 +186,9 @@
|
|
|
185
186
|
*/ _proto._onSessionExit = function _onSessionExit() {};
|
|
186
187
|
/**
|
|
187
188
|
* @internal
|
|
188
|
-
*/ _proto.
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
@@ -345,23 +338,23 @@
|
|
|
345
338
|
this._removed = [];
|
|
346
339
|
this._trackedDevices = [];
|
|
347
340
|
this._statusSnapshot = [];
|
|
348
|
-
this._listeners =
|
|
341
|
+
this._listeners = new engine.SafeLoopArray();
|
|
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
|
/**
|
|
@@ -375,22 +368,22 @@
|
|
|
375
368
|
* Add a listener for tracked device changes.
|
|
376
369
|
* @param listener - The listener to add
|
|
377
370
|
*/ _proto.addTrackedDeviceChangedListener = function addTrackedDeviceChangedListener(listener) {
|
|
378
|
-
this._listeners.push(
|
|
371
|
+
this._listeners.push({
|
|
372
|
+
fn: listener
|
|
373
|
+
});
|
|
379
374
|
};
|
|
380
375
|
/**
|
|
381
376
|
* Remove a listener of tracked device changes.
|
|
382
377
|
* @param listener - The listener to remove
|
|
383
378
|
*/ _proto.removeTrackedDeviceChangedListener = function removeTrackedDeviceChangedListener(listener) {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
listeners.splice(index, 1);
|
|
388
|
-
}
|
|
379
|
+
this._listeners.findAndRemove(function(value) {
|
|
380
|
+
return value.fn === listener ? value.destroyed = true : false;
|
|
381
|
+
});
|
|
389
382
|
};
|
|
390
383
|
/**
|
|
391
384
|
* @internal
|
|
392
385
|
*/ _proto._onUpdate = function _onUpdate() {
|
|
393
|
-
var _this = this, added = _this._added, removed = _this._removed,
|
|
386
|
+
var _this = this, added = _this._added, removed = _this._removed, statusSnapshot = _this._statusSnapshot;
|
|
394
387
|
var _this1 = this, trackedDevices = _this1._trackedDevices, controllers = _this1._controllers;
|
|
395
388
|
// Reset data
|
|
396
389
|
added.length = removed.length = 0;
|
|
@@ -410,12 +403,12 @@
|
|
|
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
|
}
|
|
@@ -423,40 +416,44 @@
|
|
|
423
416
|
}
|
|
424
417
|
// Dispatch change event
|
|
425
418
|
if (added.length > 0 || removed.length > 0) {
|
|
419
|
+
var listeners = this._listeners.getLoopArray();
|
|
426
420
|
for(var i3 = 0, n3 = listeners.length; i3 < n3; i3++){
|
|
427
|
-
listeners[i3]
|
|
421
|
+
var listener = listeners[i3];
|
|
422
|
+
!listener.destroyed && listener.fn(added, removed);
|
|
428
423
|
}
|
|
429
424
|
}
|
|
430
425
|
};
|
|
431
426
|
/**
|
|
432
427
|
* @internal
|
|
433
428
|
*/ _proto._onDestroy = function _onDestroy() {
|
|
434
|
-
this._listeners.
|
|
429
|
+
this._listeners.findAndRemove(function(value) {
|
|
430
|
+
return value.destroyed = true;
|
|
431
|
+
});
|
|
435
432
|
};
|
|
436
433
|
_proto._handleEvent = function _handleEvent(event) {
|
|
437
434
|
var input = this._trackedDevices[event.input];
|
|
438
435
|
switch(event.targetRayMode){
|
|
439
|
-
case
|
|
436
|
+
case XRTargetRayMode.TrackedPointer:
|
|
440
437
|
switch(event.type){
|
|
441
|
-
case
|
|
442
|
-
input.down |=
|
|
443
|
-
input.pressedButtons |=
|
|
438
|
+
case XRInputEventType.SelectStart:
|
|
439
|
+
input.down |= XRInputButton.Select;
|
|
440
|
+
input.pressedButtons |= XRInputButton.Select;
|
|
444
441
|
break;
|
|
445
|
-
case
|
|
446
|
-
input.up |=
|
|
447
|
-
input.pressedButtons &= ~
|
|
442
|
+
case XRInputEventType.SelectEnd:
|
|
443
|
+
input.up |= XRInputButton.Select;
|
|
444
|
+
input.pressedButtons &= ~XRInputButton.Select;
|
|
448
445
|
break;
|
|
449
|
-
case
|
|
450
|
-
input.down |=
|
|
451
|
-
input.pressedButtons |=
|
|
446
|
+
case XRInputEventType.SqueezeStart:
|
|
447
|
+
input.down |= XRInputButton.Squeeze;
|
|
448
|
+
input.pressedButtons |= XRInputButton.Squeeze;
|
|
452
449
|
break;
|
|
453
|
-
case
|
|
454
|
-
input.up |=
|
|
455
|
-
input.pressedButtons &= ~
|
|
450
|
+
case XRInputEventType.SqueezeEnd:
|
|
451
|
+
input.up |= XRInputButton.Squeeze;
|
|
452
|
+
input.pressedButtons &= ~XRInputButton.Squeeze;
|
|
456
453
|
break;
|
|
457
454
|
}
|
|
458
455
|
break;
|
|
459
|
-
case
|
|
456
|
+
case XRTargetRayMode.Screen:
|
|
460
457
|
var _this = this, engine = _this._engine;
|
|
461
458
|
// @ts-ignore
|
|
462
459
|
var target = engine.inputManager._pointerManager._target;
|
|
@@ -467,13 +464,13 @@
|
|
|
467
464
|
var clientY = clientHeight * (event.y + 1) * 0.5;
|
|
468
465
|
// @ts-ignore
|
|
469
466
|
switch(event.type){
|
|
470
|
-
case
|
|
467
|
+
case XRInputEventType.SelectStart:
|
|
471
468
|
target.dispatchEvent(this._makeUpPointerEvent("pointerdown", event.id, clientX, clientY));
|
|
472
469
|
break;
|
|
473
|
-
case
|
|
470
|
+
case XRInputEventType.Select:
|
|
474
471
|
target.dispatchEvent(this._makeUpPointerEvent("pointermove", event.id, clientX, clientY));
|
|
475
472
|
break;
|
|
476
|
-
case
|
|
473
|
+
case XRInputEventType.SelectEnd:
|
|
477
474
|
target.dispatchEvent(this._makeUpPointerEvent("pointerup", event.id, clientX, clientY));
|
|
478
475
|
target.dispatchEvent(this._makeUpPointerEvent("pointerleave", event.id, clientX, clientY));
|
|
479
476
|
break;
|
|
@@ -512,12 +509,12 @@
|
|
|
512
509
|
|
|
513
510
|
/**
|
|
514
511
|
* The type of XR session.
|
|
515
|
-
*/
|
|
516
|
-
(function(XRSessionMode) {
|
|
512
|
+
*/ var XRSessionMode = /*#__PURE__*/ function(XRSessionMode) {
|
|
517
513
|
XRSessionMode[XRSessionMode["None"] = 0] = "None";
|
|
518
514
|
XRSessionMode[XRSessionMode["AR"] = 1] = "AR";
|
|
519
515
|
XRSessionMode[XRSessionMode["VR"] = 2] = "VR";
|
|
520
|
-
|
|
516
|
+
return XRSessionMode;
|
|
517
|
+
}({});
|
|
521
518
|
|
|
522
519
|
/**
|
|
523
520
|
* XRSessionManager manages the life cycle of XR sessions.
|
|
@@ -525,8 +522,8 @@
|
|
|
525
522
|
function XRSessionManager(_xrManager, _engine) {
|
|
526
523
|
this._xrManager = _xrManager;
|
|
527
524
|
this._engine = _engine;
|
|
528
|
-
this._mode =
|
|
529
|
-
this._state =
|
|
525
|
+
this._mode = XRSessionMode.None;
|
|
526
|
+
this._state = XRSessionState.None;
|
|
530
527
|
this._listeners = new engine.SafeLoopArray();
|
|
531
528
|
// @ts-ignore
|
|
532
529
|
this._rhi = _engine._hardwareRenderer;
|
|
@@ -550,7 +547,7 @@
|
|
|
550
547
|
throw new Error("Without session to run.");
|
|
551
548
|
}
|
|
552
549
|
platformSession.start();
|
|
553
|
-
this._setState(
|
|
550
|
+
this._setState(XRSessionState.Running);
|
|
554
551
|
this._xrManager._onSessionStart();
|
|
555
552
|
if (!engine.isPaused) {
|
|
556
553
|
engine.pause();
|
|
@@ -564,13 +561,13 @@
|
|
|
564
561
|
if (!platformSession) {
|
|
565
562
|
throw new Error("Without session to stop.");
|
|
566
563
|
}
|
|
567
|
-
if (this._state !==
|
|
564
|
+
if (this._state !== XRSessionState.Running) {
|
|
568
565
|
throw new Error("Session is not running.");
|
|
569
566
|
}
|
|
570
567
|
rhi._mainFrameBuffer = null;
|
|
571
568
|
rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
|
|
572
569
|
platformSession.stop();
|
|
573
|
-
this._setState(
|
|
570
|
+
this._setState(XRSessionState.Paused);
|
|
574
571
|
this._xrManager._onSessionStop();
|
|
575
572
|
if (!engine.isPaused) {
|
|
576
573
|
engine.pause();
|
|
@@ -618,7 +615,7 @@
|
|
|
618
615
|
xrManager._platformDevice.requestSession(_this._rhi, mode, platformFeatures).then(function(platformSession) {
|
|
619
616
|
_this._mode = mode;
|
|
620
617
|
_this._platformSession = platformSession;
|
|
621
|
-
_this._setState(
|
|
618
|
+
_this._setState(XRSessionState.Initialized);
|
|
622
619
|
platformSession.setSessionExitCallBack(_this._onSessionExit);
|
|
623
620
|
platformSession.addEventListener();
|
|
624
621
|
xrManager._onSessionInit();
|
|
@@ -637,7 +634,7 @@
|
|
|
637
634
|
/**
|
|
638
635
|
* @internal
|
|
639
636
|
*/ _proto._getRequestAnimationFrame = function _getRequestAnimationFrame() {
|
|
640
|
-
if (this._state ===
|
|
637
|
+
if (this._state === XRSessionState.Running) {
|
|
641
638
|
return this._platformSession.requestAnimationFrame;
|
|
642
639
|
} else {
|
|
643
640
|
return this._raf;
|
|
@@ -646,7 +643,7 @@
|
|
|
646
643
|
/**
|
|
647
644
|
* @internal
|
|
648
645
|
*/ _proto._getCancelAnimationFrame = function _getCancelAnimationFrame() {
|
|
649
|
-
if (this._state ===
|
|
646
|
+
if (this._state === XRSessionState.Running) {
|
|
650
647
|
return this._platformSession.cancelAnimationFrame;
|
|
651
648
|
} else {
|
|
652
649
|
return this._caf;
|
|
@@ -667,7 +664,7 @@
|
|
|
667
664
|
rhi._mainFrameWidth = rhi._mainFrameHeight = 0;
|
|
668
665
|
platformSession.removeEventListener();
|
|
669
666
|
this._platformSession = null;
|
|
670
|
-
this._setState(
|
|
667
|
+
this._setState(XRSessionState.None);
|
|
671
668
|
this._xrManager._onSessionExit();
|
|
672
669
|
if (!engine.isPaused) {
|
|
673
670
|
engine.pause();
|
|
@@ -721,13 +718,10 @@
|
|
|
721
718
|
|
|
722
719
|
/**
|
|
723
720
|
* @internal
|
|
724
|
-
*/ var XRManagerExtended = /*#__PURE__*/ function(
|
|
725
|
-
_inherits(XRManagerExtended,
|
|
721
|
+
*/ var XRManagerExtended = /*#__PURE__*/ function(XRManager) {
|
|
722
|
+
_inherits(XRManagerExtended, XRManager);
|
|
726
723
|
function XRManagerExtended() {
|
|
727
|
-
|
|
728
|
-
_this = XRManager1.apply(this, arguments) || this;
|
|
729
|
-
_this.features = [];
|
|
730
|
-
return _this;
|
|
724
|
+
return XRManager.apply(this, arguments) || this;
|
|
731
725
|
}
|
|
732
726
|
var _proto = XRManagerExtended.prototype;
|
|
733
727
|
_proto.isSupportedFeature = function isSupportedFeature(feature) {
|
|
@@ -747,7 +741,9 @@
|
|
|
747
741
|
for(var i = 0, n = features.length; i < n; i++){
|
|
748
742
|
if (_instanceof(features[i], type)) throw new Error("The feature has been added");
|
|
749
743
|
}
|
|
750
|
-
var feature = _construct(type, [].concat(
|
|
744
|
+
var feature = _construct(type, [].concat([
|
|
745
|
+
this
|
|
746
|
+
], args));
|
|
751
747
|
features.push(feature);
|
|
752
748
|
return feature;
|
|
753
749
|
};
|
|
@@ -761,8 +757,8 @@
|
|
|
761
757
|
}
|
|
762
758
|
};
|
|
763
759
|
_proto.enterXR = function enterXR(sessionMode, autoRun) {
|
|
764
|
-
if (autoRun === void 0) autoRun = true;
|
|
765
760
|
var _this = this;
|
|
761
|
+
if (autoRun === void 0) autoRun = true;
|
|
766
762
|
var sessionManager = this.sessionManager;
|
|
767
763
|
if (sessionManager._platformSession) {
|
|
768
764
|
throw new Error("Please exit XR immersive mode first.");
|
|
@@ -773,7 +769,7 @@
|
|
|
773
769
|
return new Promise(function(resolve, reject) {
|
|
774
770
|
// 1. Check if this xr mode is supported
|
|
775
771
|
sessionManager.isSupportedMode(sessionMode).then(function() {
|
|
776
|
-
sessionManager._setState(
|
|
772
|
+
sessionManager._setState(XRSessionState.Initializing);
|
|
777
773
|
// 2. Initialize session
|
|
778
774
|
sessionManager._initialize(sessionMode, _this.features).then(function() {
|
|
779
775
|
autoRun && sessionManager.run();
|
|
@@ -791,6 +787,7 @@
|
|
|
791
787
|
});
|
|
792
788
|
};
|
|
793
789
|
_proto._initialize = function _initialize(engine, xrDevice) {
|
|
790
|
+
this._features = [];
|
|
794
791
|
this._platformDevice = xrDevice;
|
|
795
792
|
this.sessionManager = new XRSessionManager(this, engine);
|
|
796
793
|
this.inputManager = new XRInputManager(this, engine);
|
|
@@ -798,7 +795,7 @@
|
|
|
798
795
|
};
|
|
799
796
|
_proto._update = function _update() {
|
|
800
797
|
var sessionManager = this.sessionManager;
|
|
801
|
-
if (sessionManager.state !==
|
|
798
|
+
if (sessionManager.state !== XRSessionState.Running) return;
|
|
802
799
|
sessionManager._onUpdate();
|
|
803
800
|
this.inputManager._onUpdate();
|
|
804
801
|
this.cameraManager._onUpdate();
|
|
@@ -828,8 +825,8 @@
|
|
|
828
825
|
_proto._getCancelAnimationFrame = function _getCancelAnimationFrame() {
|
|
829
826
|
return this.sessionManager._getCancelAnimationFrame();
|
|
830
827
|
};
|
|
831
|
-
_proto.
|
|
832
|
-
return this.cameraManager.
|
|
828
|
+
_proto._getCameraIgnoreClearFlags = function _getCameraIgnoreClearFlags(type) {
|
|
829
|
+
return this.cameraManager._getIgnoreClearFlags(type);
|
|
833
830
|
};
|
|
834
831
|
/**
|
|
835
832
|
* @internal
|
|
@@ -872,6 +869,12 @@
|
|
|
872
869
|
features.length = 0;
|
|
873
870
|
};
|
|
874
871
|
_create_class(XRManagerExtended, [
|
|
872
|
+
{
|
|
873
|
+
key: "features",
|
|
874
|
+
get: function get() {
|
|
875
|
+
return this._features;
|
|
876
|
+
}
|
|
877
|
+
},
|
|
875
878
|
{
|
|
876
879
|
key: "origin",
|
|
877
880
|
get: function get() {
|
|
@@ -887,9 +890,7 @@
|
|
|
887
890
|
]);
|
|
888
891
|
return XRManagerExtended;
|
|
889
892
|
}(engine.XRManager);
|
|
890
|
-
(
|
|
891
|
-
/** @internal */ XRManagerExtended._featureMap = new Map();
|
|
892
|
-
})();
|
|
893
|
+
/** @internal */ XRManagerExtended._featureMap = new Map();
|
|
893
894
|
/**
|
|
894
895
|
* @internal
|
|
895
896
|
*/ function registerXRFeature(type) {
|
|
@@ -920,7 +921,9 @@
|
|
|
920
921
|
this._xrManager = _xrManager;
|
|
921
922
|
this._type = _type;
|
|
922
923
|
this._enabled = true;
|
|
923
|
-
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));
|
|
924
927
|
this._onEnable();
|
|
925
928
|
}
|
|
926
929
|
var _proto = XRFeature.prototype;
|
|
@@ -967,38 +970,31 @@
|
|
|
967
970
|
return XRFeature;
|
|
968
971
|
}();
|
|
969
972
|
|
|
970
|
-
|
|
971
|
-
(function(XRFeatureType) {
|
|
973
|
+
var XRFeatureType = /*#__PURE__*/ function(XRFeatureType) {
|
|
972
974
|
XRFeatureType[XRFeatureType["AnchorTracking"] = 0] = "AnchorTracking";
|
|
973
975
|
XRFeatureType[XRFeatureType["ImageTracking"] = 1] = "ImageTracking";
|
|
974
976
|
XRFeatureType[XRFeatureType["PlaneTracking"] = 2] = "PlaneTracking";
|
|
975
977
|
XRFeatureType[XRFeatureType["HitTest"] = 3] = "HitTest";
|
|
976
|
-
|
|
978
|
+
return XRFeatureType;
|
|
979
|
+
}({});
|
|
977
980
|
|
|
978
|
-
|
|
979
|
-
(function(XRRequestTrackingState) {
|
|
981
|
+
var XRRequestTrackingState = /*#__PURE__*/ function(XRRequestTrackingState) {
|
|
980
982
|
XRRequestTrackingState[XRRequestTrackingState["None"] = 0] = "None";
|
|
981
983
|
XRRequestTrackingState[XRRequestTrackingState["Submitted"] = 1] = "Submitted";
|
|
982
984
|
XRRequestTrackingState[XRRequestTrackingState["Resolved"] = 2] = "Resolved";
|
|
983
985
|
XRRequestTrackingState[XRRequestTrackingState["Rejected"] = 3] = "Rejected";
|
|
984
986
|
XRRequestTrackingState[XRRequestTrackingState["Destroyed"] = 4] = "Destroyed";
|
|
985
987
|
XRRequestTrackingState[XRRequestTrackingState["WaitingDestroy"] = 5] = "WaitingDestroy";
|
|
986
|
-
|
|
988
|
+
return XRRequestTrackingState;
|
|
989
|
+
}({});
|
|
987
990
|
|
|
988
991
|
/**
|
|
989
992
|
* The base class of XR trackable manager.
|
|
990
|
-
*/ var XRTrackableFeature = /*#__PURE__*/ function(
|
|
991
|
-
_inherits(XRTrackableFeature,
|
|
993
|
+
*/ var XRTrackableFeature = /*#__PURE__*/ function(XRFeature) {
|
|
994
|
+
_inherits(XRTrackableFeature, XRFeature);
|
|
992
995
|
function XRTrackableFeature() {
|
|
993
996
|
var _this;
|
|
994
|
-
_this =
|
|
995
|
-
_this._requestTrackings = [];
|
|
996
|
-
_this._tracked = [];
|
|
997
|
-
_this._added = [];
|
|
998
|
-
_this._updated = [];
|
|
999
|
-
_this._removed = [];
|
|
1000
|
-
_this._statusSnapshot = {};
|
|
1001
|
-
_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();
|
|
1002
998
|
return _this;
|
|
1003
999
|
}
|
|
1004
1000
|
var _proto = XRTrackableFeature.prototype;
|
|
@@ -1033,33 +1029,33 @@
|
|
|
1033
1029
|
for(var i = 0, n = requestTrackings.length; i < n; i++){
|
|
1034
1030
|
var requestTracking = requestTrackings[i];
|
|
1035
1031
|
switch(requestTracking.state){
|
|
1036
|
-
case
|
|
1032
|
+
case XRRequestTrackingState.Destroyed:
|
|
1037
1033
|
var destroyedTracked = requestTracking.tracked;
|
|
1038
1034
|
for(var j = 0, n1 = destroyedTracked.length; j < n1; j++){
|
|
1039
1035
|
var tracked = destroyedTracked[j];
|
|
1040
1036
|
var trackId = tracked.id;
|
|
1041
|
-
if (statusSnapshot[trackId] ===
|
|
1037
|
+
if (statusSnapshot[trackId] === XRTrackingState.Tracking) {
|
|
1042
1038
|
removed.push(tracked);
|
|
1043
1039
|
allTracked.splice(allTracked.indexOf(tracked), 1);
|
|
1044
1040
|
}
|
|
1045
|
-
statusSnapshot[trackId] =
|
|
1041
|
+
statusSnapshot[trackId] = XRTrackingState.NotTracking;
|
|
1046
1042
|
}
|
|
1047
1043
|
break;
|
|
1048
|
-
case
|
|
1044
|
+
case XRRequestTrackingState.Resolved:
|
|
1049
1045
|
var tracked1 = requestTracking.tracked;
|
|
1050
1046
|
for(var j1 = 0, n2 = tracked1.length; j1 < n2; j1++){
|
|
1051
1047
|
var trackedObject = tracked1[j1];
|
|
1052
1048
|
var trackId1 = trackedObject.id;
|
|
1053
|
-
if (trackedObject.state ===
|
|
1054
|
-
if (statusSnapshot[trackId1] ===
|
|
1049
|
+
if (trackedObject.state === XRTrackingState.Tracking) {
|
|
1050
|
+
if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
|
|
1055
1051
|
updated.push(trackedObject);
|
|
1056
1052
|
} else {
|
|
1057
1053
|
added.push(trackedObject);
|
|
1058
|
-
statusSnapshot[trackId1] =
|
|
1054
|
+
statusSnapshot[trackId1] = XRTrackingState.Tracking;
|
|
1059
1055
|
allTracked.push(trackedObject);
|
|
1060
1056
|
}
|
|
1061
1057
|
} else {
|
|
1062
|
-
if (statusSnapshot[trackId1] ===
|
|
1058
|
+
if (statusSnapshot[trackId1] === XRTrackingState.Tracking) {
|
|
1063
1059
|
removed.push(trackedObject);
|
|
1064
1060
|
allTracked.splice(allTracked.indexOf(trackedObject), 1);
|
|
1065
1061
|
}
|
|
@@ -1070,7 +1066,7 @@
|
|
|
1070
1066
|
}
|
|
1071
1067
|
}
|
|
1072
1068
|
for(var i1 = requestTrackings.length - 1; i1 >= 0; i1--){
|
|
1073
|
-
requestTrackings[i1].state ===
|
|
1069
|
+
requestTrackings[i1].state === XRRequestTrackingState.Destroyed && requestTrackings.splice(i1, 1);
|
|
1074
1070
|
}
|
|
1075
1071
|
if (added.length > 0 || updated.length > 0 || removed.length > 0) {
|
|
1076
1072
|
var listeners = this._listeners.getLoopArray();
|
|
@@ -1093,7 +1089,7 @@
|
|
|
1093
1089
|
_proto._addRequestTracking = function _addRequestTracking(requestTracking) {
|
|
1094
1090
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1095
1091
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1096
|
-
throw new Error(
|
|
1092
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1097
1093
|
}
|
|
1098
1094
|
this._requestTrackings.push(requestTracking);
|
|
1099
1095
|
platformFeature.onAddRequestTracking(requestTracking);
|
|
@@ -1101,14 +1097,14 @@
|
|
|
1101
1097
|
_proto._removeRequestTracking = function _removeRequestTracking(requestTracking) {
|
|
1102
1098
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1103
1099
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1104
|
-
throw new Error(
|
|
1100
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1105
1101
|
}
|
|
1106
1102
|
platformFeature.onDelRequestTracking(requestTracking);
|
|
1107
1103
|
};
|
|
1108
1104
|
_proto._removeAllRequestTrackings = function _removeAllRequestTrackings() {
|
|
1109
1105
|
var _this = this, platformFeature = _this._platformFeature;
|
|
1110
1106
|
if (this._xrManager.sessionManager._platformSession && !platformFeature.canModifyRequestTrackingAfterInit) {
|
|
1111
|
-
throw new Error(
|
|
1107
|
+
throw new Error(XRFeatureType[this._type] + " request tracking cannot be modified after initialization.");
|
|
1112
1108
|
}
|
|
1113
1109
|
var _this1 = this, requestTrackings = _this1._requestTrackings;
|
|
1114
1110
|
for(var i = 0, n = requestTrackings.length; i < n; i++){
|
|
@@ -1117,25 +1113,23 @@
|
|
|
1117
1113
|
};
|
|
1118
1114
|
return XRTrackableFeature;
|
|
1119
1115
|
}(XRFeature);
|
|
1120
|
-
|
|
1121
|
-
XRTrackableFeature._uuid = 0;
|
|
1122
|
-
})();
|
|
1116
|
+
XRTrackableFeature._uuid = 0;
|
|
1123
1117
|
|
|
1124
1118
|
/**
|
|
1125
1119
|
* The base class of XR tracked object.
|
|
1126
1120
|
*/ var XRTracked = function XRTracked() {
|
|
1127
1121
|
/** The pose of the trackable in XR space. */ this.pose = new XRPose();
|
|
1128
|
-
/** The tracking state of the trackable. */ this.state =
|
|
1122
|
+
/** The tracking state of the trackable. */ this.state = XRTrackingState.NotTracking;
|
|
1129
1123
|
};
|
|
1130
1124
|
|
|
1131
1125
|
/**
|
|
1132
1126
|
* Enum for the types of hit test that can be performed.
|
|
1133
1127
|
* Note: currently only supports plane.
|
|
1134
|
-
*/
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
TrackableType
|
|
1138
|
-
}
|
|
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
|
+
}({});
|
|
1139
1133
|
|
|
1140
1134
|
/**
|
|
1141
1135
|
* XR hit result.
|
|
@@ -1174,29 +1168,28 @@
|
|
|
1174
1168
|
|
|
1175
1169
|
/**
|
|
1176
1170
|
* Enumerates modes of plane in XR.
|
|
1177
|
-
*/
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
XRPlaneMode
|
|
1183
|
-
}
|
|
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
|
+
}({});
|
|
1184
1178
|
|
|
1185
1179
|
/**
|
|
1186
1180
|
* @internal
|
|
1187
1181
|
*/ var XRRequestTracking = function XRRequestTracking() {
|
|
1188
|
-
/** The status of the current request tracking. */ this.state =
|
|
1182
|
+
/** The status of the current request tracking. */ this.state = XRRequestTrackingState.None;
|
|
1189
1183
|
/** Tracked instances, make up from the tracking data returned by Session. */ this.tracked = [];
|
|
1190
1184
|
};
|
|
1191
1185
|
|
|
1192
1186
|
/**
|
|
1193
1187
|
* The request plane in XR space.
|
|
1194
|
-
*/ var XRRequestPlane = /*#__PURE__*/ function(
|
|
1195
|
-
_inherits(XRRequestPlane,
|
|
1188
|
+
*/ var XRRequestPlane = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1189
|
+
_inherits(XRRequestPlane, XRRequestTracking);
|
|
1196
1190
|
function XRRequestPlane(detectionMode) {
|
|
1197
1191
|
var _this;
|
|
1198
|
-
_this =
|
|
1199
|
-
_this.detectionMode = detectionMode;
|
|
1192
|
+
_this = XRRequestTracking.call(this) || this, _this.detectionMode = detectionMode;
|
|
1200
1193
|
return _this;
|
|
1201
1194
|
}
|
|
1202
1195
|
return XRRequestPlane;
|
|
@@ -1204,16 +1197,14 @@
|
|
|
1204
1197
|
|
|
1205
1198
|
/**
|
|
1206
1199
|
* The tracked plane in XR space.
|
|
1207
|
-
*/ var XRTrackedPlane = /*#__PURE__*/ function(
|
|
1208
|
-
_inherits(XRTrackedPlane,
|
|
1200
|
+
*/ var XRTrackedPlane = /*#__PURE__*/ function(XRTracked) {
|
|
1201
|
+
_inherits(XRTrackedPlane, XRTracked);
|
|
1209
1202
|
function XRTrackedPlane() {
|
|
1210
1203
|
var _this;
|
|
1211
|
-
_this =
|
|
1212
|
-
/** The points that make up this plane.
|
|
1204
|
+
_this = XRTracked.apply(this, arguments) || this, /** The points that make up this plane.
|
|
1213
1205
|
* Note: These points are in the plane coordinate system,
|
|
1214
1206
|
* and their Y coordinates are all zero.
|
|
1215
|
-
*/ _this.polygon = []
|
|
1216
|
-
/**
|
|
1207
|
+
*/ _this.polygon = [], /**
|
|
1217
1208
|
* Whether this frame changes the attributes of the plane.
|
|
1218
1209
|
* Note: Includes `polygon` but no `pose`.
|
|
1219
1210
|
*/ _this.attributesDirty = false;
|
|
@@ -1225,9 +1216,9 @@
|
|
|
1225
1216
|
exports.XRPlaneTracking = /*#__PURE__*/ function(XRTrackableFeature1) {
|
|
1226
1217
|
_inherits(XRPlaneTracking, XRTrackableFeature1);
|
|
1227
1218
|
function XRPlaneTracking(xrManager, detectionMode) {
|
|
1228
|
-
if (detectionMode === void 0) detectionMode =
|
|
1219
|
+
if (detectionMode === void 0) detectionMode = XRPlaneMode.EveryThing;
|
|
1229
1220
|
var _this;
|
|
1230
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1221
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.PlaneTracking, detectionMode) || this;
|
|
1231
1222
|
_this._addRequestTracking(new XRRequestPlane(detectionMode));
|
|
1232
1223
|
return _this;
|
|
1233
1224
|
}
|
|
@@ -1258,23 +1249,14 @@
|
|
|
1258
1249
|
return XRPlaneTracking;
|
|
1259
1250
|
}(XRTrackableFeature);
|
|
1260
1251
|
exports.XRPlaneTracking = __decorate([
|
|
1261
|
-
registerXRFeature(
|
|
1252
|
+
registerXRFeature(XRFeatureType.PlaneTracking)
|
|
1262
1253
|
], exports.XRPlaneTracking);
|
|
1263
1254
|
|
|
1264
|
-
exports.XRHitTest = /*#__PURE__*/ function(
|
|
1265
|
-
_inherits(XRHitTest,
|
|
1255
|
+
exports.XRHitTest = /*#__PURE__*/ function(XRFeature) {
|
|
1256
|
+
_inherits(XRHitTest, XRFeature);
|
|
1266
1257
|
function XRHitTest(xrManager) {
|
|
1267
1258
|
var _this;
|
|
1268
|
-
_this =
|
|
1269
|
-
_this._tempRay = new engine.Ray();
|
|
1270
|
-
_this._tempPlane = new engine.Plane();
|
|
1271
|
-
_this._tempVec2 = new engine.Vector2();
|
|
1272
|
-
_this._tempVec30 = new engine.Vector3();
|
|
1273
|
-
_this._tempVec31 = new engine.Vector3();
|
|
1274
|
-
_this._tempVec32 = new engine.Vector3();
|
|
1275
|
-
_this._tempVec33 = new engine.Vector3();
|
|
1276
|
-
_this._tempVec34 = new engine.Vector3();
|
|
1277
|
-
_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();
|
|
1278
1260
|
return _this;
|
|
1279
1261
|
}
|
|
1280
1262
|
var _proto = XRHitTest.prototype;
|
|
@@ -1285,7 +1267,7 @@
|
|
|
1285
1267
|
* @returns The hit result
|
|
1286
1268
|
*/ _proto.hitTest = function hitTest(ray, type) {
|
|
1287
1269
|
var result = [];
|
|
1288
|
-
if (type &
|
|
1270
|
+
if (type & TrackableType.Plane) {
|
|
1289
1271
|
this._hitTestPlane(ray, result);
|
|
1290
1272
|
}
|
|
1291
1273
|
return result;
|
|
@@ -1298,10 +1280,10 @@
|
|
|
1298
1280
|
* @returns The hit result
|
|
1299
1281
|
*/ _proto.screenHitTest = function screenHitTest(x, y, type) {
|
|
1300
1282
|
var _this = this, xrManager = _this._xrManager;
|
|
1301
|
-
if (xrManager.sessionManager.mode !==
|
|
1283
|
+
if (xrManager.sessionManager.mode !== XRSessionMode.AR) {
|
|
1302
1284
|
throw new Error("Only AR mode supports using screen ray hit test.");
|
|
1303
1285
|
}
|
|
1304
|
-
var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(
|
|
1286
|
+
var _xrManager_inputManager_getTrackedDevice = xrManager.inputManager.getTrackedDevice(XRTrackedInputDevice.Camera), camera = _xrManager_inputManager_getTrackedDevice._camera;
|
|
1305
1287
|
if (!camera) {
|
|
1306
1288
|
throw new Error("No camera available.");
|
|
1307
1289
|
}
|
|
@@ -1331,7 +1313,7 @@
|
|
|
1331
1313
|
hitResult.normal.copyFrom(normal);
|
|
1332
1314
|
hitResult.distance = distance;
|
|
1333
1315
|
hitResult.trackedObject = trackedPlane;
|
|
1334
|
-
hitResult.trackableType =
|
|
1316
|
+
hitResult.trackableType = TrackableType.Plane;
|
|
1335
1317
|
result.push(hitResult);
|
|
1336
1318
|
}
|
|
1337
1319
|
}
|
|
@@ -1367,28 +1349,26 @@
|
|
|
1367
1349
|
return XRHitTest;
|
|
1368
1350
|
}(XRFeature);
|
|
1369
1351
|
exports.XRHitTest = __decorate([
|
|
1370
|
-
registerXRFeature(
|
|
1352
|
+
registerXRFeature(XRFeatureType.HitTest)
|
|
1371
1353
|
], exports.XRHitTest);
|
|
1372
1354
|
|
|
1373
1355
|
/**
|
|
1374
1356
|
* The anchor in XR space.
|
|
1375
|
-
*/ var XRAnchor = /*#__PURE__*/ function(
|
|
1376
|
-
_inherits(XRAnchor,
|
|
1357
|
+
*/ var XRAnchor = /*#__PURE__*/ function(XRTracked) {
|
|
1358
|
+
_inherits(XRAnchor, XRTracked);
|
|
1377
1359
|
function XRAnchor() {
|
|
1378
|
-
return
|
|
1360
|
+
return XRTracked.apply(this, arguments) || this;
|
|
1379
1361
|
}
|
|
1380
1362
|
return XRAnchor;
|
|
1381
1363
|
}(XRTracked);
|
|
1382
1364
|
|
|
1383
1365
|
/**
|
|
1384
1366
|
* The request anchor in XR space.
|
|
1385
|
-
*/ var XRRequestAnchor = /*#__PURE__*/ function(
|
|
1386
|
-
_inherits(XRRequestAnchor,
|
|
1367
|
+
*/ var XRRequestAnchor = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1368
|
+
_inherits(XRRequestAnchor, XRRequestTracking);
|
|
1387
1369
|
function XRRequestAnchor(position, rotation) {
|
|
1388
1370
|
var _this;
|
|
1389
|
-
_this =
|
|
1390
|
-
_this.position = position;
|
|
1391
|
-
_this.rotation = rotation;
|
|
1371
|
+
_this = XRRequestTracking.call(this) || this, _this.position = position, _this.rotation = rotation;
|
|
1392
1372
|
return _this;
|
|
1393
1373
|
}
|
|
1394
1374
|
return XRRequestAnchor;
|
|
@@ -1398,8 +1378,7 @@
|
|
|
1398
1378
|
_inherits(XRAnchorTracking, XRTrackableFeature1);
|
|
1399
1379
|
function XRAnchorTracking(xrManager) {
|
|
1400
1380
|
var _this;
|
|
1401
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1402
|
-
_this._anchors = [];
|
|
1381
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.AnchorTracking) || this, _this._anchors = [];
|
|
1403
1382
|
return _this;
|
|
1404
1383
|
}
|
|
1405
1384
|
var _proto = XRAnchorTracking.prototype;
|
|
@@ -1469,17 +1448,16 @@
|
|
|
1469
1448
|
return XRAnchorTracking;
|
|
1470
1449
|
}(XRTrackableFeature);
|
|
1471
1450
|
exports.XRAnchorTracking = __decorate([
|
|
1472
|
-
registerXRFeature(
|
|
1451
|
+
registerXRFeature(XRFeatureType.AnchorTracking)
|
|
1473
1452
|
], exports.XRAnchorTracking);
|
|
1474
1453
|
|
|
1475
1454
|
/**
|
|
1476
1455
|
* The request image in XR space.
|
|
1477
|
-
*/ var XRRequestImage = /*#__PURE__*/ function(
|
|
1478
|
-
_inherits(XRRequestImage,
|
|
1456
|
+
*/ var XRRequestImage = /*#__PURE__*/ function(XRRequestTracking) {
|
|
1457
|
+
_inherits(XRRequestImage, XRRequestTracking);
|
|
1479
1458
|
function XRRequestImage(image) {
|
|
1480
1459
|
var _this;
|
|
1481
|
-
_this =
|
|
1482
|
-
_this.image = image;
|
|
1460
|
+
_this = XRRequestTracking.call(this) || this, _this.image = image;
|
|
1483
1461
|
return _this;
|
|
1484
1462
|
}
|
|
1485
1463
|
return XRRequestImage;
|
|
@@ -1487,10 +1465,10 @@
|
|
|
1487
1465
|
|
|
1488
1466
|
/**
|
|
1489
1467
|
* A tracked image in XR space.
|
|
1490
|
-
*/ var XRTrackedImage = /*#__PURE__*/ function(
|
|
1491
|
-
_inherits(XRTrackedImage,
|
|
1468
|
+
*/ var XRTrackedImage = /*#__PURE__*/ function(XRTracked) {
|
|
1469
|
+
_inherits(XRTrackedImage, XRTracked);
|
|
1492
1470
|
function XRTrackedImage() {
|
|
1493
|
-
return
|
|
1471
|
+
return XRTracked.apply(this, arguments) || this;
|
|
1494
1472
|
}
|
|
1495
1473
|
return XRTrackedImage;
|
|
1496
1474
|
}(XRTracked);
|
|
@@ -1499,7 +1477,7 @@
|
|
|
1499
1477
|
_inherits(XRImageTracking, XRTrackableFeature1);
|
|
1500
1478
|
function XRImageTracking(xrManager, trackingImages) {
|
|
1501
1479
|
var _this;
|
|
1502
|
-
_this = XRTrackableFeature1.call(this, xrManager,
|
|
1480
|
+
_this = XRTrackableFeature1.call(this, xrManager, XRFeatureType.ImageTracking, trackingImages) || this;
|
|
1503
1481
|
_this._trackingImages = trackingImages;
|
|
1504
1482
|
var imageLength = trackingImages ? trackingImages.length : 0;
|
|
1505
1483
|
if (imageLength > 0) {
|
|
@@ -1538,7 +1516,7 @@
|
|
|
1538
1516
|
return XRImageTracking;
|
|
1539
1517
|
}(XRTrackableFeature);
|
|
1540
1518
|
exports.XRImageTracking = __decorate([
|
|
1541
|
-
registerXRFeature(
|
|
1519
|
+
registerXRFeature(XRFeatureType.ImageTracking)
|
|
1542
1520
|
], exports.XRImageTracking);
|
|
1543
1521
|
|
|
1544
1522
|
/**
|
|
@@ -1551,8 +1529,8 @@
|
|
|
1551
1529
|
|
|
1552
1530
|
exports.XRReferenceImageDecoder = /*#__PURE__*/ function() {
|
|
1553
1531
|
function XRReferenceImageDecoder() {}
|
|
1554
|
-
XRReferenceImageDecoder.decode = function decode(engine, bufferReader) {
|
|
1555
|
-
return new
|
|
1532
|
+
XRReferenceImageDecoder.decode = function decode(engine$1, bufferReader) {
|
|
1533
|
+
return new engine.AssetPromise(function(resolve, reject) {
|
|
1556
1534
|
var physicalWidth = bufferReader.nextFloat32();
|
|
1557
1535
|
bufferReader.nextUint8();
|
|
1558
1536
|
var img = new Image();
|
|
@@ -1583,16 +1561,16 @@
|
|
|
1583
1561
|
return _extends.apply(this, arguments);
|
|
1584
1562
|
}
|
|
1585
1563
|
|
|
1586
|
-
exports.XRReferenceImageLoader = /*#__PURE__*/ function(
|
|
1587
|
-
_inherits(XRReferenceImageLoader,
|
|
1564
|
+
exports.XRReferenceImageLoader = /*#__PURE__*/ function(Loader) {
|
|
1565
|
+
_inherits(XRReferenceImageLoader, Loader);
|
|
1588
1566
|
function XRReferenceImageLoader() {
|
|
1589
|
-
return
|
|
1567
|
+
return Loader.apply(this, arguments) || this;
|
|
1590
1568
|
}
|
|
1591
1569
|
var _proto = XRReferenceImageLoader.prototype;
|
|
1592
1570
|
_proto.load = function load(item, resourceManager) {
|
|
1593
|
-
var _this = this;
|
|
1594
1571
|
return new engine.AssetPromise(function(resolve, reject) {
|
|
1595
|
-
|
|
1572
|
+
resourceManager// @ts-ignore
|
|
1573
|
+
._request(item.url, _extends({}, item, {
|
|
1596
1574
|
type: "arraybuffer"
|
|
1597
1575
|
})).then(function(data) {
|
|
1598
1576
|
engine.decode(data, resourceManager.engine).then(function(referenceImage) {
|
|
@@ -1607,20 +1585,31 @@
|
|
|
1607
1585
|
engine.resourceLoader("XRReferenceImage", [])
|
|
1608
1586
|
], exports.XRReferenceImageLoader);
|
|
1609
1587
|
|
|
1588
|
+
exports.TrackableType = TrackableType;
|
|
1610
1589
|
exports.XRAnchor = XRAnchor;
|
|
1611
1590
|
exports.XRCamera = XRCamera;
|
|
1612
1591
|
exports.XRCameraManager = XRCameraManager;
|
|
1613
1592
|
exports.XRController = XRController;
|
|
1614
1593
|
exports.XRFeature = XRFeature;
|
|
1594
|
+
exports.XRFeatureType = XRFeatureType;
|
|
1615
1595
|
exports.XRHitResult = XRHitResult;
|
|
1596
|
+
exports.XRInputButton = XRInputButton;
|
|
1597
|
+
exports.XRInputEventType = XRInputEventType;
|
|
1616
1598
|
exports.XRInputManager = XRInputManager;
|
|
1599
|
+
exports.XRPlaneMode = XRPlaneMode;
|
|
1617
1600
|
exports.XRPose = XRPose;
|
|
1618
1601
|
exports.XRReferenceImage = XRReferenceImage;
|
|
1602
|
+
exports.XRRequestTrackingState = XRRequestTrackingState;
|
|
1619
1603
|
exports.XRSessionManager = XRSessionManager;
|
|
1604
|
+
exports.XRSessionMode = XRSessionMode;
|
|
1605
|
+
exports.XRSessionState = XRSessionState;
|
|
1606
|
+
exports.XRTargetRayMode = XRTargetRayMode;
|
|
1620
1607
|
exports.XRTrackableFeature = XRTrackableFeature;
|
|
1621
1608
|
exports.XRTracked = XRTracked;
|
|
1622
1609
|
exports.XRTrackedImage = XRTrackedImage;
|
|
1610
|
+
exports.XRTrackedInputDevice = XRTrackedInputDevice;
|
|
1623
1611
|
exports.XRTrackedPlane = XRTrackedPlane;
|
|
1612
|
+
exports.XRTrackingState = XRTrackingState;
|
|
1624
1613
|
|
|
1625
1614
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1626
1615
|
|