the-world-engine
Version:
three.js based, unity like game engine for browser
32 lines (31 loc) • 1.6 kB
TypeScript
import type { Vector2 } from "three/src/Three";
import type { ReadonlyVector2 } from "../../math/ReadonlyVector2";
import type { CollisionLayerMaskConverter } from "../CollisionLayerMaskConverter";
import type { ContactFilter2D } from "./ContactFilter2D";
import type { PhysicsMaterial2D } from "./PhysicsMaterial2D";
import type { RaycastHit2D } from "./RaycastHit2D";
export interface IPhysics2D {
get gravity(): Vector2;
set gravity(value: Vector2);
get defaultMaterial(): PhysicsMaterial2D | null;
get velocityIterations(): number;
set velocityIterations(value: number);
get positionIterations(): number;
set positionIterations(value: number);
get maxLinearCorrection(): number;
get maxAngularCorrection(): number;
get maxTranslationSpeed(): number;
get maxRotationSpeed(): number;
get baumgarteScale(): number;
get baumgarteTimeOfImpactScale(): number;
get timeToSleep(): number;
get linearSleepTolerance(): number;
get angularSleepTolerance(): number;
get queriesHitTriggers(): boolean;
set queriesHitTriggers(value: boolean);
get reuseCollisionCallbacks(): boolean;
set reuseCollisionCallbacks(value: boolean);
get collisionLayerMask(): CollisionLayerMaskConverter;
raycastOne(origin: ReadonlyVector2, direction: ReadonlyVector2, out?: RaycastHit2D, distance?: number, layerMask?: number, minDepth?: number, maxDepth?: number): RaycastHit2D | null;
raycast(origin: ReadonlyVector2, direction: ReadonlyVector2, contactFilter: ContactFilter2D, results: RaycastHit2D[], distance?: number): number;
}