|
@@ -7024,71 +7024,6 @@ declare module "babylonjs/Animations/animationPropertiesOverride" {
|
|
|
loopMode: number;
|
|
|
}
|
|
|
}
|
|
|
-declare module "babylonjs/Collisions/collider" {
|
|
|
- import { Nullable, IndicesArray } from "babylonjs/types";
|
|
|
- import { Vector3, Plane } from "babylonjs/Maths/math";
|
|
|
- import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
|
- /** @hidden */
|
|
|
- export class Collider {
|
|
|
- /** Define if a collision was found */
|
|
|
- collisionFound: boolean;
|
|
|
- /**
|
|
|
- * Define last intersection point in local space
|
|
|
- */
|
|
|
- intersectionPoint: Vector3;
|
|
|
- /**
|
|
|
- * Define last collided mesh
|
|
|
- */
|
|
|
- collidedMesh: Nullable<AbstractMesh>;
|
|
|
- private _collisionPoint;
|
|
|
- private _planeIntersectionPoint;
|
|
|
- private _tempVector;
|
|
|
- private _tempVector2;
|
|
|
- private _tempVector3;
|
|
|
- private _tempVector4;
|
|
|
- private _edge;
|
|
|
- private _baseToVertex;
|
|
|
- private _destinationPoint;
|
|
|
- private _slidePlaneNormal;
|
|
|
- private _displacementVector;
|
|
|
- /** @hidden */
|
|
|
- _radius: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _retry: number;
|
|
|
- private _velocity;
|
|
|
- private _basePoint;
|
|
|
- private _epsilon;
|
|
|
- /** @hidden */
|
|
|
- _velocityWorldLength: number;
|
|
|
- /** @hidden */
|
|
|
- _basePointWorld: Vector3;
|
|
|
- private _velocityWorld;
|
|
|
- private _normalizedVelocity;
|
|
|
- /** @hidden */
|
|
|
- _initialVelocity: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _initialPosition: Vector3;
|
|
|
- private _nearestDistance;
|
|
|
- private _collisionMask;
|
|
|
- collisionMask: number;
|
|
|
- /**
|
|
|
- * Gets the plane normal used to compute the sliding response (in local space)
|
|
|
- */
|
|
|
- readonly slidePlaneNormal: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _initialize(source: Vector3, dir: Vector3, e: number): void;
|
|
|
- /** @hidden */
|
|
|
- _checkPointInTriangle(point: Vector3, pa: Vector3, pb: Vector3, pc: Vector3, n: Vector3): boolean;
|
|
|
- /** @hidden */
|
|
|
- _canDoCollision(sphereCenter: Vector3, sphereRadius: number, vecMin: Vector3, vecMax: Vector3): boolean;
|
|
|
- /** @hidden */
|
|
|
- _testTriangle(faceIndex: number, trianglePlaneArray: Array<Plane>, p1: Vector3, p2: Vector3, p3: Vector3, hasMaterial: boolean): void;
|
|
|
- /** @hidden */
|
|
|
- _collide(trianglePlaneArray: Array<Plane>, pts: Vector3[], indices: IndicesArray, indexStart: number, indexEnd: number, decal: number, hasMaterial: boolean): void;
|
|
|
- /** @hidden */
|
|
|
- _getResponse(pos: Vector3, vel: Vector3): void;
|
|
|
- }
|
|
|
-}
|
|
|
declare module "babylonjs/Collisions/intersectionInfo" {
|
|
|
import { Nullable } from "babylonjs/types";
|
|
|
/**
|
|
@@ -7436,12 +7371,77 @@ declare module "babylonjs/Culling/boundingBox" {
|
|
|
static IsInFrustum(boundingVectors: Array<DeepImmutable<Vector3>>, frustumPlanes: Array<DeepImmutable<Plane>>): boolean;
|
|
|
}
|
|
|
}
|
|
|
+declare module "babylonjs/Collisions/collider" {
|
|
|
+ import { Nullable, IndicesArray } from "babylonjs/types";
|
|
|
+ import { Vector3, Plane } from "babylonjs/Maths/math";
|
|
|
+ import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
|
+ /** @hidden */
|
|
|
+ export class Collider {
|
|
|
+ /** Define if a collision was found */
|
|
|
+ collisionFound: boolean;
|
|
|
+ /**
|
|
|
+ * Define last intersection point in local space
|
|
|
+ */
|
|
|
+ intersectionPoint: Vector3;
|
|
|
+ /**
|
|
|
+ * Define last collided mesh
|
|
|
+ */
|
|
|
+ collidedMesh: Nullable<AbstractMesh>;
|
|
|
+ private _collisionPoint;
|
|
|
+ private _planeIntersectionPoint;
|
|
|
+ private _tempVector;
|
|
|
+ private _tempVector2;
|
|
|
+ private _tempVector3;
|
|
|
+ private _tempVector4;
|
|
|
+ private _edge;
|
|
|
+ private _baseToVertex;
|
|
|
+ private _destinationPoint;
|
|
|
+ private _slidePlaneNormal;
|
|
|
+ private _displacementVector;
|
|
|
+ /** @hidden */
|
|
|
+ _radius: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _retry: number;
|
|
|
+ private _velocity;
|
|
|
+ private _basePoint;
|
|
|
+ private _epsilon;
|
|
|
+ /** @hidden */
|
|
|
+ _velocityWorldLength: number;
|
|
|
+ /** @hidden */
|
|
|
+ _basePointWorld: Vector3;
|
|
|
+ private _velocityWorld;
|
|
|
+ private _normalizedVelocity;
|
|
|
+ /** @hidden */
|
|
|
+ _initialVelocity: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _initialPosition: Vector3;
|
|
|
+ private _nearestDistance;
|
|
|
+ private _collisionMask;
|
|
|
+ collisionMask: number;
|
|
|
+ /**
|
|
|
+ * Gets the plane normal used to compute the sliding response (in local space)
|
|
|
+ */
|
|
|
+ readonly slidePlaneNormal: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _initialize(source: Vector3, dir: Vector3, e: number): void;
|
|
|
+ /** @hidden */
|
|
|
+ _checkPointInTriangle(point: Vector3, pa: Vector3, pb: Vector3, pc: Vector3, n: Vector3): boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _canDoCollision(sphereCenter: Vector3, sphereRadius: number, vecMin: Vector3, vecMax: Vector3): boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _testTriangle(faceIndex: number, trianglePlaneArray: Array<Plane>, p1: Vector3, p2: Vector3, p3: Vector3, hasMaterial: boolean): void;
|
|
|
+ /** @hidden */
|
|
|
+ _collide(trianglePlaneArray: Array<Plane>, pts: Vector3[], indices: IndicesArray, indexStart: number, indexEnd: number, decal: number, hasMaterial: boolean): void;
|
|
|
+ /** @hidden */
|
|
|
+ _getResponse(pos: Vector3, vel: Vector3): void;
|
|
|
+ }
|
|
|
+}
|
|
|
declare module "babylonjs/Culling/boundingInfo" {
|
|
|
import { DeepImmutable } from "babylonjs/types";
|
|
|
import { Matrix, Vector3, Plane } from "babylonjs/Maths/math";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { BoundingBox } from "babylonjs/Culling/boundingBox";
|
|
|
import { BoundingSphere } from "babylonjs/Culling/boundingSphere";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
/**
|
|
|
* Interface for cullable objects
|
|
|
* @see https://doc.babylonjs.com/babylon101/materials#back-face-culling
|
|
@@ -21917,11 +21917,11 @@ declare module "babylonjs/Meshes/subMesh" {
|
|
|
import { Nullable, IndicesArray, DeepImmutable } from "babylonjs/types";
|
|
|
import { Matrix, Vector3, Plane } from "babylonjs/Maths/math";
|
|
|
import { Engine } from "babylonjs/Engines/engine";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { IntersectionInfo } from "babylonjs/Collisions/intersectionInfo";
|
|
|
import { Ray } from "babylonjs/Culling/ray";
|
|
|
import { ICullable, BoundingInfo } from "babylonjs/Culling/boundingInfo";
|
|
|
import { Effect } from "babylonjs/Materials/effect";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { Material } from "babylonjs/Materials/material";
|
|
|
import { MaterialDefines } from "babylonjs/Materials/materialDefines";
|
|
|
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
@@ -23672,7 +23672,6 @@ declare module "babylonjs/Meshes/abstractMesh" {
|
|
|
import { TransformNode } from "babylonjs/Meshes/transformNode";
|
|
|
import { SubMesh } from "babylonjs/Meshes/subMesh";
|
|
|
import { PickingInfo } from "babylonjs/Collisions/pickingInfo";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { Ray } from "babylonjs/Culling/ray";
|
|
|
import { ICullable, BoundingInfo } from "babylonjs/Culling/boundingInfo";
|
|
|
import { Material } from "babylonjs/Materials/material";
|
|
@@ -23681,6 +23680,7 @@ declare module "babylonjs/Meshes/abstractMesh" {
|
|
|
import { IEdgesRenderer } from "babylonjs/Rendering/edgesRenderer";
|
|
|
import { SolidParticle } from "babylonjs/Particles/solidParticle";
|
|
|
import { AbstractActionManager } from "babylonjs/Actions/abstractActionManager";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
/**
|
|
|
* Class used to store all common mesh properties
|
|
|
*/
|
|
@@ -31443,35 +31443,22 @@ declare module "babylonjs/Collisions/collisionCoordinator" {
|
|
|
import { Scene } from "babylonjs/scene";
|
|
|
import { Vector3 } from "babylonjs/Maths/math";
|
|
|
import { Collider } from "babylonjs/Collisions/collider";
|
|
|
- import { Geometry } from "babylonjs/Meshes/geometry";
|
|
|
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
|
/** @hidden */
|
|
|
export interface ICollisionCoordinator {
|
|
|
+ createCollider(): Collider;
|
|
|
getNewPosition(position: Vector3, displacement: Vector3, collider: Collider, maximumRetry: number, excludedMesh: Nullable<AbstractMesh>, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh>) => void, collisionIndex: number): void;
|
|
|
init(scene: Scene): void;
|
|
|
- destroy(): void;
|
|
|
- onMeshAdded(mesh: AbstractMesh): void;
|
|
|
- onMeshUpdated(mesh: AbstractMesh): void;
|
|
|
- onMeshRemoved(mesh: AbstractMesh): void;
|
|
|
- onGeometryAdded(geometry: Geometry): void;
|
|
|
- onGeometryUpdated(geometry: Geometry): void;
|
|
|
- onGeometryDeleted(geometry: Geometry): void;
|
|
|
}
|
|
|
/** @hidden */
|
|
|
- export class CollisionCoordinatorLegacy implements ICollisionCoordinator {
|
|
|
+ export class DefaultCollisionCoordinator implements ICollisionCoordinator {
|
|
|
private _scene;
|
|
|
private _scaledPosition;
|
|
|
private _scaledVelocity;
|
|
|
private _finalPosition;
|
|
|
getNewPosition(position: Vector3, displacement: Vector3, collider: Collider, maximumRetry: number, excludedMesh: AbstractMesh, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh>) => void, collisionIndex: number): void;
|
|
|
+ createCollider(): Collider;
|
|
|
init(scene: Scene): void;
|
|
|
- destroy(): void;
|
|
|
- onMeshAdded(mesh: AbstractMesh): void;
|
|
|
- onMeshUpdated(mesh: AbstractMesh): void;
|
|
|
- onMeshRemoved(mesh: AbstractMesh): void;
|
|
|
- onGeometryAdded(geometry: Geometry): void;
|
|
|
- onGeometryUpdated(geometry: Geometry): void;
|
|
|
- onGeometryDeleted(geometry: Geometry): void;
|
|
|
private _collideWithWorld;
|
|
|
}
|
|
|
}
|
|
@@ -31506,7 +31493,6 @@ declare module "babylonjs/scene" {
|
|
|
import { AnimationPropertiesOverride } from "babylonjs/Animations/animationPropertiesOverride";
|
|
|
import { Light } from "babylonjs/Lights/light";
|
|
|
import { PickingInfo } from "babylonjs/Collisions/pickingInfo";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { ICollisionCoordinator } from "babylonjs/Collisions/collisionCoordinator";
|
|
|
import { PointerEventTypes, PointerInfoPre, PointerInfo } from "babylonjs/Events/pointerEvents";
|
|
|
import { KeyboardInfoPre, KeyboardInfo } from "babylonjs/Events/keyboardEvents";
|
|
@@ -31520,6 +31506,7 @@ declare module "babylonjs/scene" {
|
|
|
import { Node } from "babylonjs/node";
|
|
|
import { MorphTarget } from "babylonjs/Morph/morphTarget";
|
|
|
import { AbstractActionManager } from "babylonjs/Actions/abstractActionManager";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
/**
|
|
|
* Define an interface for all classes that will hold resources
|
|
|
*/
|
|
@@ -31578,6 +31565,11 @@ declare module "babylonjs/scene" {
|
|
|
* @returns The default material
|
|
|
*/
|
|
|
static DefaultMaterialFactory(scene: Scene): Material;
|
|
|
+ /**
|
|
|
+ * Factory used to create the a collision coordinator.
|
|
|
+ * @returns The collision coordinator
|
|
|
+ */
|
|
|
+ static CollisionCoordinatorFactory(): ICollisionCoordinator;
|
|
|
/** @hidden */
|
|
|
readonly _isScene: boolean;
|
|
|
/**
|
|
@@ -32069,8 +32061,9 @@ declare module "babylonjs/scene" {
|
|
|
* @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity
|
|
|
*/
|
|
|
collisionsEnabled: boolean;
|
|
|
+ private _collisionCoordinator;
|
|
|
/** @hidden */
|
|
|
- collisionCoordinator: ICollisionCoordinator;
|
|
|
+ readonly collisionCoordinator: ICollisionCoordinator;
|
|
|
/**
|
|
|
* Defines the gravity applied to this scene (used only for collisions)
|
|
|
* @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity
|
|
@@ -32379,11 +32372,6 @@ declare module "babylonjs/scene" {
|
|
|
*/
|
|
|
setDefaultCandidateProviders(): void;
|
|
|
/**
|
|
|
- * Gets a boolean indicating if collisions are processed on a web worker
|
|
|
- * @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#web-worker-based-collision-system-since-21
|
|
|
- */
|
|
|
- workerCollisions: boolean;
|
|
|
- /**
|
|
|
* Gets the mesh that is currently under the pointer
|
|
|
*/
|
|
|
readonly meshUnderPointer: Nullable<AbstractMesh>;
|
|
@@ -34845,10 +34833,10 @@ declare module "babylonjs/Cameras/arcRotateCamera" {
|
|
|
import { AutoRotationBehavior } from "babylonjs/Behaviors/Cameras/autoRotationBehavior";
|
|
|
import { BouncingBehavior } from "babylonjs/Behaviors/Cameras/bouncingBehavior";
|
|
|
import { FramingBehavior } from "babylonjs/Behaviors/Cameras/framingBehavior";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { Camera } from "babylonjs/Cameras/camera";
|
|
|
import { TargetCamera } from "babylonjs/Cameras/targetCamera";
|
|
|
import { ArcRotateCameraInputsManager } from "babylonjs/Cameras/arcRotateCameraInputsManager";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
/**
|
|
|
* This represents an orbital type of camera.
|
|
|
*
|
|
@@ -40349,9 +40337,9 @@ declare module "babylonjs/Culling/Octrees/octreeSceneComponent" {
|
|
|
import { Scene } from "babylonjs/scene";
|
|
|
import { SubMesh } from "babylonjs/Meshes/subMesh";
|
|
|
import { AbstractMesh } from "babylonjs/Meshes/abstractMesh";
|
|
|
- import { Collider } from "babylonjs/Collisions/collider";
|
|
|
import { Ray } from "babylonjs/Culling/ray";
|
|
|
import { Octree } from "babylonjs/Culling/Octrees/octree";
|
|
|
+ import { Collider } from "babylonjs/Collisions/collider";
|
|
|
module "babylonjs/scene" {
|
|
|
interface Scene {
|
|
|
/**
|
|
@@ -63442,68 +63430,6 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
declare module BABYLON {
|
|
|
- /** @hidden */
|
|
|
- export class Collider {
|
|
|
- /** Define if a collision was found */
|
|
|
- collisionFound: boolean;
|
|
|
- /**
|
|
|
- * Define last intersection point in local space
|
|
|
- */
|
|
|
- intersectionPoint: Vector3;
|
|
|
- /**
|
|
|
- * Define last collided mesh
|
|
|
- */
|
|
|
- collidedMesh: Nullable<AbstractMesh>;
|
|
|
- private _collisionPoint;
|
|
|
- private _planeIntersectionPoint;
|
|
|
- private _tempVector;
|
|
|
- private _tempVector2;
|
|
|
- private _tempVector3;
|
|
|
- private _tempVector4;
|
|
|
- private _edge;
|
|
|
- private _baseToVertex;
|
|
|
- private _destinationPoint;
|
|
|
- private _slidePlaneNormal;
|
|
|
- private _displacementVector;
|
|
|
- /** @hidden */
|
|
|
- _radius: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _retry: number;
|
|
|
- private _velocity;
|
|
|
- private _basePoint;
|
|
|
- private _epsilon;
|
|
|
- /** @hidden */
|
|
|
- _velocityWorldLength: number;
|
|
|
- /** @hidden */
|
|
|
- _basePointWorld: Vector3;
|
|
|
- private _velocityWorld;
|
|
|
- private _normalizedVelocity;
|
|
|
- /** @hidden */
|
|
|
- _initialVelocity: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _initialPosition: Vector3;
|
|
|
- private _nearestDistance;
|
|
|
- private _collisionMask;
|
|
|
- collisionMask: number;
|
|
|
- /**
|
|
|
- * Gets the plane normal used to compute the sliding response (in local space)
|
|
|
- */
|
|
|
- readonly slidePlaneNormal: Vector3;
|
|
|
- /** @hidden */
|
|
|
- _initialize(source: Vector3, dir: Vector3, e: number): void;
|
|
|
- /** @hidden */
|
|
|
- _checkPointInTriangle(point: Vector3, pa: Vector3, pb: Vector3, pc: Vector3, n: Vector3): boolean;
|
|
|
- /** @hidden */
|
|
|
- _canDoCollision(sphereCenter: Vector3, sphereRadius: number, vecMin: Vector3, vecMax: Vector3): boolean;
|
|
|
- /** @hidden */
|
|
|
- _testTriangle(faceIndex: number, trianglePlaneArray: Array<Plane>, p1: Vector3, p2: Vector3, p3: Vector3, hasMaterial: boolean): void;
|
|
|
- /** @hidden */
|
|
|
- _collide(trianglePlaneArray: Array<Plane>, pts: Vector3[], indices: IndicesArray, indexStart: number, indexEnd: number, decal: number, hasMaterial: boolean): void;
|
|
|
- /** @hidden */
|
|
|
- _getResponse(pos: Vector3, vel: Vector3): void;
|
|
|
- }
|
|
|
-}
|
|
|
-declare module BABYLON {
|
|
|
/**
|
|
|
* @hidden
|
|
|
*/
|
|
@@ -63839,6 +63765,68 @@ declare module BABYLON {
|
|
|
}
|
|
|
}
|
|
|
declare module BABYLON {
|
|
|
+ /** @hidden */
|
|
|
+ export class Collider {
|
|
|
+ /** Define if a collision was found */
|
|
|
+ collisionFound: boolean;
|
|
|
+ /**
|
|
|
+ * Define last intersection point in local space
|
|
|
+ */
|
|
|
+ intersectionPoint: Vector3;
|
|
|
+ /**
|
|
|
+ * Define last collided mesh
|
|
|
+ */
|
|
|
+ collidedMesh: Nullable<AbstractMesh>;
|
|
|
+ private _collisionPoint;
|
|
|
+ private _planeIntersectionPoint;
|
|
|
+ private _tempVector;
|
|
|
+ private _tempVector2;
|
|
|
+ private _tempVector3;
|
|
|
+ private _tempVector4;
|
|
|
+ private _edge;
|
|
|
+ private _baseToVertex;
|
|
|
+ private _destinationPoint;
|
|
|
+ private _slidePlaneNormal;
|
|
|
+ private _displacementVector;
|
|
|
+ /** @hidden */
|
|
|
+ _radius: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _retry: number;
|
|
|
+ private _velocity;
|
|
|
+ private _basePoint;
|
|
|
+ private _epsilon;
|
|
|
+ /** @hidden */
|
|
|
+ _velocityWorldLength: number;
|
|
|
+ /** @hidden */
|
|
|
+ _basePointWorld: Vector3;
|
|
|
+ private _velocityWorld;
|
|
|
+ private _normalizedVelocity;
|
|
|
+ /** @hidden */
|
|
|
+ _initialVelocity: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _initialPosition: Vector3;
|
|
|
+ private _nearestDistance;
|
|
|
+ private _collisionMask;
|
|
|
+ collisionMask: number;
|
|
|
+ /**
|
|
|
+ * Gets the plane normal used to compute the sliding response (in local space)
|
|
|
+ */
|
|
|
+ readonly slidePlaneNormal: Vector3;
|
|
|
+ /** @hidden */
|
|
|
+ _initialize(source: Vector3, dir: Vector3, e: number): void;
|
|
|
+ /** @hidden */
|
|
|
+ _checkPointInTriangle(point: Vector3, pa: Vector3, pb: Vector3, pc: Vector3, n: Vector3): boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _canDoCollision(sphereCenter: Vector3, sphereRadius: number, vecMin: Vector3, vecMax: Vector3): boolean;
|
|
|
+ /** @hidden */
|
|
|
+ _testTriangle(faceIndex: number, trianglePlaneArray: Array<Plane>, p1: Vector3, p2: Vector3, p3: Vector3, hasMaterial: boolean): void;
|
|
|
+ /** @hidden */
|
|
|
+ _collide(trianglePlaneArray: Array<Plane>, pts: Vector3[], indices: IndicesArray, indexStart: number, indexEnd: number, decal: number, hasMaterial: boolean): void;
|
|
|
+ /** @hidden */
|
|
|
+ _getResponse(pos: Vector3, vel: Vector3): void;
|
|
|
+ }
|
|
|
+}
|
|
|
+declare module BABYLON {
|
|
|
/**
|
|
|
* Interface for cullable objects
|
|
|
* @see https://doc.babylonjs.com/babylon101/materials#back-face-culling
|
|
@@ -87176,31 +87164,19 @@ declare module BABYLON {
|
|
|
declare module BABYLON {
|
|
|
/** @hidden */
|
|
|
export interface ICollisionCoordinator {
|
|
|
+ createCollider(): Collider;
|
|
|
getNewPosition(position: Vector3, displacement: Vector3, collider: Collider, maximumRetry: number, excludedMesh: Nullable<AbstractMesh>, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh>) => void, collisionIndex: number): void;
|
|
|
init(scene: Scene): void;
|
|
|
- destroy(): void;
|
|
|
- onMeshAdded(mesh: AbstractMesh): void;
|
|
|
- onMeshUpdated(mesh: AbstractMesh): void;
|
|
|
- onMeshRemoved(mesh: AbstractMesh): void;
|
|
|
- onGeometryAdded(geometry: Geometry): void;
|
|
|
- onGeometryUpdated(geometry: Geometry): void;
|
|
|
- onGeometryDeleted(geometry: Geometry): void;
|
|
|
}
|
|
|
/** @hidden */
|
|
|
- export class CollisionCoordinatorLegacy implements ICollisionCoordinator {
|
|
|
+ export class DefaultCollisionCoordinator implements ICollisionCoordinator {
|
|
|
private _scene;
|
|
|
private _scaledPosition;
|
|
|
private _scaledVelocity;
|
|
|
private _finalPosition;
|
|
|
getNewPosition(position: Vector3, displacement: Vector3, collider: Collider, maximumRetry: number, excludedMesh: AbstractMesh, onNewPosition: (collisionIndex: number, newPosition: Vector3, collidedMesh: Nullable<AbstractMesh>) => void, collisionIndex: number): void;
|
|
|
+ createCollider(): Collider;
|
|
|
init(scene: Scene): void;
|
|
|
- destroy(): void;
|
|
|
- onMeshAdded(mesh: AbstractMesh): void;
|
|
|
- onMeshUpdated(mesh: AbstractMesh): void;
|
|
|
- onMeshRemoved(mesh: AbstractMesh): void;
|
|
|
- onGeometryAdded(geometry: Geometry): void;
|
|
|
- onGeometryUpdated(geometry: Geometry): void;
|
|
|
- onGeometryDeleted(geometry: Geometry): void;
|
|
|
private _collideWithWorld;
|
|
|
}
|
|
|
}
|
|
@@ -87263,6 +87239,11 @@ declare module BABYLON {
|
|
|
* @returns The default material
|
|
|
*/
|
|
|
static DefaultMaterialFactory(scene: Scene): Material;
|
|
|
+ /**
|
|
|
+ * Factory used to create the a collision coordinator.
|
|
|
+ * @returns The collision coordinator
|
|
|
+ */
|
|
|
+ static CollisionCoordinatorFactory(): ICollisionCoordinator;
|
|
|
/** @hidden */
|
|
|
readonly _isScene: boolean;
|
|
|
/**
|
|
@@ -87754,8 +87735,9 @@ declare module BABYLON {
|
|
|
* @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity
|
|
|
*/
|
|
|
collisionsEnabled: boolean;
|
|
|
+ private _collisionCoordinator;
|
|
|
/** @hidden */
|
|
|
- collisionCoordinator: ICollisionCoordinator;
|
|
|
+ readonly collisionCoordinator: ICollisionCoordinator;
|
|
|
/**
|
|
|
* Defines the gravity applied to this scene (used only for collisions)
|
|
|
* @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity
|
|
@@ -88064,11 +88046,6 @@ declare module BABYLON {
|
|
|
*/
|
|
|
setDefaultCandidateProviders(): void;
|
|
|
/**
|
|
|
- * Gets a boolean indicating if collisions are processed on a web worker
|
|
|
- * @see http://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#web-worker-based-collision-system-since-21
|
|
|
- */
|
|
|
- workerCollisions: boolean;
|
|
|
- /**
|
|
|
* Gets the mesh that is currently under the pointer
|
|
|
*/
|
|
|
readonly meshUnderPointer: Nullable<AbstractMesh>;
|