UNPKG

@rjfwhite/random-lib

Version:

Core engine for MML

95 lines 2.83 kB
import { AttachmentRule, Behavior } from "./types"; import * as RAPIER from "@dimforge/rapier3d-compat"; export declare class TransformBehavior extends Behavior { static getAttachmentRules(): AttachmentRule[]; static elementToRigidBody: Map<Element, RAPIER.RigidBody>; static elementToCollider: Map<Element, RAPIER.Collider>; private rigidBody; private collider; private isInitialized; private hasRigidBody; private hasCollider; private parentRigidBody; private mass; private friction; private restitution; private linearDamping; private angularDamping; private bodyType; private colliderShape; private lockedRotations; private width; private height; private depth; private radius; onAttach(): void; onDetach(): void; private shouldHaveCollider; private findParentRigidBody; private readPhysicsConfiguration; private readColliderConfiguration; private readSizeParameters; private waitForPhysicsAndCreate; private createPhysicsComponents; private retryParentAttachment; private createRigidBody; private createCollider; private calculateWorldTransform; private calculateRelativeTransform; private cleanup; tick(): void; onAttributeChange(attributeName: string, oldValue: string | null, newValue: string | null): void; private updateColliderBounds; getNearbyElementsWithClass(className: string, range?: number): Element[]; getRigidBody(): RAPIER.RigidBody | null; getCollider(): RAPIER.Collider | null; getParentRigidBody(): RAPIER.RigidBody | null; hasOwnRigidBody(): boolean; hasOwnCollider(): boolean; applyForce(force: { x: number; y: number; z: number; }, point?: { x: number; y: number; z: number; }): void; applyImpulse(impulse: { x: number; y: number; z: number; }, point?: { x: number; y: number; z: number; }): void; setVelocity(velocity: { x: number; y: number; z: number; }): void; setAngularVelocity(angularVelocity: { x: number; y: number; z: number; }): void; setPosition(position: { x: number; y: number; z: number; }): void; static getRigidBodyForElement(element: Element): RAPIER.RigidBody | null; static getColliderForElement(element: Element): RAPIER.Collider | null; static getEffectiveRigidBodyForElement(element: Element): RAPIER.RigidBody | null; static applyImpulseToElement(element: Element, impulse: { x: number; y: number; z: number; }, point?: { x: number; y: number; z: number; }): boolean; } //# sourceMappingURL=TransformBehavior.d.ts.map