the-world-engine
Version:
three.js based, unity like game engine for browser
119 lines (118 loc) • 4.15 kB
TypeScript
export function get_g_blockSolve(): boolean;
export function set_g_blockSolve(value: any): void;
export let g_blockSolve: boolean;
export class b2VelocityConstraintPoint {
static MakeArray(length: any): b2VelocityConstraintPoint[];
rA: b2Vec2;
rB: b2Vec2;
normalImpulse: number;
tangentImpulse: number;
normalMass: number;
tangentMass: number;
velocityBias: number;
}
export class b2ContactVelocityConstraint {
static MakeArray(length: any): b2ContactVelocityConstraint[];
points: b2VelocityConstraintPoint[];
normal: b2Vec2;
tangent: b2Vec2;
normalMass: b2Mat22;
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;
}
export class b2ContactPositionConstraint {
static MakeArray(length: any): b2ContactPositionConstraint[];
localPoints: b2Vec2[];
localNormal: b2Vec2;
localPoint: b2Vec2;
indexA: number;
indexB: number;
invMassA: number;
invMassB: number;
localCenterA: b2Vec2;
localCenterB: b2Vec2;
invIA: number;
invIB: number;
type: b2ManifoldType;
radiusA: number;
radiusB: number;
pointCount: number;
}
export class b2ContactSolverDef {
step: b2TimeStep;
count: number;
}
export class b2PositionSolverManifold {
normal: b2Vec2;
point: b2Vec2;
separation: number;
Initialize(pc: any, xfA: any, xfB: any, index: any): void;
}
export namespace b2PositionSolverManifold {
const Initialize_s_pointA: b2Vec2;
const Initialize_s_pointB: b2Vec2;
const Initialize_s_planePoint: b2Vec2;
const Initialize_s_clipPoint: b2Vec2;
}
export class b2ContactSolver {
m_step: b2TimeStep;
m_positionConstraints: b2ContactPositionConstraint[];
m_velocityConstraints: b2ContactVelocityConstraint[];
m_count: number;
Initialize(def: any): b2ContactSolver;
m_positions: any;
m_velocities: any;
m_contacts: any;
InitializeVelocityConstraints(): void;
WarmStart(): void;
SolveVelocityConstraints(): void;
StoreImpulses(): void;
SolvePositionConstraints(): boolean;
SolveTOIPositionConstraints(toiIndexA: any, toiIndexB: any): boolean;
}
export namespace b2ContactSolver {
const InitializeVelocityConstraints_s_xfA: b2Transform;
const InitializeVelocityConstraints_s_xfB: b2Transform;
const InitializeVelocityConstraints_s_worldManifold: b2WorldManifold;
const WarmStart_s_P: b2Vec2;
const SolveVelocityConstraints_s_dv: b2Vec2;
const SolveVelocityConstraints_s_dv1: b2Vec2;
const SolveVelocityConstraints_s_dv2: b2Vec2;
const SolveVelocityConstraints_s_P: b2Vec2;
const SolveVelocityConstraints_s_a: b2Vec2;
const SolveVelocityConstraints_s_b: b2Vec2;
const SolveVelocityConstraints_s_x: b2Vec2;
const SolveVelocityConstraints_s_d: b2Vec2;
const SolveVelocityConstraints_s_P1: b2Vec2;
const SolveVelocityConstraints_s_P2: b2Vec2;
const SolveVelocityConstraints_s_P1P2: b2Vec2;
const SolvePositionConstraints_s_xfA: b2Transform;
const SolvePositionConstraints_s_xfB: b2Transform;
const SolvePositionConstraints_s_psm: b2PositionSolverManifold;
const SolvePositionConstraints_s_rA: b2Vec2;
const SolvePositionConstraints_s_rB: b2Vec2;
const SolvePositionConstraints_s_P: b2Vec2;
const SolveTOIPositionConstraints_s_xfA: b2Transform;
const SolveTOIPositionConstraints_s_xfB: b2Transform;
const SolveTOIPositionConstraints_s_psm: b2PositionSolverManifold;
const SolveTOIPositionConstraints_s_rA: b2Vec2;
const SolveTOIPositionConstraints_s_rB: b2Vec2;
const SolveTOIPositionConstraints_s_P: b2Vec2;
}
import { b2Vec2 } from "../common/b2_math.js";
import { b2Mat22 } from "../common/b2_math.js";
import { b2ManifoldType } from "../collision/b2_collision.js";
import { b2TimeStep } from "./b2_time_step.js";
import { b2Transform } from "../common/b2_math.js";
import { b2WorldManifold } from "../collision/b2_collision.js";