@box2d/debug-draw
Version:
Debug drawing helper for @box2d
109 lines • 3.96 kB
TypeScript
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