summaryrefslogtreecommitdiff
path: root/physi_js/physijs.d.ts
diff options
context:
space:
mode:
authorJ08nY2016-04-16 15:34:14 +0200
committerJ08nY2016-04-16 15:34:14 +0200
commit8c2c5e52e0a1d78d36743270866ef5827aa8cd4e (patch)
tree2e52d9106418d7fc7c09efaf7162d9e42574080a /physi_js/physijs.d.ts
parentc5d0b945bf4dccc0e611d961f5f60dc3ded293e6 (diff)
downloadld35-8c2c5e52e0a1d78d36743270866ef5827aa8cd4e.tar.gz
ld35-8c2c5e52e0a1d78d36743270866ef5827aa8cd4e.tar.zst
ld35-8c2c5e52e0a1d78d36743270866ef5827aa8cd4e.zip
Diffstat (limited to 'physi_js/physijs.d.ts')
-rw-r--r--physi_js/physijs.d.ts250
1 files changed, 250 insertions, 0 deletions
diff --git a/physi_js/physijs.d.ts b/physi_js/physijs.d.ts
new file mode 100644
index 0000000..29bb3d4
--- /dev/null
+++ b/physi_js/physijs.d.ts
@@ -0,0 +1,250 @@
+// Type definitions for Physijs
+// Project: http://chandlerprall.github.io/Physijs/
+// Definitions by: Satoru Kimura <https://github.com/gyohk>
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+
+/// <reference path="../three_js/ts/three.d.ts" />
+
+declare namespace Physijs {
+ export function noConflict():Object;
+ export function createMaterial(material: THREE.Material, friction?: number, restitution?: number): Material;
+
+ export interface Material extends THREE.Material{
+ _physijs: {
+ id: number;
+ friction: number;
+ restriction: number
+ };
+ }
+
+ export interface Constraint {
+ getDefinition(): any;
+ }
+
+ export interface PointConstraintDefinition {
+ type: string;
+ id: number;
+ objecta: THREE.Object3D;
+ objectb: THREE.Object3D;
+ positiona: THREE.Vector3;
+ positionb: THREE.Vector3;
+ }
+
+ export class PointConstraint implements Constraint {
+ constructor(objecta: THREE.Object3D, objectb: THREE.Object3D, position?: THREE.Vector3);
+
+ getDefinition(): PointConstraintDefinition;
+ }
+
+ export interface HingeConstraintDefinition {
+ type: string;
+ id: number;
+ objecta: THREE.Object3D;
+ objectb: THREE.Object3D;
+ positiona: THREE.Vector3;
+ positionb: THREE.Vector3;
+ axis: THREE.Vector3;
+ }
+
+ export class HingeConstraint implements Constraint {
+ constructor(objecta: THREE.Object3D, objectb: THREE.Object3D, position: THREE.Vector3, axis?: THREE.Vector3);
+
+ getDefinition(): HingeConstraintDefinition;
+ setLimits( low: number, high: number, bias_factor: number, relaxation_factor: number ): void;
+ enableAngularMotor( velocity: number, acceleration: number ): void;
+ disableMotor(): void;
+ }
+
+ export interface SliderConstraintDefinition {
+ type: string;
+ id: number;
+ objecta: THREE.Object3D;
+ objectb: THREE.Object3D;
+ positiona: THREE.Vector3;
+ positionb: THREE.Vector3;
+ axis: THREE.Vector3;
+ }
+
+ export class SliderConstraint implements Constraint {
+ constructor(objecta: THREE.Object3D, objectb: THREE.Object3D, position: THREE.Vector3, axis?: THREE.Vector3);
+
+ getDefinition(): SliderConstraintDefinition;
+ setLimits( lin_lower: number, lin_upper: number, ang_lower: number, ang_upper: number ): void;
+ setRestitution( linear: number, angular: number ): void;
+ enableLinearMotor( velocity: number, acceleration: number): void;
+ disableLinearMotor(): void;
+ enableAngularMotor( velocity: number, acceleration: number ): void;
+ disableAngularMotor(): void;
+ }
+
+ export interface ConeTwistConstraintDefinition {
+ type: string;
+ id: number;
+ objecta: THREE.Object3D;
+ objectb: THREE.Object3D;
+ positiona: THREE.Vector3;
+ positionb: THREE.Vector3;
+ axisa: THREE.Vector3;
+ axisb: THREE.Vector3;
+ }
+
+ export class ConeTwistConstraint implements Constraint {
+ constructor(objecta: THREE.Object3D, objectb: THREE.Object3D, position: THREE.Vector3);
+
+ getDefinition(): ConeTwistConstraintDefinition;
+ setLimit( x: number, y: number, z: number ): void;
+ enableMotor(): void;
+ setMaxMotorImpulse( max_impulse: number ): void;
+ setMotorTarget( target: THREE.Vector3 ): void;
+ setMotorTarget( target: THREE.Euler ): void;
+ setMotorTarget( target: THREE.Matrix4 ): void;
+ disableMotor(): void;
+
+ }
+
+ export interface DOFConstraintDefinition {
+ type: string;
+ id: number;
+ objecta: THREE.Object3D;
+ objectb: THREE.Object3D;
+ positiona: THREE.Vector3;
+ positionb: THREE.Vector3;
+ axisa: THREE.Vector3;
+ axisb: THREE.Vector3;
+ }
+
+ export class DOFConstraint implements Constraint {
+ constructor(objecta: THREE.Object3D, objectb: THREE.Object3D, position?: THREE.Vector3);
+
+ getDefinition(): DOFConstraintDefinition;
+ setLinearLowerLimit(limit: THREE.Vector3): void;
+ setLinearUpperLimit(limit: THREE.Vector3): void;
+ setAngularLowerLimit(limit: THREE.Vector3): void;
+ setAngularUpperLimit(limit: THREE.Vector3): void;
+ enableAngularMotor( which: number ): void;
+ configureAngularMotor( which: number, low_angle: number, high_angle: number, velocity: number, max_force: number ): void;
+ disableAngularMotor( which: number ): void;
+ }
+ export var scripts: {
+ worker: string;
+ ammo: string;
+ };
+
+ export interface SceneParameters {
+ ammo?: string;
+ fixedTimeStep?: number;
+ rateLimit?: boolean;
+ }
+
+ export class Scene extends THREE.Scene {
+ constructor(param?: SceneParameters);
+
+ addConstraint(constraint:Constraint, show_marker?:boolean):void;
+ onSimulationResume():void;
+ removeConstraint(constraint:Constraint):void;
+ execute(cmd:string, params:any):void;
+ add(object:THREE.Object3D):void;
+ remove(object:THREE.Object3D):void;
+ setFixedTimeStep(fixedTimeStep:number):void;
+ setGravity(gravity:number):void;
+ simulate(timeStep?:number, maxSubSteps?:number):boolean;
+
+
+ // Eventable mixins
+ addEventListener( event_name: string, callback: (event: any) => void ): void;
+ removeEventListener( event_name: string, callback: (event: any) => void): void;
+ dispatchEvent( event_name: string ): void;
+
+ // (extends from Object3D)
+ dispatchEvent( event: { type: string; target: any; } ): void;
+ }
+
+ export class Mesh extends THREE.Mesh {
+ constructor(geometry:THREE.Geometry, material?:THREE.Material, mass?:number);
+
+ applyCentralImpulse(force:THREE.Vector3):void;
+ applyImpulse(force:THREE.Vector3, offset:THREE.Vector3):void;
+ applyCentralForce(force:THREE.Vector3):void;
+ applyForce(force:THREE.Vector3, offset:THREE.Vector3):void;
+ getAngularVelocity():THREE.Vector3;
+ setAngularVelocity(velocity:THREE.Vector3):void;
+ getLinearVelocity():THREE.Vector3;
+ setLinearVelocity(velocity:THREE.Vector3):void;
+ setAngularFactor(factor:THREE.Vector3):void;
+ setLinearFactor(factor:THREE.Vector3):void;
+ setDamping(linear:number, angular:number):void;
+ setCcdMotionThreshold(threshold:number):void;
+ setCcdSweptSphereRadius(radius:number):void;
+
+
+ // Eventable mixins
+ addEventListener( event_name: string, callback: (event: any) => void ): void;
+ removeEventListener( event_name: string, callback: (event: any) => void): void;
+ dispatchEvent( event_name: string ): void;
+
+ // (extends from Object3D)
+ dispatchEvent( event: { type: string; target: any; } ): void;
+ }
+
+ export class PlaneMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+
+ }
+
+ export class HeightfieldMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number, xdiv?:number, ydiv?:number);
+ }
+
+ export class BoxMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class SphereMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class CylinderMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class CapsuleMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class ConeMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class ConcaveMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class ConvexMesh extends Mesh {
+ constructor(geometry:THREE.Geometry, material:THREE.Material, mass?:number);
+ }
+
+ export class Vehicle {
+ constructor(mesh:Mesh, tuning?:VehicleTuning);
+
+ mesh:THREE.Mesh;
+ wheels:THREE.Mesh[];
+
+ addWheel(wheel_geometry:THREE.Geometry, wheel_material:THREE.Material, connection_point:THREE.Vector3, wheel_direction:THREE.Vector3, wheel_axle:THREE.Vector3, suspension_rest_length:number, wheel_radius:number, is_front_wheel:boolean, tuning?:VehicleTuning): void;
+ setSteering(amount: number, wheel?: THREE.Mesh): void;
+ setBrake(amount: number, wheel?: THREE.Mesh): void;
+ applyEngineForce(amount: number, wheel?: THREE.Mesh): void;
+ }
+
+ export class VehicleTuning {
+ constructor(suspension_stiffness?:number, suspension_compression?:number, suspension_damping?:number, max_suspension_travel?:number, friction_slip?:number, max_suspension_force?:number);
+
+ suspension_stiffness:number;
+ suspension_compression:number;
+ suspension_damping:number;
+ max_suspension_travel:number;
+ friction_slip:number;
+ max_suspension_force:number;
+ }
+}
+