@galacean/engine-core 1.1.0-beta.19 → 1.1.0-beta.20
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/main.js +174 -91
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +174 -91
- package/dist/module.js +174 -91
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/atlas/types.d.ts +3 -0
- package/types/asset/AssetPromise.d.ts +1 -0
- package/types/mesh/SubModelMesh.d.ts +260 -0
- package/types/particle/modules/MainModule.d.ts +0 -1
- package/types/xr/IXRDevice.d.ts +26 -0
- package/types/xr/XRManager.d.ts +89 -24
- package/types/xr/XRModule.d.ts +126 -0
- package/types/xr/component/XRPoseDriver.d.ts +5 -5
- package/types/xr/component/XRTrackingMode.d.ts +15 -0
- package/types/xr/component/trackable/XRAnchor.d.ts +4 -0
- package/types/xr/component/trackable/XRImage.d.ts +6 -0
- package/types/xr/component/trackable/XRPlane.d.ts +7 -0
- package/types/xr/component/trackable/XRTracked.d.ts +13 -0
- package/types/xr/feature/XRFeatureManager.d.ts +65 -0
- package/types/xr/feature/XRFeatureType.d.ts +17 -0
- package/types/xr/feature/XRPlatformFeature.d.ts +17 -0
- package/types/xr/feature/camera/IXRCameraDescriptor.d.ts +7 -0
- package/types/xr/feature/camera/XRCameraManager.d.ts +35 -0
- package/types/xr/feature/camera/XRPlatformCamera.d.ts +5 -0
- package/types/xr/feature/hitTest/XRHItTestType.d.ts +16 -0
- package/types/xr/feature/hitTest/XRHitTestManager.d.ts +38 -0
- package/types/xr/feature/movementTracking/IXRMovementTrackingDescriptor.d.ts +9 -0
- package/types/xr/feature/movementTracking/XRMovementTrackingManager.d.ts +8 -0
- package/types/xr/feature/movementTracking/XRMovementTrackingMode.d.ts +5 -0
- package/types/xr/feature/movementTracking/XRPlatformMovementTracking.d.ts +10 -0
- package/types/xr/feature/trackable/XRRequestTrackingState.d.ts +11 -0
- package/types/xr/feature/trackable/XRTrackableManager.d.ts +41 -0
- package/types/xr/feature/trackable/XRTrackablePlatformFeature.d.ts +29 -0
- package/types/xr/feature/trackable/XRTracked.d.ts +9 -0
- package/types/xr/feature/trackable/XRTrackedUpdateFlag.d.ts +11 -0
- package/types/xr/feature/trackable/XRTrackingState.d.ts +11 -0
- package/types/xr/feature/trackable/anchor/IXRAnchorTrackingDescriptor.d.ts +8 -0
- package/types/xr/feature/trackable/anchor/XRAnchorTrackingManager.d.ts +22 -0
- package/types/xr/feature/trackable/anchor/XRAnchorTrackingMode.d.ts +4 -0
- package/types/xr/feature/trackable/anchor/XRPlatformAnchorTracking.d.ts +12 -0
- package/types/xr/feature/trackable/anchor/XRRequestTrackingAnchor.d.ts +10 -0
- package/types/xr/feature/trackable/image/IXRImageTrackingDescriptor.d.ts +5 -0
- package/types/xr/feature/trackable/image/XRImageTrackingManager.d.ts +33 -0
- package/types/xr/feature/trackable/image/XRPlatformImageTracking.d.ts +14 -0
- package/types/xr/feature/trackable/image/XRReferenceImage.d.ts +14 -0
- package/types/xr/feature/trackable/image/XRRequestTrackingImage.d.ts +11 -0
- package/types/xr/feature/trackable/image/XRTrackedImage.d.ts +5 -0
- package/types/xr/feature/trackable/plane/IXRPlaneTrackingDescriptor.d.ts +9 -0
- package/types/xr/feature/trackable/plane/XRPlaneDetectionMode.d.ts +13 -0
- package/types/xr/feature/trackable/plane/XRPlaneMode.d.ts +13 -0
- package/types/xr/feature/trackable/plane/XRPlaneTrackingManager.d.ts +14 -0
- package/types/xr/feature/trackable/plane/XRPlatformPlaneTracking.d.ts +11 -0
- package/types/xr/feature/trackable/plane/XRRequestTrackingPlane.d.ts +11 -0
- package/types/xr/feature/trackable/plane/XRTrackedPlane.d.ts +11 -0
- package/types/xr/index.d.ts +39 -18
- package/types/xr/input/XRCamera.d.ts +28 -0
- package/types/xr/input/XRController.d.ts +38 -0
- package/types/xr/input/XRControllerPoseMode.d.ts +9 -0
- package/types/xr/input/XRInput.d.ts +14 -0
- package/types/xr/input/XRInputButton.d.ts +19 -0
- package/types/xr/input/XRInputEvent.d.ts +24 -0
- package/types/xr/input/XRInputEventType.d.ts +11 -0
- package/types/xr/input/XRInputManager.d.ts +58 -0
- package/types/xr/input/XRInputType.d.ts +23 -0
- package/types/xr/input/XRTargetRayMode.d.ts +12 -0
- package/types/xr/input/XRTrackedUpdateFlag.d.ts +11 -0
- package/types/xr/input/XRTrackingState.d.ts +11 -0
- package/types/xr/session/XRSessionManager.d.ts +76 -0
- package/types/xr/session/XRSessionState.d.ts +13 -0
- package/types/xr/session/XRSessionType.d.ts +7 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRFeatureManager, IXRFeature, IXRSession, IXRFrame } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../../Engine";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR feature manager.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRFeatureManager<TDescriptor extends IXRFeatureDescriptor = IXRFeatureDescriptor, TFeature extends IXRFeature = IXRFeature> implements IXRFeatureManager {
|
|
7
|
+
protected _engine: Engine;
|
|
8
|
+
_feature: TFeature;
|
|
9
|
+
protected _descriptor: TDescriptor;
|
|
10
|
+
protected _enabled: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Return the descriptor of the feature.
|
|
13
|
+
*/
|
|
14
|
+
get descriptor(): TDescriptor;
|
|
15
|
+
set descriptor(value: TDescriptor);
|
|
16
|
+
/**
|
|
17
|
+
* Returns whether the feature is enabled.
|
|
18
|
+
*/
|
|
19
|
+
get enabled(): boolean;
|
|
20
|
+
set enabled(value: boolean);
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether the feature is supported.
|
|
23
|
+
* @param descriptor - The descriptor of the feature
|
|
24
|
+
* @returns The promise of the feature
|
|
25
|
+
*/
|
|
26
|
+
isSupported(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the feature.
|
|
29
|
+
* @returns The promise of the feature
|
|
30
|
+
*/
|
|
31
|
+
initialize(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Called when be enabled.
|
|
34
|
+
*/
|
|
35
|
+
onEnable(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Called when be disabled.
|
|
38
|
+
*/
|
|
39
|
+
onDisable(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Called when xr frame is updated.
|
|
42
|
+
*/
|
|
43
|
+
onUpdate(session: IXRSession, frame: IXRFrame): void;
|
|
44
|
+
/**
|
|
45
|
+
* Called when the session is initialized.
|
|
46
|
+
*/
|
|
47
|
+
onSessionInit(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Called when session starts.
|
|
50
|
+
*/
|
|
51
|
+
onSessionStart(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Called when the session is stopped.
|
|
54
|
+
*/
|
|
55
|
+
onSessionStop(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Called when the session is destroyed.
|
|
58
|
+
*/
|
|
59
|
+
onSessionDestroy(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Called when the xr module is destroyed.
|
|
62
|
+
*/
|
|
63
|
+
onDestroy(): void;
|
|
64
|
+
constructor(_engine: Engine);
|
|
65
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for XR feature type.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum XRFeatureType {
|
|
5
|
+
/** Movement tracking */
|
|
6
|
+
MovementTracking = 0,
|
|
7
|
+
/** Control camera parameters such as focal length, etc.*/
|
|
8
|
+
CameraDevice = 1,
|
|
9
|
+
/** Anchor tracking */
|
|
10
|
+
AnchorTracking = 2,
|
|
11
|
+
/** Image tracking */
|
|
12
|
+
ImageTracking = 3,
|
|
13
|
+
/** Plane tracking */
|
|
14
|
+
PlaneTracking = 4,
|
|
15
|
+
/** Hit test */
|
|
16
|
+
HitTest = 5
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IXRPlatformFeature, IXRFeatureDescriptor } from "@galacean/engine-design";
|
|
2
|
+
import { Engine } from "../../Engine";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR platform feature.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRPlatformFeature implements IXRPlatformFeature {
|
|
7
|
+
protected _engine: Engine;
|
|
8
|
+
constructor(engine: Engine);
|
|
9
|
+
_isSupported(descriptor: IXRFeatureDescriptor): Promise<void>;
|
|
10
|
+
_initialize(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
11
|
+
_onUpdate(): void;
|
|
12
|
+
_onDestroy(): void;
|
|
13
|
+
_onSessionInit(): void;
|
|
14
|
+
_onSessionStart(): void;
|
|
15
|
+
_onSessionStop(): void;
|
|
16
|
+
_onSessionDestroy(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Camera } from "../../../Camera";
|
|
2
|
+
import { Engine } from "../../../Engine";
|
|
3
|
+
import { XRInputType } from "../../input/XRInputType";
|
|
4
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
5
|
+
import { IXRCameraDescriptor } from "./IXRCameraDescriptor";
|
|
6
|
+
export declare class XRCameraManager extends XRFeatureManager<IXRCameraDescriptor> {
|
|
7
|
+
private _inputManager;
|
|
8
|
+
private _sessionManager;
|
|
9
|
+
get enabled(): boolean;
|
|
10
|
+
set enabled(value: boolean);
|
|
11
|
+
/**
|
|
12
|
+
* Attach the camera to the specified input type.
|
|
13
|
+
* @param type - The input type
|
|
14
|
+
* @param camera - The camera to be attached
|
|
15
|
+
*/
|
|
16
|
+
attachCamera(type: XRInputType, camera: Camera): void;
|
|
17
|
+
/**
|
|
18
|
+
* Detach the camera from the specified input type.
|
|
19
|
+
* @param type - The input type
|
|
20
|
+
* @returns The camera that was detached
|
|
21
|
+
*/
|
|
22
|
+
detachCamera(type: XRInputType): Camera;
|
|
23
|
+
/**
|
|
24
|
+
* Get the camera by the specified input type.
|
|
25
|
+
* @param type - The input type
|
|
26
|
+
* @returns The camera
|
|
27
|
+
*/
|
|
28
|
+
getCameraByType(type: XRInputType): Camera;
|
|
29
|
+
/**
|
|
30
|
+
* Return fixed foveation of the camera.
|
|
31
|
+
*/
|
|
32
|
+
get fixedFoveation(): number;
|
|
33
|
+
set fixedFoveation(value: number);
|
|
34
|
+
constructor(engine: Engine);
|
|
35
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for the types of hit test that can be performed.
|
|
3
|
+
* Note: currently only supports plane.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum XRHitTestType {
|
|
6
|
+
/** None */
|
|
7
|
+
None = 0,
|
|
8
|
+
/** Tracked plane. */
|
|
9
|
+
Plane = 1,
|
|
10
|
+
/** Tracked mesh. */
|
|
11
|
+
Mesh = 2,
|
|
12
|
+
/** Tracked anchor. */
|
|
13
|
+
Anchor = 4,
|
|
14
|
+
/** All tracked objects. */
|
|
15
|
+
All = 7
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRHitResult } from "@galacean/engine-design";
|
|
2
|
+
import { XRHitTestType } from "./XRHitTestType";
|
|
3
|
+
import { Ray } from "@galacean/engine-math";
|
|
4
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
5
|
+
export declare class XRHitTestManager extends XRFeatureManager {
|
|
6
|
+
private _tempRay;
|
|
7
|
+
private _tempVec2;
|
|
8
|
+
private _tempVec30;
|
|
9
|
+
private _tempVec31;
|
|
10
|
+
private _tempVec32;
|
|
11
|
+
private _tempVec33;
|
|
12
|
+
private _tempVec34;
|
|
13
|
+
private _tempVec35;
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the feature is supported.
|
|
16
|
+
* @param descriptor - The descriptor of the feature
|
|
17
|
+
* @returns The promise of the feature
|
|
18
|
+
*/
|
|
19
|
+
isSupported(descriptor?: IXRFeatureDescriptor): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Hit test.
|
|
22
|
+
* @param ray - The ray to test
|
|
23
|
+
* @param type - The type of hit test
|
|
24
|
+
* @returns The hit result
|
|
25
|
+
*/
|
|
26
|
+
hitTest(ray: Ray, type: XRHitTestType): IXRHitResult[];
|
|
27
|
+
/**
|
|
28
|
+
* Screen hit test.
|
|
29
|
+
* @param x - The x coordinate of the screen point (normalized)
|
|
30
|
+
* @param y - The y coordinate of the screen point (normalized)
|
|
31
|
+
* @param type - The type of hit test
|
|
32
|
+
* @returns The hit result
|
|
33
|
+
*/
|
|
34
|
+
screenHitTest(x: number, y: number, type: XRHitTestType): IXRHitResult[];
|
|
35
|
+
private _hitTest;
|
|
36
|
+
private _hitTestPlane;
|
|
37
|
+
private _checkPointerWithinPlane;
|
|
38
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor } from "@galacean/engine-design";
|
|
2
|
+
import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
|
|
3
|
+
/**
|
|
4
|
+
* The descriptor of XR movement tracking.
|
|
5
|
+
*/
|
|
6
|
+
export interface IXRMovementTrackingDescriptor extends IXRFeatureDescriptor {
|
|
7
|
+
/** The mode of movement tracking. */
|
|
8
|
+
mode: XRMovementTrackingMode;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IXRMovementTrackingDescriptor } from "./IXRMovementTrackingDescriptor";
|
|
2
|
+
import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
|
|
3
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
4
|
+
import { IXRMovementTracking } from "@galacean/engine-design";
|
|
5
|
+
export declare class XRMovementTrackingManager extends XRFeatureManager<IXRMovementTrackingDescriptor, IXRMovementTracking> {
|
|
6
|
+
get trackingMode(): XRMovementTrackingMode;
|
|
7
|
+
set trackingMode(value: XRMovementTrackingMode);
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XRPlatformFeature } from "../XRPlatformFeature";
|
|
2
|
+
import { XRMovementTrackingMode } from "./XRMovementTrackingMode";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR platform movement tracking.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRPlatformMovementTracking extends XRPlatformFeature {
|
|
7
|
+
private _trackingMode;
|
|
8
|
+
get trackingMode(): XRMovementTrackingMode;
|
|
9
|
+
set trackingMode(value: XRMovementTrackingMode);
|
|
10
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor, IXRFrame, IXRRequestTracking, IXRSession, IXRTrackableFeature, IXRTracked } from "@galacean/engine-design";
|
|
2
|
+
import { XRTrackedUpdateFlag } from "../../input/XRTrackedUpdateFlag";
|
|
3
|
+
import { XRFeatureManager } from "../XRFeatureManager";
|
|
4
|
+
import { XRTrackingState } from "../../input/XRTrackingState";
|
|
5
|
+
/**
|
|
6
|
+
* The base class of XR trackable manager.
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class XRTrackableManager<TDescriptor extends IXRFeatureDescriptor, TXRTracked extends IXRTracked, TXRRequestTracking extends IXRRequestTracking<TXRTracked>, TTrackableFeature extends IXRTrackableFeature<TXRTracked, TXRRequestTracking>> extends XRFeatureManager<TDescriptor, TTrackableFeature> {
|
|
9
|
+
protected _requestTrackings: TXRRequestTracking[];
|
|
10
|
+
protected _trackedObjects: TXRTracked[];
|
|
11
|
+
protected _added: TXRTracked[];
|
|
12
|
+
protected _updated: TXRTracked[];
|
|
13
|
+
protected _removed: TXRTracked[];
|
|
14
|
+
protected _statusSnapshot: Record<number, XRTrackingState>;
|
|
15
|
+
private _trackedUpdateFlag;
|
|
16
|
+
/**
|
|
17
|
+
* Return Request tracking requirements.
|
|
18
|
+
*/
|
|
19
|
+
get requestTrackings(): readonly TXRRequestTracking[];
|
|
20
|
+
/**
|
|
21
|
+
* Returns the tracked objects.
|
|
22
|
+
*/
|
|
23
|
+
get trackedObjects(): readonly TXRTracked[];
|
|
24
|
+
addRequestTracking(add: TXRRequestTracking): void;
|
|
25
|
+
removeRequestTracking(remove: TXRRequestTracking): void;
|
|
26
|
+
removeAllRequestTrackings(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Add a listening function to track changes.
|
|
29
|
+
* @param listener - The listening function
|
|
30
|
+
*/
|
|
31
|
+
addListener(listener: (type: XRTrackedUpdateFlag, param: readonly TXRTracked[]) => any): void;
|
|
32
|
+
/**
|
|
33
|
+
* Remove a listening function to track changes.
|
|
34
|
+
* @param listener - The listening function
|
|
35
|
+
*/
|
|
36
|
+
removeListener(listener: (type: XRTrackedUpdateFlag, param: readonly TXRTracked[]) => any): void;
|
|
37
|
+
onUpdate(session: IXRSession, frame: IXRFrame): void;
|
|
38
|
+
onSessionStop(): void;
|
|
39
|
+
onSessionDestroy(): void;
|
|
40
|
+
onDestroy(): void;
|
|
41
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IXRTrackable } from "@galacean/engine-design";
|
|
2
|
+
import { XRPlatformFeature } from "../XRPlatformFeature";
|
|
3
|
+
/**
|
|
4
|
+
* The base class of XR trackable platform feature.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class XRTrackablePlatformFeature<T extends IXRTrackable> extends XRPlatformFeature {
|
|
7
|
+
private static _trackId;
|
|
8
|
+
protected _trackedObjects: T[];
|
|
9
|
+
protected _added: T[];
|
|
10
|
+
protected _updated: T[];
|
|
11
|
+
protected _removed: T[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns the tracked objects.
|
|
14
|
+
*/
|
|
15
|
+
get trackedObjects(): readonly T[];
|
|
16
|
+
/**
|
|
17
|
+
* Returns the changes tracked in this frame.
|
|
18
|
+
* @returns The changes of tracked objects
|
|
19
|
+
*/
|
|
20
|
+
getChanges(): {
|
|
21
|
+
readonly added: T[];
|
|
22
|
+
readonly updated: T[];
|
|
23
|
+
readonly removed: T[];
|
|
24
|
+
};
|
|
25
|
+
_onSessionStop(): void;
|
|
26
|
+
_onSessionDestroy(): void;
|
|
27
|
+
_onDestroy(): void;
|
|
28
|
+
protected _generateUUID(): number;
|
|
29
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IXRPose, IXRTracked } from "@galacean/engine-design";
|
|
2
|
+
import { XRTrackingState } from "../../input/XRTrackingState";
|
|
3
|
+
export declare class XRTracked implements IXRTracked {
|
|
4
|
+
id: number;
|
|
5
|
+
pose: IXRPose;
|
|
6
|
+
state: XRTrackingState;
|
|
7
|
+
frameCount: number;
|
|
8
|
+
constructor(id: number, pose: IXRPose, state?: XRTrackingState, frameCount?: number);
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum for XR tracked update flag.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum XRTrackedUpdateFlag {
|
|
5
|
+
/** The object that was not tracked in the previous frame was tracked in this frame. */
|
|
6
|
+
Added = 0,
|
|
7
|
+
/** Both the previous frame and this frame are tracked */
|
|
8
|
+
Updated = 1,
|
|
9
|
+
/** The object that was tracked in the previous frame is not tracked in this frame. */
|
|
10
|
+
Removed = 2
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IXRAnchorTracking, IXRPose } from "@galacean/engine-design";
|
|
2
|
+
import { IXRAnchorTrackingDescriptor } from "./IXRAnchorTrackingDescriptor";
|
|
3
|
+
import { XRTrackableManager } from "../XRTrackableManager";
|
|
4
|
+
import { XRRequestTrackingAnchor } from "./XRRequestTrackingAnchor";
|
|
5
|
+
import { XRTracked } from "../XRTracked";
|
|
6
|
+
export declare class XRAnchorTrackingManager extends XRTrackableManager<IXRAnchorTrackingDescriptor, XRTracked, XRRequestTrackingAnchor, IXRAnchorTracking> {
|
|
7
|
+
/**
|
|
8
|
+
* Add a tracking anchor.
|
|
9
|
+
* @param pose - The pose of anchor to be added
|
|
10
|
+
*/
|
|
11
|
+
addAnchor(pose: IXRPose): XRRequestTrackingAnchor;
|
|
12
|
+
/**
|
|
13
|
+
* Remove a tracking anchor.
|
|
14
|
+
* @param anchor - The anchor to be removed
|
|
15
|
+
*/
|
|
16
|
+
removeAnchor(pose: IXRPose): void;
|
|
17
|
+
/**
|
|
18
|
+
* Remove all tracking anchors.
|
|
19
|
+
*/
|
|
20
|
+
removeAllAnchors(): void;
|
|
21
|
+
initialize(): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IXRRequestTrackingAnchor, IXRTrackedAnchor } from "@galacean/engine-design";
|
|
2
|
+
import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
|
|
3
|
+
import { IXRAnchorTrackingDescriptor } from "./IXRAnchorTrackingDescriptor";
|
|
4
|
+
/**
|
|
5
|
+
* The base class of XR anchor tracking.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class XRPlatformAnchorTracking extends XRTrackablePlatformFeature<IXRTrackedAnchor> {
|
|
8
|
+
protected _requestTrackingAnchors: IXRRequestTrackingAnchor[];
|
|
9
|
+
get requestTrackingAnchors(): readonly IXRRequestTrackingAnchor[];
|
|
10
|
+
_initialize(descriptor: IXRAnchorTrackingDescriptor): Promise<void>;
|
|
11
|
+
protected _disposeAnchor(anchor: IXRRequestTrackingAnchor): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IXRPose, IXRRequestTracking } from "@galacean/engine-design";
|
|
2
|
+
import { XRRequestTrackingState } from "../XRRequestTrackingState";
|
|
3
|
+
import { XRTracked } from "../XRTracked";
|
|
4
|
+
export declare class XRRequestTrackingAnchor implements IXRRequestTracking<XRTracked> {
|
|
5
|
+
pose: IXRPose;
|
|
6
|
+
state: XRRequestTrackingState;
|
|
7
|
+
tracked: XRTracked[];
|
|
8
|
+
constructor(pose: IXRPose, state?: XRRequestTrackingState, tracked?: XRTracked[]);
|
|
9
|
+
equals(other: XRRequestTrackingAnchor): boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IXRImageTracking } from "@galacean/engine-design";
|
|
2
|
+
import { IXRImageTrackingDescriptor } from "./IXRImageTrackingDescriptor";
|
|
3
|
+
import { XRTrackableManager } from "../XRTrackableManager";
|
|
4
|
+
import { XRReferenceImage } from "./XRReferenceImage";
|
|
5
|
+
import { XRTrackedImage } from "./XRTrackedImage";
|
|
6
|
+
import { XRRequestTrackingImage } from "./XRRequestTrackingImage";
|
|
7
|
+
export declare class XRImageTrackingManager extends XRTrackableManager<IXRImageTrackingDescriptor, XRTrackedImage, XRRequestTrackingImage, IXRImageTracking> {
|
|
8
|
+
/**
|
|
9
|
+
* Add a tracking image
|
|
10
|
+
* @param image - xr reference image
|
|
11
|
+
*/
|
|
12
|
+
addImage(image: XRReferenceImage): void;
|
|
13
|
+
/**
|
|
14
|
+
* Add tracking images
|
|
15
|
+
* @param images - xr reference images
|
|
16
|
+
*/
|
|
17
|
+
addImage(images: XRReferenceImage[]): void;
|
|
18
|
+
/**
|
|
19
|
+
* Remove a tracking image
|
|
20
|
+
* @param image - xr reference image
|
|
21
|
+
*/
|
|
22
|
+
removeImage(image: XRReferenceImage): void;
|
|
23
|
+
/**
|
|
24
|
+
* Remove tracking images
|
|
25
|
+
* @param images - xr reference images
|
|
26
|
+
*/
|
|
27
|
+
removeImage(images: XRReferenceImage[]): void;
|
|
28
|
+
/**
|
|
29
|
+
* Remove all tracking images
|
|
30
|
+
*/
|
|
31
|
+
removeAllImages(): void;
|
|
32
|
+
initialize(): Promise<void>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IXRRequestTrackingImage, IXRTrackedImage } from "@galacean/engine-design";
|
|
2
|
+
import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
|
|
3
|
+
import { IXRImageTrackingDescriptor } from "./IXRImageTrackingDescriptor";
|
|
4
|
+
/**
|
|
5
|
+
* The base class of XR image tracking.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class XRPlatformImageTracking extends XRTrackablePlatformFeature<IXRTrackedImage> {
|
|
8
|
+
protected _requestTrackingImages: IXRRequestTrackingImage[];
|
|
9
|
+
get requestTrackingImages(): readonly IXRRequestTrackingImage[];
|
|
10
|
+
_initialize(descriptor: IXRImageTrackingDescriptor): Promise<void>;
|
|
11
|
+
_onSessionDestroy(): void;
|
|
12
|
+
_onDestroy(): void;
|
|
13
|
+
protected _disposeImage(image: IXRRequestTrackingImage): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reference image is an image to look for in the physical environment.
|
|
3
|
+
*/
|
|
4
|
+
export declare class XRReferenceImage {
|
|
5
|
+
name: string;
|
|
6
|
+
src: string | HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas;
|
|
7
|
+
private _id;
|
|
8
|
+
physicalWidth: number;
|
|
9
|
+
physicalHeight: number;
|
|
10
|
+
private static _uuid;
|
|
11
|
+
constructor(name: string, src: string | HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | Blob | ImageData | ImageBitmap | OffscreenCanvas, _id?: number, physicalWidth?: number, physicalHeight?: number);
|
|
12
|
+
get id(): number;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IXRRequestTracking } from "@galacean/engine-design";
|
|
2
|
+
import { XRRequestTrackingState } from "../XRRequestTrackingState";
|
|
3
|
+
import { XRTrackedImage } from "./XRTrackedImage";
|
|
4
|
+
import { XRReferenceImage } from "./XRReferenceImage";
|
|
5
|
+
export declare class XRRequestTrackingImage implements IXRRequestTracking<XRTrackedImage> {
|
|
6
|
+
image: XRReferenceImage;
|
|
7
|
+
state: XRRequestTrackingState;
|
|
8
|
+
tracked: XRTrackedImage[];
|
|
9
|
+
constructor(image: XRReferenceImage, state?: XRRequestTrackingState, tracked?: XRTrackedImage[]);
|
|
10
|
+
equals(other: XRRequestTrackingImage): boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IXRFeatureDescriptor } from "@galacean/engine-design";
|
|
2
|
+
import { XRPlaneMode } from "./XRPlaneMode";
|
|
3
|
+
/**
|
|
4
|
+
* The descriptor of XR plane tracking.
|
|
5
|
+
*/
|
|
6
|
+
export interface IXRPlaneTrackingDescriptor extends IXRFeatureDescriptor {
|
|
7
|
+
/** Rules for detecting planes. */
|
|
8
|
+
mode: XRPlaneMode;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumerates valid modes of plane to detect.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum XRPlaneDetectionMode {
|
|
5
|
+
/** Plane detection is disabled. */
|
|
6
|
+
None = 0,
|
|
7
|
+
/** Plane detection will only detect horizontal planes. */
|
|
8
|
+
Horizontal = 1,
|
|
9
|
+
/** Plane detection will only detect vertical planes. */
|
|
10
|
+
Vertical = 2,
|
|
11
|
+
/** Plane detection will detect both horizontal and vertical planes. */
|
|
12
|
+
EveryThing = 3
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IXRPlaneTrackingDescriptor } from "./IXRPlaneTrackingDescriptor";
|
|
2
|
+
import { XRPlaneMode } from "./XRPlaneMode";
|
|
3
|
+
import { XRTrackableManager } from "../XRTrackableManager";
|
|
4
|
+
import { XRTrackedPlane } from "./XRTrackedPlane";
|
|
5
|
+
import { XRRequestTrackingPlane } from "./XRRequestTrackingPlane";
|
|
6
|
+
import { IXRPlaneTracking } from "@galacean/engine-design";
|
|
7
|
+
export declare class XRPlaneTrackingManager extends XRTrackableManager<IXRPlaneTrackingDescriptor, XRTrackedPlane, XRRequestTrackingPlane, IXRPlaneTracking> {
|
|
8
|
+
/**
|
|
9
|
+
* Return the plane detection mode for XR.
|
|
10
|
+
*/
|
|
11
|
+
get detectionMode(): XRPlaneMode;
|
|
12
|
+
set detectionMode(value: XRPlaneMode);
|
|
13
|
+
initialize(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IXRTrackedPlane } from "@galacean/engine-design";
|
|
2
|
+
import { XRTrackablePlatformFeature } from "../XRTrackablePlatformFeature";
|
|
3
|
+
import { XRPlaneDetectionMode } from "./XRPlaneDetectionMode";
|
|
4
|
+
/**
|
|
5
|
+
* The base class of XR plane tracking.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class XRPlatformPlaneTracking extends XRTrackablePlatformFeature<IXRTrackedPlane> {
|
|
8
|
+
protected _trackingMode: XRPlaneDetectionMode;
|
|
9
|
+
get trackingMode(): XRPlaneDetectionMode;
|
|
10
|
+
set trackingMode(value: XRPlaneDetectionMode);
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IXRRequestTracking } from "@galacean/engine-design";
|
|
2
|
+
import { XRRequestTrackingState } from "../XRRequestTrackingState";
|
|
3
|
+
import { XRPlaneMode } from "./XRPlaneMode";
|
|
4
|
+
import { XRTrackedPlane } from "./XRTrackedPlane";
|
|
5
|
+
export declare class XRRequestTrackingPlane implements IXRRequestTracking<XRTrackedPlane> {
|
|
6
|
+
orientation: XRPlaneMode;
|
|
7
|
+
state: XRRequestTrackingState;
|
|
8
|
+
tracked: XRTrackedPlane[];
|
|
9
|
+
constructor(orientation: XRPlaneMode, state?: XRRequestTrackingState, tracked?: XRTrackedPlane[]);
|
|
10
|
+
equals(other: XRRequestTrackingPlane): boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Vector3 } from "@galacean/engine-math";
|
|
2
|
+
import { XRTracked } from "../XRTracked";
|
|
3
|
+
export declare class XRTrackedPlane extends XRTracked {
|
|
4
|
+
/** Whether the detected plane is horizontal or vertical. */
|
|
5
|
+
orientation: number;
|
|
6
|
+
/** The points that make up this plane.
|
|
7
|
+
* Note: These points are in the plane coordinate system,
|
|
8
|
+
* and their Y coordinates are all zero.
|
|
9
|
+
*/
|
|
10
|
+
polygon: Vector3[];
|
|
11
|
+
}
|