import type { Nullable } from "../../types"; import type { Observer } from "../../Misc/observable"; import type { Vector3 } from "../../Maths/math.vector"; import type { Node } from "../../node"; import type { PhysicsBody } from "./physicsBody"; import "../joinedPhysicsEngineComponent"; declare module "../../Meshes/transformNode" { /** * */ /** @internal */ interface TransformNode { /** @internal */ _physicsBody: Nullable; /** * @see */ physicsBody: Nullable; /** * */ getPhysicsBody(): Nullable; /** 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 */ applyImpulse(force: Vector3, contactPoint: Vector3): TransformNode; /** Apply a physic angular impulse to the mesh * @param angularImpulse defines the torque to apply * @returns the current mesh */ applyAngularImpulse(angularImpulse: Vector3): TransformNode; /** @internal */ _disposePhysicsObserver: Nullable>; } }