@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.
46 lines (45 loc) • 1.98 kB
TypeScript
import type { Nullable } from "../../types.js";
import type { Observer } from "../../Misc/observable.js";
import type { Vector3 } from "../../Maths/math.vector.js";
import type { Mesh } from "../../Meshes/mesh.js";
import type { Node } from "../../node.js";
import type { PhysicsImpostor } from "./physicsImpostor.js";
declare module "../../Meshes/abstractMesh.js" {
/**
*
*/
interface AbstractMesh {
/** @internal */
_physicsImpostor: Nullable<PhysicsImpostor>;
/**
* Gets or sets impostor used for physic simulation
* @see https://doc.babylonjs.com/features/featuresDeepDive/physics
*/
physicsImpostor: Nullable<PhysicsImpostor>;
/**
* Gets the current physics impostor
* @see https://doc.babylonjs.com/features/featuresDeepDive/physics
* @returns a physics impostor or null
*/
getPhysicsImpostor(): Nullable<PhysicsImpostor>;
/** Apply a physic impulse to the mesh
* @param force defines the force to apply
* @param contactPoint defines where to apply the force
* @returns the current mesh
* @see https://doc.babylonjs.com/features/featuresDeepDive/physics/usingPhysicsEngine
*/
applyImpulse(force: Vector3, contactPoint: Vector3): AbstractMesh;
/**
* Creates a physic joint between two meshes
* @param otherMesh defines the other mesh to use
* @param pivot1 defines the pivot to use on this mesh
* @param pivot2 defines the pivot to use on the other mesh
* @param options defines additional options (can be plugin dependent)
* @returns the current mesh
* @see https://www.babylonjs-playground.com/#0BS5U0#0
*/
setPhysicsLinkWith(otherMesh: Mesh, pivot1: Vector3, pivot2: Vector3, options?: any): AbstractMesh;
/** @internal */
_disposePhysicsObserver: Nullable<Observer<Node>>;
}
}