angular-three-rapier
Version:
Physics Rapier for Angular Three
27 lines (26 loc) • 1.36 kB
TypeScript
import { Quaternion as RapierQuaternion, Vector3 as RapierVector3 } from '@dimforge/rapier3d-compat';
import { NgtEuler, NgtQuaternion, NgtVector3 } from 'angular-three';
import { Object3D } from 'three';
import { NgtrColliderOptions, NgtrColliderShape, NgtrRigidBodyOptions } from './types';
/**
* Creates a proxy that will create a singleton instance of the given class
* when a property is accessed, and not before.
*
* @returns A proxy and a reset function, so that the instance can created again
*/
export declare const createSingletonProxy: <SingletonClass extends object, CreationFn extends () => SingletonClass = () => SingletonClass>(createInstance: CreationFn) => {
proxy: SingletonClass;
reset: () => void;
set: (newInstance: SingletonClass) => void;
};
export declare function rapierQuaternionToQuaternion({ x, y, z, w }: RapierQuaternion): import("three").Quaternion;
export declare function vector3ToRapierVector(v: NgtVector3): RapierVector3;
export declare function quaternionToRapierQuaternion(v: NgtQuaternion): RapierQuaternion;
export declare function createColliderOptions(object: Object3D, options: NgtrRigidBodyOptions, ignoreMeshColliders?: boolean): {
colliderOptions: NgtrColliderOptions;
args: unknown[];
shape: NgtrColliderShape;
rotation: NgtEuler;
position: NgtVector3;
scale: NgtVector3;
}[];