import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import type { DeepImmutable, Nullable, Tuple } from "@babylonjs/core/types"; import type { IWasmTypedArray } from "../../../../Misc/IWasmTypedArray"; import type { IBulletWasmInstance } from "../../bulletWasmInstance"; import type { IRigidBodyImpl } from "../IRigidBodyImpl"; export declare class BufferedRigidBodyImpl implements IRigidBodyImpl { readonly shouldSync: boolean; private _isDirty; /** * for setTransformMatrix */ private readonly _motionStateMatrixBuffer; private _isMotionStateMatrixBufferDirty; /** * for setDynamicTransformMatrix */ private _dynamicTransformMatrixBuffer; private _isDynamicTransformMatrixBufferDirty; /** * for effectiveKinematicState */ private _kinematicState; private _isKinematicStateDirty; private readonly _commandBuffer; constructor(); get needToCommit(): boolean; commitToWasm(wasmInstance: IBulletWasmInstance, bodyPtr: number, motionStatePtr: IWasmTypedArray, kinematicStatePtr: IWasmTypedArray, worldTransformPtr: Nullable>): void; setTransformMatrixFromArray(_motionStatePtr: IWasmTypedArray, _kinematicStatePtr: IWasmTypedArray, array: DeepImmutable>, offset: number): void; setDynamicTransformMatrixFromArray(_worldTransformPtr: IWasmTypedArray, array: DeepImmutable>, offset: number): void; getEffectiveKinematicState(_kinematicStatePtr: IWasmTypedArray): boolean; setEffectiveKinematicState(_kinematicStatePtr: IWasmTypedArray, value: boolean): void; setDamping(_wasmInstance: IBulletWasmInstance, _bodyPtr: number, linearDamping: number, angularDamping: number): void; getLinearDamping(wasmInstance: IBulletWasmInstance, bodyPtr: number): number; getAngularDamping(wasmInstance: IBulletWasmInstance, bodyPtr: number): number; setMassProps(_wasmInstance: IBulletWasmInstance, _bodyPtr: number, mass: number, localInertia: DeepImmutable): void; getMass(wasmInstance: IBulletWasmInstance, bodyPtr: number): number; getLocalInertia(wasmInstance: IBulletWasmInstance, bodyPtr: number): Vector3; translate(_wasmInstance: IBulletWasmInstance, _bodyPtr: number, translation: DeepImmutable): void; setLinearVelocity(linearVelocity: DeepImmutable): void; setAngularVelocity(angularVelocity: DeepImmutable): void; }