@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
23 lines (22 loc) • 1.21 kB
TypeScript
import type { Nullable } from "../types.js";
import { Scene } from "../scene.js";
import { Vector3 } from "../Maths/math.vector.js";
import { Collider } from "./collider.js";
import type { AbstractMesh } from "../Meshes/abstractMesh.js";
/** @internal */
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;
}
/** @internal */
export declare 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;
private _collideWithWorld;
}