1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- declare module BABYLON {
- interface IPhysicsEnginePlugin {
- initialize(iterations?: number): any;
- setGravity(gravity: Vector3): void;
- runOneStep(delta: number): void;
- registerMesh(mesh: AbstractMesh, impostor: number, options: PhysicsBodyCreationOptions): any;
- registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
- unregisterMesh(mesh: AbstractMesh): any;
- applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
- createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3, options?: any): boolean;
- dispose(): void;
- isSupported(): boolean;
- updateBodyPosition(mesh: AbstractMesh): void;
- }
- interface PhysicsBodyCreationOptions {
- mass: number;
- friction: number;
- restitution: number;
- }
- interface PhysicsCompoundBodyPart {
- mesh: Mesh;
- impostor: number;
- }
- class PhysicsEngine {
- public gravity: Vector3;
- private _currentPlugin;
- constructor(plugin?: IPhysicsEnginePlugin);
- public _initialize(gravity?: Vector3): void;
- public _runOneStep(delta: number): void;
- public _setGravity(gravity: Vector3): void;
- public _registerMesh(mesh: AbstractMesh, impostor: number, options: PhysicsBodyCreationOptions): any;
- public _registerMeshesAsCompound(parts: PhysicsCompoundBodyPart[], options: PhysicsBodyCreationOptions): any;
- public _unregisterMesh(mesh: AbstractMesh): void;
- public _applyImpulse(mesh: AbstractMesh, force: Vector3, contactPoint: Vector3): void;
- public _createLink(mesh1: AbstractMesh, mesh2: AbstractMesh, pivot1: Vector3, pivot2: Vector3, options?: any): boolean;
- public _updateBodyPosition(mesh: AbstractMesh): void;
- public dispose(): void;
- public isSupported(): boolean;
- static NoImpostor: number;
- static SphereImpostor: number;
- static BoxImpostor: number;
- static PlaneImpostor: number;
- static MeshImpostor: number;
- static CapsuleImpostor: number;
- static ConeImpostor: number;
- static CylinderImpostor: number;
- static ConvexHullImpostor: number;
- static Epsilon: number;
- }
- }
|