12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // This file contains native only extensions for WebXR. These APIs are not supported in the browser yet.
- // They are intended for use with either Babylon Native https://github.com/BabylonJS/BabylonNative or
- // Babylon React Native: https://github.com/BabylonJS/BabylonReactNative
- type XRSceneObjectType = "unknown" | "background" | "wall" | "floor" | "ceiling" | "platform";
- interface XRSceneObject {
- type: XRSceneObjectType;
- }
- interface XRFieldOfView {
- angleLeft: number;
- angleRight: number;
- angleUp: number;
- angleDown: number;
- }
- interface XRFrustum {
- position: DOMPointReadOnly;
- orientation: DOMPointReadOnly;
- fieldOfView: XRFieldOfView;
- farDistance: number;
- }
- interface XRPlane {
- parentSceneObject?: XRSceneObject;
- }
- interface XRMesh {
- meshSpace: XRSpace;
- positions: Float32Array;
- indices: Uint32Array;
- normals?: Float32Array;
- lastChangedTime: number;
- parentSceneObject?: XRSceneObject;
- }
- type XRDetectionBoundaryType = "frustum" | "sphere" | "box";
- interface XRDetectionBoundary {
- type: XRDetectionBoundaryType;
- }
- interface XRFrustumDetectionBoundary extends XRDetectionBoundary {
- type: XRDetectionBoundaryType = "frustum"
- frustum: XRFrustum;
- }
- interface XRSphereDetectionBoundary extends XRDetectionBoundary {
- type: XRDetectionBoundaryType = "sphere";
- radius: number;
- }
- interface XRBoxDetectionBoundary extends XRDetectionBoundary {
- type: XRDetectionBoundaryType = "box";
- extent: DOMPointReadOnly;
- }
- interface XRGeometryDetectorOptions {
- detectionBoundary?: XRDetectionBoundary;
- updateInterval?: number;
- }
- interface XRSession {
- trySetFeaturePointCloudEnabled(enabled: boolean): boolean;
- trySetPreferredPlaneDetectorOptions(preferredOptions: XRGeometryDetectorOptions): boolean;
- trySetMeshDetectorEnabled(enabled: boolean): boolean;
- trySetPreferredMeshDetectorOptions(preferredOptions: XRGeometryDetectorOptions): boolean;
- }
- interface XRFrame {
- featurePointCloud? : Array<number>;
- }
- type XRMeshSet = Set<XRMesh>;
- interface XRWorldInformation {
- detectedMeshes? : XRMeshSet;
- }
|