UNPKG

@box2d/debug-draw

Version:

Debug drawing helper for @box2d

109 lines 3.96 kB
import { b2Vec2, b2Mat22 } from "../common/b2_math"; import { b2ManifoldType } from "../collision/b2_collision"; import { b2Contact } from "./b2_contact"; import { b2TimeStep, b2Position, b2Velocity } from "./b2_time_step"; export declare function b2SetBlockSolve(value: boolean): void; export declare function b2GetBlockSolve(): boolean; declare class b2VelocityConstraintPoint { readonly rA: b2Vec2; readonly rB: b2Vec2; normalImpulse: number; tangentImpulse: number; normalMass: number; tangentMass: number; velocityBias: number; } /** @internal */ export declare class b2ContactVelocityConstraint { readonly points: b2VelocityConstraintPoint[]; readonly normal: b2Vec2; readonly tangent: b2Vec2; readonly normalMass: b2Mat22; readonly K: b2Mat22; indexA: number; indexB: number; invMassA: number; invMassB: number; invIA: number; invIB: number; friction: number; restitution: number; threshold: number; tangentSpeed: number; pointCount: number; contactIndex: number; } declare class b2ContactPositionConstraint { readonly localPoints: b2Vec2[]; readonly localNormal: b2Vec2; readonly localPoint: b2Vec2; indexA: number; indexB: number; invMassA: number; invMassB: number; readonly localCenterA: b2Vec2; readonly localCenterB: b2Vec2; invIA: number; invIB: number; type: b2ManifoldType; radiusA: number; radiusB: number; pointCount: number; } /** @internal */ export declare class b2ContactSolverDef { readonly step: b2TimeStep; contacts: b2Contact[]; count: number; positions: b2Position[]; velocities: b2Velocity[]; } /** @internal */ export declare class b2ContactSolver { readonly m_step: b2TimeStep; m_positions: b2Position[]; m_velocities: b2Velocity[]; readonly m_positionConstraints: b2ContactPositionConstraint[]; readonly m_velocityConstraints: b2ContactVelocityConstraint[]; m_contacts: b2Contact[]; m_count: number; Initialize(def: b2ContactSolverDef): b2ContactSolver; private static InitializeVelocityConstraints_s_xfA; private static InitializeVelocityConstraints_s_xfB; private static InitializeVelocityConstraints_s_worldManifold; /** Initialize position dependent portions of the velocity constraints. */ InitializeVelocityConstraints(): void; private static WarmStart_s_P; WarmStart(): void; private static SolveVelocityConstraints_s_dv; private static SolveVelocityConstraints_s_dv1; private static SolveVelocityConstraints_s_dv2; private static SolveVelocityConstraints_s_P; private static SolveVelocityConstraints_s_a; private static SolveVelocityConstraints_s_b; private static SolveVelocityConstraints_s_x; private static SolveVelocityConstraints_s_d; private static SolveVelocityConstraints_s_P1; private static SolveVelocityConstraints_s_P2; private static SolveVelocityConstraints_s_P1P2; SolveVelocityConstraints(): void; StoreImpulses(): void; private static SolvePositionConstraints_s_xfA; private static SolvePositionConstraints_s_xfB; private static SolvePositionConstraints_s_psm; private static SolvePositionConstraints_s_rA; private static SolvePositionConstraints_s_rB; private static SolvePositionConstraints_s_P; /** Sequential solver. */ SolvePositionConstraints(): boolean; private static SolveTOIPositionConstraints_s_xfA; private static SolveTOIPositionConstraints_s_xfB; private static SolveTOIPositionConstraints_s_psm; private static SolveTOIPositionConstraints_s_rA; private static SolveTOIPositionConstraints_s_rB; private static SolveTOIPositionConstraints_s_P; /** Sequential position solver for position constraints. */ SolveTOIPositionConstraints(toiIndexA: number, toiIndexB: number): boolean; } export {}; //# sourceMappingURL=b2_contact_solver.d.ts.map