|
@@ -19909,7 +19909,7 @@ declare module "babylonjs/Meshes/instancedMesh" {
|
|
*
|
|
*
|
|
* Returns the clone.
|
|
* Returns the clone.
|
|
*/
|
|
*/
|
|
- clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): InstancedMesh;
|
|
/**
|
|
/**
|
|
* Disposes the InstancedMesh.
|
|
* Disposes the InstancedMesh.
|
|
* Returns nothing.
|
|
* Returns nothing.
|
|
@@ -20310,7 +20310,6 @@ declare module "babylonjs/Meshes/linesMesh" {
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import { Material } from "babylonjs/Materials/material";
|
|
import "babylonjs/Shaders/color.fragment";
|
|
import "babylonjs/Shaders/color.fragment";
|
|
import "babylonjs/Shaders/color.vertex";
|
|
import "babylonjs/Shaders/color.vertex";
|
|
- import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
|
|
/**
|
|
/**
|
|
* Line mesh
|
|
* Line mesh
|
|
* @see https://doc.babylonjs.com/babylon101/parametric_shapes
|
|
* @see https://doc.babylonjs.com/babylon101/parametric_shapes
|
|
@@ -20392,7 +20391,7 @@ declare module "babylonjs/Meshes/linesMesh" {
|
|
/**
|
|
/**
|
|
* Returns a new LineMesh object cloned from the current one.
|
|
* Returns a new LineMesh object cloned from the current one.
|
|
*/
|
|
*/
|
|
- clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): LinesMesh;
|
|
/**
|
|
/**
|
|
* Creates a new InstancedLinesMesh object from the mesh model.
|
|
* Creates a new InstancedLinesMesh object from the mesh model.
|
|
* @see http://doc.babylonjs.com/how_to/how_to_use_instances
|
|
* @see http://doc.babylonjs.com/how_to/how_to_use_instances
|
|
@@ -25455,7 +25454,7 @@ declare module "babylonjs/Meshes/mesh" {
|
|
* @param clonePhysicsImpostor allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any (default `true`)
|
|
* @param clonePhysicsImpostor allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any (default `true`)
|
|
* @returns a new mesh
|
|
* @returns a new mesh
|
|
*/
|
|
*/
|
|
- clone(name?: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean, clonePhysicsImpostor?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name?: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean, clonePhysicsImpostor?: boolean): Mesh;
|
|
/**
|
|
/**
|
|
* Releases resources associated with this mesh.
|
|
* Releases resources associated with this mesh.
|
|
* @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)
|
|
* @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)
|
|
@@ -45405,6 +45404,8 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerPointerSelection" {
|
|
import { IWebXRFeature } from "babylonjs/Cameras/XR/webXRFeaturesManager";
|
|
import { IWebXRFeature } from "babylonjs/Cameras/XR/webXRFeaturesManager";
|
|
import { WebXRSessionManager } from "babylonjs/Cameras/XR/webXRSessionManager";
|
|
import { WebXRSessionManager } from "babylonjs/Cameras/XR/webXRSessionManager";
|
|
import { WebXRInput } from "babylonjs/Cameras/XR/webXRInput";
|
|
import { WebXRInput } from "babylonjs/Cameras/XR/webXRInput";
|
|
|
|
+ import { WebXRController } from "babylonjs/Cameras/XR/webXRController";
|
|
|
|
+ import { Nullable } from "babylonjs/types";
|
|
import { Color3 } from "babylonjs/Maths/math.color";
|
|
import { Color3 } from "babylonjs/Maths/math.color";
|
|
/**
|
|
/**
|
|
* Options interface for the pointer selection module
|
|
* Options interface for the pointer selection module
|
|
@@ -45418,6 +45419,29 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerPointerSelection" {
|
|
* Different button type to use instead of the main component
|
|
* Different button type to use instead of the main component
|
|
*/
|
|
*/
|
|
overrideButtonId?: string;
|
|
overrideButtonId?: string;
|
|
|
|
+ /**
|
|
|
|
+ * The amount of time in miliseconds it takes between pick found something to a pointer down event.
|
|
|
|
+ * Used in gaze modes. Tracked pointer uses the trigger, screen uses touch events
|
|
|
|
+ * 3000 means 3 seconds between pointing at something and selecting it
|
|
|
|
+ */
|
|
|
|
+ timeToSelect?: number;
|
|
|
|
+ /**
|
|
|
|
+ * Disable the pointer up event when the xr controller in screen and gaze mode is disposed (meaning - when the user removed the finger from the screen)
|
|
|
|
+ * If not disabled, the last picked point will be used to execute a pointer up event
|
|
|
|
+ * If disabled, pointer up event will be triggered right after the pointer down event.
|
|
|
|
+ * Used in screen and gaze target ray mode only
|
|
|
|
+ */
|
|
|
|
+ disablePointerUpOnTouchOut: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * For gaze mode (time to select instead of press)
|
|
|
|
+ */
|
|
|
|
+ forceGazeMode: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Factor to be applied to the pointer-moved function in the gaze mode. How sensitive should the gaze mode be when checking if the pointer moved
|
|
|
|
+ * to start a new countdown to the pointer down event.
|
|
|
|
+ * Defaults to 1.
|
|
|
|
+ */
|
|
|
|
+ gazeModePointerMovedFactor?: number;
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* A module that will enable pointer selection for motion controllers of XR Input Sources
|
|
* A module that will enable pointer selection for motion controllers of XR Input Sources
|
|
@@ -45438,11 +45462,11 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerPointerSelection" {
|
|
/**
|
|
/**
|
|
* This color will be set to the laser pointer when selection is triggered
|
|
* This color will be set to the laser pointer when selection is triggered
|
|
*/
|
|
*/
|
|
- onPickedLaserPointerColor: Color3;
|
|
|
|
|
|
+ laserPointerPickedColor: Color3;
|
|
/**
|
|
/**
|
|
* This color will be applied to the selection ring when selection is triggered
|
|
* This color will be applied to the selection ring when selection is triggered
|
|
*/
|
|
*/
|
|
- onPickedSelectionMeshColor: Color3;
|
|
|
|
|
|
+ selectionMeshPickedColor: Color3;
|
|
/**
|
|
/**
|
|
* default color of the selection ring
|
|
* default color of the selection ring
|
|
*/
|
|
*/
|
|
@@ -45481,7 +45505,19 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerPointerSelection" {
|
|
* @returns true if successful.
|
|
* @returns true if successful.
|
|
*/
|
|
*/
|
|
detach(): boolean;
|
|
detach(): boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Get the xr controller that correlates to the pointer id in the pointer event
|
|
|
|
+ *
|
|
|
|
+ * @param id the pointer id to search for
|
|
|
|
+ * @returns the controller that correlates to this id or null if not found
|
|
|
|
+ */
|
|
|
|
+ getXRControllerByPointerId(id: number): Nullable<WebXRController>;
|
|
private _attachController;
|
|
private _attachController;
|
|
|
|
+ private _attachScreenRayMode;
|
|
|
|
+ private _attachGazeMode;
|
|
|
|
+ private _tmpVectorForPickCompare;
|
|
|
|
+ private _pickingMoved;
|
|
|
|
+ private _attachTrackedPointerRayMode;
|
|
private _detachController;
|
|
private _detachController;
|
|
private _generateNewMeshPair;
|
|
private _generateNewMeshPair;
|
|
private _convertNormalToDirectionOfRay;
|
|
private _convertNormalToDirectionOfRay;
|
|
@@ -45721,6 +45757,15 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerTeleportation" {
|
|
*/
|
|
*/
|
|
disableAnimation?: boolean;
|
|
disableAnimation?: boolean;
|
|
};
|
|
};
|
|
|
|
+ /**
|
|
|
|
+ * Disable using the thumbstick and use the main component (usuallly trigger) on long press.
|
|
|
|
+ * This will be automatically true if the controller doesnt have a thumbstick or touchpad.
|
|
|
|
+ */
|
|
|
|
+ useMainComponentOnly?: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * If main component is used (no thumbstick), how long should the "long press" take before teleporting
|
|
|
|
+ */
|
|
|
|
+ timeToTeleport?: number;
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* This is a teleportation feature to be used with webxr-enabled motion controllers.
|
|
* This is a teleportation feature to be used with webxr-enabled motion controllers.
|
|
@@ -45823,6 +45868,7 @@ declare module "babylonjs/Cameras/XR/features/WebXRControllerTeleportation" {
|
|
dispose(): void;
|
|
dispose(): void;
|
|
private _currentTeleportationControllerId;
|
|
private _currentTeleportationControllerId;
|
|
private _attachController;
|
|
private _attachController;
|
|
|
|
+ private _teleportForward;
|
|
private _detachController;
|
|
private _detachController;
|
|
private createDefaultTargetMesh;
|
|
private createDefaultTargetMesh;
|
|
private setTargetMeshVisibility;
|
|
private setTargetMeshVisibility;
|
|
@@ -91770,7 +91816,7 @@ declare module BABYLON {
|
|
*
|
|
*
|
|
* Returns the clone.
|
|
* Returns the clone.
|
|
*/
|
|
*/
|
|
- clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): InstancedMesh;
|
|
/**
|
|
/**
|
|
* Disposes the InstancedMesh.
|
|
* Disposes the InstancedMesh.
|
|
* Returns nothing.
|
|
* Returns nothing.
|
|
@@ -92220,7 +92266,7 @@ declare module BABYLON {
|
|
/**
|
|
/**
|
|
* Returns a new LineMesh object cloned from the current one.
|
|
* Returns a new LineMesh object cloned from the current one.
|
|
*/
|
|
*/
|
|
- clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean): LinesMesh;
|
|
/**
|
|
/**
|
|
* Creates a new InstancedLinesMesh object from the mesh model.
|
|
* Creates a new InstancedLinesMesh object from the mesh model.
|
|
* @see http://doc.babylonjs.com/how_to/how_to_use_instances
|
|
* @see http://doc.babylonjs.com/how_to/how_to_use_instances
|
|
@@ -97120,7 +97166,7 @@ declare module BABYLON {
|
|
* @param clonePhysicsImpostor allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any (default `true`)
|
|
* @param clonePhysicsImpostor allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any (default `true`)
|
|
* @returns a new mesh
|
|
* @returns a new mesh
|
|
*/
|
|
*/
|
|
- clone(name?: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean, clonePhysicsImpostor?: boolean): Nullable<AbstractMesh>;
|
|
|
|
|
|
+ clone(name?: string, newParent?: Nullable<Node>, doNotCloneChildren?: boolean, clonePhysicsImpostor?: boolean): Mesh;
|
|
/**
|
|
/**
|
|
* Releases resources associated with this mesh.
|
|
* Releases resources associated with this mesh.
|
|
* @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)
|
|
* @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)
|
|
@@ -116287,6 +116333,29 @@ declare module BABYLON {
|
|
* Different button type to use instead of the main component
|
|
* Different button type to use instead of the main component
|
|
*/
|
|
*/
|
|
overrideButtonId?: string;
|
|
overrideButtonId?: string;
|
|
|
|
+ /**
|
|
|
|
+ * The amount of time in miliseconds it takes between pick found something to a pointer down event.
|
|
|
|
+ * Used in gaze modes. Tracked pointer uses the trigger, screen uses touch events
|
|
|
|
+ * 3000 means 3 seconds between pointing at something and selecting it
|
|
|
|
+ */
|
|
|
|
+ timeToSelect?: number;
|
|
|
|
+ /**
|
|
|
|
+ * Disable the pointer up event when the xr controller in screen and gaze mode is disposed (meaning - when the user removed the finger from the screen)
|
|
|
|
+ * If not disabled, the last picked point will be used to execute a pointer up event
|
|
|
|
+ * If disabled, pointer up event will be triggered right after the pointer down event.
|
|
|
|
+ * Used in screen and gaze target ray mode only
|
|
|
|
+ */
|
|
|
|
+ disablePointerUpOnTouchOut: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * For gaze mode (time to select instead of press)
|
|
|
|
+ */
|
|
|
|
+ forceGazeMode: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Factor to be applied to the pointer-moved function in the gaze mode. How sensitive should the gaze mode be when checking if the pointer moved
|
|
|
|
+ * to start a new countdown to the pointer down event.
|
|
|
|
+ * Defaults to 1.
|
|
|
|
+ */
|
|
|
|
+ gazeModePointerMovedFactor?: number;
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* A module that will enable pointer selection for motion controllers of XR Input Sources
|
|
* A module that will enable pointer selection for motion controllers of XR Input Sources
|
|
@@ -116307,11 +116376,11 @@ declare module BABYLON {
|
|
/**
|
|
/**
|
|
* This color will be set to the laser pointer when selection is triggered
|
|
* This color will be set to the laser pointer when selection is triggered
|
|
*/
|
|
*/
|
|
- onPickedLaserPointerColor: Color3;
|
|
|
|
|
|
+ laserPointerPickedColor: Color3;
|
|
/**
|
|
/**
|
|
* This color will be applied to the selection ring when selection is triggered
|
|
* This color will be applied to the selection ring when selection is triggered
|
|
*/
|
|
*/
|
|
- onPickedSelectionMeshColor: Color3;
|
|
|
|
|
|
+ selectionMeshPickedColor: Color3;
|
|
/**
|
|
/**
|
|
* default color of the selection ring
|
|
* default color of the selection ring
|
|
*/
|
|
*/
|
|
@@ -116350,7 +116419,19 @@ declare module BABYLON {
|
|
* @returns true if successful.
|
|
* @returns true if successful.
|
|
*/
|
|
*/
|
|
detach(): boolean;
|
|
detach(): boolean;
|
|
|
|
+ /**
|
|
|
|
+ * Get the xr controller that correlates to the pointer id in the pointer event
|
|
|
|
+ *
|
|
|
|
+ * @param id the pointer id to search for
|
|
|
|
+ * @returns the controller that correlates to this id or null if not found
|
|
|
|
+ */
|
|
|
|
+ getXRControllerByPointerId(id: number): Nullable<WebXRController>;
|
|
private _attachController;
|
|
private _attachController;
|
|
|
|
+ private _attachScreenRayMode;
|
|
|
|
+ private _attachGazeMode;
|
|
|
|
+ private _tmpVectorForPickCompare;
|
|
|
|
+ private _pickingMoved;
|
|
|
|
+ private _attachTrackedPointerRayMode;
|
|
private _detachController;
|
|
private _detachController;
|
|
private _generateNewMeshPair;
|
|
private _generateNewMeshPair;
|
|
private _convertNormalToDirectionOfRay;
|
|
private _convertNormalToDirectionOfRay;
|
|
@@ -116575,6 +116656,15 @@ declare module BABYLON {
|
|
*/
|
|
*/
|
|
disableAnimation?: boolean;
|
|
disableAnimation?: boolean;
|
|
};
|
|
};
|
|
|
|
+ /**
|
|
|
|
+ * Disable using the thumbstick and use the main component (usuallly trigger) on long press.
|
|
|
|
+ * This will be automatically true if the controller doesnt have a thumbstick or touchpad.
|
|
|
|
+ */
|
|
|
|
+ useMainComponentOnly?: boolean;
|
|
|
|
+ /**
|
|
|
|
+ * If main component is used (no thumbstick), how long should the "long press" take before teleporting
|
|
|
|
+ */
|
|
|
|
+ timeToTeleport?: number;
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* This is a teleportation feature to be used with webxr-enabled motion controllers.
|
|
* This is a teleportation feature to be used with webxr-enabled motion controllers.
|
|
@@ -116677,6 +116767,7 @@ declare module BABYLON {
|
|
dispose(): void;
|
|
dispose(): void;
|
|
private _currentTeleportationControllerId;
|
|
private _currentTeleportationControllerId;
|
|
private _attachController;
|
|
private _attachController;
|
|
|
|
+ private _teleportForward;
|
|
private _detachController;
|
|
private _detachController;
|
|
private createDefaultTargetMesh;
|
|
private createDefaultTargetMesh;
|
|
private setTargetMeshVisibility;
|
|
private setTargetMeshVisibility;
|