@gg-web-engine/rapier3d 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/components/rapier-3d-rigid-body.component.d.ts +26 -0
- package/dist/components/rapier-3d-rigid-body.component.js +88 -0
- package/dist/components/rapier-3d-trigger.component.d.ts +17 -0
- package/dist/components/rapier-3d-trigger.component.js +41 -0
- package/dist/components/rapier-3d-world.component.d.ts +27 -0
- package/dist/components/rapier-3d-world.component.js +81 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/rapier-3d-factory.d.ts +22 -0
- package/dist/rapier-3d-factory.js +89 -0
- package/dist/rapier-3d-loader.d.ts +6 -0
- package/dist/rapier-3d-loader.js +7 -0
- package/etc/@dimforge/rapier3d/LICENSE +201 -0
- package/etc/@dimforge/rapier3d/README.md +33 -0
- package/etc/@dimforge/rapier3d/coarena.d.ts +15 -0
- package/etc/@dimforge/rapier3d/coarena.js +61 -0
- package/etc/@dimforge/rapier3d/coarena.js.map +1 -0
- package/etc/@dimforge/rapier3d/control/character_controller.d.ts +188 -0
- package/etc/@dimforge/rapier3d/control/character_controller.js +256 -0
- package/etc/@dimforge/rapier3d/control/character_controller.js.map +1 -0
- package/etc/@dimforge/rapier3d/control/index.d.ts +2 -0
- package/etc/@dimforge/rapier3d/control/index.js +5 -0
- package/etc/@dimforge/rapier3d/control/index.js.map +1 -0
- package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.d.ts +240 -0
- package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js +362 -0
- package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/ccd_solver.d.ts +15 -0
- package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js +22 -0
- package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.d.ts +13 -0
- package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js +15 -0
- package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint.d.ts +204 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js +335 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.d.ts +79 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js +123 -0
- package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/index.d.ts +10 -0
- package/etc/@dimforge/rapier3d/dynamics/index.js +11 -0
- package/etc/@dimforge/rapier3d/dynamics/index.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/integration_parameters.d.ts +55 -0
- package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js +98 -0
- package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/island_manager.d.ts +24 -0
- package/etc/@dimforge/rapier3d/dynamics/island_manager.js +32 -0
- package/etc/@dimforge/rapier3d/dynamics/island_manager.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint.d.ts +42 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js +124 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.d.ts +76 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js +118 -0
- package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body.d.ts +679 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body.js +960 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body.js.map +1 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.d.ts +78 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js +147 -0
- package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js.map +1 -0
- package/etc/@dimforge/rapier3d/exports.d.ts +7 -0
- package/etc/@dimforge/rapier3d/exports.js +11 -0
- package/etc/@dimforge/rapier3d/exports.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/broad_phase.d.ts +15 -0
- package/etc/@dimforge/rapier3d/geometry/broad_phase.js +22 -0
- package/etc/@dimforge/rapier3d/geometry/broad_phase.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/collider.d.ts +763 -0
- package/etc/@dimforge/rapier3d/geometry/collider.js +1140 -0
- package/etc/@dimforge/rapier3d/geometry/collider.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/collider_set.d.ts +72 -0
- package/etc/@dimforge/rapier3d/geometry/collider_set.js +144 -0
- package/etc/@dimforge/rapier3d/geometry/collider_set.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/contact.d.ts +31 -0
- package/etc/@dimforge/rapier3d/geometry/contact.js +21 -0
- package/etc/@dimforge/rapier3d/geometry/contact.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/feature.d.ts +6 -0
- package/etc/@dimforge/rapier3d/geometry/feature.js +10 -0
- package/etc/@dimforge/rapier3d/geometry/feature.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/index.d.ts +11 -0
- package/etc/@dimforge/rapier3d/geometry/index.js +12 -0
- package/etc/@dimforge/rapier3d/geometry/index.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/interaction_groups.d.ts +18 -0
- package/etc/@dimforge/rapier3d/geometry/interaction_groups.js +2 -0
- package/etc/@dimforge/rapier3d/geometry/interaction_groups.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/narrow_phase.d.ts +71 -0
- package/etc/@dimforge/rapier3d/geometry/narrow_phase.js +148 -0
- package/etc/@dimforge/rapier3d/geometry/narrow_phase.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/point.d.ts +47 -0
- package/etc/@dimforge/rapier3d/geometry/point.js +48 -0
- package/etc/@dimforge/rapier3d/geometry/point.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/ray.d.ts +97 -0
- package/etc/@dimforge/rapier3d/geometry/ray.js +100 -0
- package/etc/@dimforge/rapier3d/geometry/ray.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/shape.d.ts +489 -0
- package/etc/@dimforge/rapier3d/geometry/shape.js +686 -0
- package/etc/@dimforge/rapier3d/geometry/shape.js.map +1 -0
- package/etc/@dimforge/rapier3d/geometry/toi.d.ts +46 -0
- package/etc/@dimforge/rapier3d/geometry/toi.js +37 -0
- package/etc/@dimforge/rapier3d/geometry/toi.js.map +1 -0
- package/etc/@dimforge/rapier3d/init.d.ts +1 -0
- package/etc/@dimforge/rapier3d/init.js +2 -0
- package/etc/@dimforge/rapier3d/init.js.map +1 -0
- package/etc/@dimforge/rapier3d/math.d.ts +94 -0
- package/etc/@dimforge/rapier3d/math.js +138 -0
- package/etc/@dimforge/rapier3d/math.js.map +1 -0
- package/etc/@dimforge/rapier3d/package.json +33 -0
- package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.d.ts +39 -0
- package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js +38 -0
- package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/event_queue.d.ts +101 -0
- package/etc/@dimforge/rapier3d/pipeline/event_queue.js +135 -0
- package/etc/@dimforge/rapier3d/pipeline/event_queue.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/index.d.ts +7 -0
- package/etc/@dimforge/rapier3d/pipeline/index.js +8 -0
- package/etc/@dimforge/rapier3d/pipeline/index.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_hooks.d.ts +39 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js +13 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.d.ts +12 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js +24 -0
- package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/query_pipeline.d.ts +190 -0
- package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js +271 -0
- package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.d.ts +37 -0
- package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js +49 -0
- package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js.map +1 -0
- package/etc/@dimforge/rapier3d/pipeline/world.d.ts +419 -0
- package/etc/@dimforge/rapier3d/pipeline/world.js +581 -0
- package/etc/@dimforge/rapier3d/pipeline/world.js.map +1 -0
- package/etc/@dimforge/rapier3d/rapier.d.ts +3 -0
- package/etc/@dimforge/rapier3d/rapier.js +4 -0
- package/etc/@dimforge/rapier3d/rapier.js.map +1 -0
- package/etc/@dimforge/rapier3d/rapier_wasm3d.d.ts +2921 -0
- package/etc/@dimforge/rapier3d/rapier_wasm3d.js +2 -0
- package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.js +5585 -0
- package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm +0 -0
- package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.d.ts +486 -0
- package/etc/@dimforge/rapier3d/raw.d.ts +1 -0
- package/etc/@dimforge/rapier3d/raw.js +2 -0
- package/etc/@dimforge/rapier3d/raw.js.map +1 -0
- package/package.json +43 -0
- package/tsconfig.json +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../src/geometry/shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Collider } from "./collider";
|
|
2
|
+
import { Vector } from "../math";
|
|
3
|
+
import { RawShapeTOI, RawShapeColliderTOI } from "../raw";
|
|
4
|
+
import { ColliderSet } from "./collider_set";
|
|
5
|
+
/**
|
|
6
|
+
* The intersection between a ray and a collider.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ShapeTOI {
|
|
9
|
+
/**
|
|
10
|
+
* The time of impact of the two shapes.
|
|
11
|
+
*/
|
|
12
|
+
toi: number;
|
|
13
|
+
/**
|
|
14
|
+
* The local-space contact point on the first shape, at
|
|
15
|
+
* the time of impact.
|
|
16
|
+
*/
|
|
17
|
+
witness1: Vector;
|
|
18
|
+
/**
|
|
19
|
+
* The local-space contact point on the second shape, at
|
|
20
|
+
* the time of impact.
|
|
21
|
+
*/
|
|
22
|
+
witness2: Vector;
|
|
23
|
+
/**
|
|
24
|
+
* The local-space normal on the first shape, at
|
|
25
|
+
* the time of impact.
|
|
26
|
+
*/
|
|
27
|
+
normal1: Vector;
|
|
28
|
+
/**
|
|
29
|
+
* The local-space normal on the second shape, at
|
|
30
|
+
* the time of impact.
|
|
31
|
+
*/
|
|
32
|
+
normal2: Vector;
|
|
33
|
+
constructor(toi: number, witness1: Vector, witness2: Vector, normal1: Vector, normal2: Vector);
|
|
34
|
+
static fromRaw(colliderSet: ColliderSet, raw: RawShapeTOI): ShapeTOI;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The intersection between a ray and a collider.
|
|
38
|
+
*/
|
|
39
|
+
export declare class ShapeColliderTOI extends ShapeTOI {
|
|
40
|
+
/**
|
|
41
|
+
* The handle of the collider hit by the ray.
|
|
42
|
+
*/
|
|
43
|
+
collider: Collider;
|
|
44
|
+
constructor(collider: Collider, toi: number, witness1: Vector, witness2: Vector, normal1: Vector, normal2: Vector);
|
|
45
|
+
static fromRaw(colliderSet: ColliderSet, raw: RawShapeColliderTOI): ShapeColliderTOI;
|
|
46
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { VectorOps } from "../math";
|
|
2
|
+
/**
|
|
3
|
+
* The intersection between a ray and a collider.
|
|
4
|
+
*/
|
|
5
|
+
export class ShapeTOI {
|
|
6
|
+
constructor(toi, witness1, witness2, normal1, normal2) {
|
|
7
|
+
this.toi = toi;
|
|
8
|
+
this.witness1 = witness1;
|
|
9
|
+
this.witness2 = witness2;
|
|
10
|
+
this.normal1 = normal1;
|
|
11
|
+
this.normal2 = normal2;
|
|
12
|
+
}
|
|
13
|
+
static fromRaw(colliderSet, raw) {
|
|
14
|
+
if (!raw)
|
|
15
|
+
return null;
|
|
16
|
+
const result = new ShapeTOI(raw.toi(), VectorOps.fromRaw(raw.witness1()), VectorOps.fromRaw(raw.witness2()), VectorOps.fromRaw(raw.normal1()), VectorOps.fromRaw(raw.normal2()));
|
|
17
|
+
raw.free();
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The intersection between a ray and a collider.
|
|
23
|
+
*/
|
|
24
|
+
export class ShapeColliderTOI extends ShapeTOI {
|
|
25
|
+
constructor(collider, toi, witness1, witness2, normal1, normal2) {
|
|
26
|
+
super(toi, witness1, witness2, normal1, normal2);
|
|
27
|
+
this.collider = collider;
|
|
28
|
+
}
|
|
29
|
+
static fromRaw(colliderSet, raw) {
|
|
30
|
+
if (!raw)
|
|
31
|
+
return null;
|
|
32
|
+
const result = new ShapeColliderTOI(colliderSet.get(raw.colliderHandle()), raw.toi(), VectorOps.fromRaw(raw.witness1()), VectorOps.fromRaw(raw.witness2()), VectorOps.fromRaw(raw.normal1()), VectorOps.fromRaw(raw.normal2()));
|
|
33
|
+
raw.free();
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=toi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toi.js","sourceRoot":"","sources":["../src/geometry/toi.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,SAAS,EAAC,MAAM,SAAS,CAAC;AAI1C;;GAEG;AACH,MAAM,OAAO,QAAQ;IA0BjB,YACI,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe;QAEf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,OAAO,CACjB,WAAwB,EACxB,GAAgB;QAEhB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CACvB,GAAG,CAAC,GAAG,EAAE,EACT,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAChC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnC,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAM1C,YACI,QAAkB,EAClB,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,OAAe,EACf,OAAe;QAEf,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,OAAO,CACjB,WAAwB,EACxB,GAAwB;QAExB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAC/B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,EACrC,GAAG,CAAC,GAAG,EAAE,EACT,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACjC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAChC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CACnC,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["src/init.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { RawVector, RawRotation } from "./raw";
|
|
2
|
+
import { RawSdpMatrix3 } from "./raw";
|
|
3
|
+
export interface Vector {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
z: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A 3D vector.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Vector3 implements Vector {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
z: number;
|
|
15
|
+
constructor(x: number, y: number, z: number);
|
|
16
|
+
}
|
|
17
|
+
export declare class VectorOps {
|
|
18
|
+
static new(x: number, y: number, z: number): Vector;
|
|
19
|
+
static intoRaw(v: Vector): RawVector;
|
|
20
|
+
static zeros(): Vector;
|
|
21
|
+
static fromRaw(raw: RawVector): Vector;
|
|
22
|
+
static copy(out: Vector, input: Vector): void;
|
|
23
|
+
}
|
|
24
|
+
export interface Rotation {
|
|
25
|
+
x: number;
|
|
26
|
+
y: number;
|
|
27
|
+
z: number;
|
|
28
|
+
w: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A quaternion.
|
|
32
|
+
*/
|
|
33
|
+
export declare class Quaternion implements Rotation {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
z: number;
|
|
37
|
+
w: number;
|
|
38
|
+
constructor(x: number, y: number, z: number, w: number);
|
|
39
|
+
}
|
|
40
|
+
export declare class RotationOps {
|
|
41
|
+
static identity(): Rotation;
|
|
42
|
+
static fromRaw(raw: RawRotation): Rotation;
|
|
43
|
+
static intoRaw(rot: Rotation): RawRotation;
|
|
44
|
+
static copy(out: Rotation, input: Rotation): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A 3D symmetric-positive-definite matrix.
|
|
48
|
+
*/
|
|
49
|
+
export declare class SdpMatrix3 {
|
|
50
|
+
/**
|
|
51
|
+
* Row major list of the upper-triangular part of the symmetric matrix.
|
|
52
|
+
*/
|
|
53
|
+
elements: Float32Array;
|
|
54
|
+
/**
|
|
55
|
+
* Matrix element at row 1, column 1.
|
|
56
|
+
*/
|
|
57
|
+
get m11(): number;
|
|
58
|
+
/**
|
|
59
|
+
* Matrix element at row 1, column 2.
|
|
60
|
+
*/
|
|
61
|
+
get m12(): number;
|
|
62
|
+
/**
|
|
63
|
+
* Matrix element at row 2, column 1.
|
|
64
|
+
*/
|
|
65
|
+
get m21(): number;
|
|
66
|
+
/**
|
|
67
|
+
* Matrix element at row 1, column 3.
|
|
68
|
+
*/
|
|
69
|
+
get m13(): number;
|
|
70
|
+
/**
|
|
71
|
+
* Matrix element at row 3, column 1.
|
|
72
|
+
*/
|
|
73
|
+
get m31(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Matrix element at row 2, column 2.
|
|
76
|
+
*/
|
|
77
|
+
get m22(): number;
|
|
78
|
+
/**
|
|
79
|
+
* Matrix element at row 2, column 3.
|
|
80
|
+
*/
|
|
81
|
+
get m23(): number;
|
|
82
|
+
/**
|
|
83
|
+
* Matrix element at row 3, column 2.
|
|
84
|
+
*/
|
|
85
|
+
get m32(): number;
|
|
86
|
+
/**
|
|
87
|
+
* Matrix element at row 3, column 3.
|
|
88
|
+
*/
|
|
89
|
+
get m33(): number;
|
|
90
|
+
constructor(elements: Float32Array);
|
|
91
|
+
}
|
|
92
|
+
export declare class SdpMatrix3Ops {
|
|
93
|
+
static fromRaw(raw: RawSdpMatrix3): SdpMatrix3;
|
|
94
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { RawVector, RawRotation } from "./raw";
|
|
2
|
+
/**
|
|
3
|
+
* A 3D vector.
|
|
4
|
+
*/
|
|
5
|
+
export class Vector3 {
|
|
6
|
+
constructor(x, y, z) {
|
|
7
|
+
this.x = x;
|
|
8
|
+
this.y = y;
|
|
9
|
+
this.z = z;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class VectorOps {
|
|
13
|
+
static new(x, y, z) {
|
|
14
|
+
return new Vector3(x, y, z);
|
|
15
|
+
}
|
|
16
|
+
static intoRaw(v) {
|
|
17
|
+
return new RawVector(v.x, v.y, v.z);
|
|
18
|
+
}
|
|
19
|
+
static zeros() {
|
|
20
|
+
return VectorOps.new(0.0, 0.0, 0.0);
|
|
21
|
+
}
|
|
22
|
+
// FIXME: type ram: RawVector?
|
|
23
|
+
static fromRaw(raw) {
|
|
24
|
+
if (!raw)
|
|
25
|
+
return null;
|
|
26
|
+
let res = VectorOps.new(raw.x, raw.y, raw.z);
|
|
27
|
+
raw.free();
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
static copy(out, input) {
|
|
31
|
+
out.x = input.x;
|
|
32
|
+
out.y = input.y;
|
|
33
|
+
out.z = input.z;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A quaternion.
|
|
38
|
+
*/
|
|
39
|
+
export class Quaternion {
|
|
40
|
+
constructor(x, y, z, w) {
|
|
41
|
+
this.x = x;
|
|
42
|
+
this.y = y;
|
|
43
|
+
this.z = z;
|
|
44
|
+
this.w = w;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class RotationOps {
|
|
48
|
+
static identity() {
|
|
49
|
+
return new Quaternion(0.0, 0.0, 0.0, 1.0);
|
|
50
|
+
}
|
|
51
|
+
static fromRaw(raw) {
|
|
52
|
+
if (!raw)
|
|
53
|
+
return null;
|
|
54
|
+
let res = new Quaternion(raw.x, raw.y, raw.z, raw.w);
|
|
55
|
+
raw.free();
|
|
56
|
+
return res;
|
|
57
|
+
}
|
|
58
|
+
static intoRaw(rot) {
|
|
59
|
+
return new RawRotation(rot.x, rot.y, rot.z, rot.w);
|
|
60
|
+
}
|
|
61
|
+
static copy(out, input) {
|
|
62
|
+
out.x = input.x;
|
|
63
|
+
out.y = input.y;
|
|
64
|
+
out.z = input.z;
|
|
65
|
+
out.w = input.w;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A 3D symmetric-positive-definite matrix.
|
|
70
|
+
*/
|
|
71
|
+
export class SdpMatrix3 {
|
|
72
|
+
/**
|
|
73
|
+
* Matrix element at row 1, column 1.
|
|
74
|
+
*/
|
|
75
|
+
get m11() {
|
|
76
|
+
return this.elements[0];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Matrix element at row 1, column 2.
|
|
80
|
+
*/
|
|
81
|
+
get m12() {
|
|
82
|
+
return this.elements[1];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Matrix element at row 2, column 1.
|
|
86
|
+
*/
|
|
87
|
+
get m21() {
|
|
88
|
+
return this.m12;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Matrix element at row 1, column 3.
|
|
92
|
+
*/
|
|
93
|
+
get m13() {
|
|
94
|
+
return this.elements[2];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Matrix element at row 3, column 1.
|
|
98
|
+
*/
|
|
99
|
+
get m31() {
|
|
100
|
+
return this.m13;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Matrix element at row 2, column 2.
|
|
104
|
+
*/
|
|
105
|
+
get m22() {
|
|
106
|
+
return this.elements[3];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Matrix element at row 2, column 3.
|
|
110
|
+
*/
|
|
111
|
+
get m23() {
|
|
112
|
+
return this.elements[4];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Matrix element at row 3, column 2.
|
|
116
|
+
*/
|
|
117
|
+
get m32() {
|
|
118
|
+
return this.m23;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Matrix element at row 3, column 3.
|
|
122
|
+
*/
|
|
123
|
+
get m33() {
|
|
124
|
+
return this.elements[5];
|
|
125
|
+
}
|
|
126
|
+
constructor(elements) {
|
|
127
|
+
this.elements = elements;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export class SdpMatrix3Ops {
|
|
131
|
+
static fromRaw(raw) {
|
|
132
|
+
const sdpMatrix3 = new SdpMatrix3(raw.elements());
|
|
133
|
+
raw.free();
|
|
134
|
+
return sdpMatrix3;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// #endif
|
|
138
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["src/math.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dimforge/rapier3d",
|
|
3
|
+
"collaborators": [
|
|
4
|
+
"Sébastien Crozet <developer@crozet.re>"
|
|
5
|
+
],
|
|
6
|
+
"description": "3-dimensional physics engine in Rust - official JS bindings.",
|
|
7
|
+
"version": "0.11.2",
|
|
8
|
+
"license": "Apache-2.0",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/dimforge/rapier.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"*",
|
|
15
|
+
"rapier_wasm3d.js",
|
|
16
|
+
"rapier_wasm3d_bg.js",
|
|
17
|
+
"rapier_wasm3d.d.ts"
|
|
18
|
+
],
|
|
19
|
+
"module": "rapier.js",
|
|
20
|
+
"homepage": "https://rapier.rs",
|
|
21
|
+
"types": "rapier.d.ts",
|
|
22
|
+
"sideEffects": [
|
|
23
|
+
"./rapier_wasm3d.js",
|
|
24
|
+
"./snippets/*"
|
|
25
|
+
],
|
|
26
|
+
"keywords": [
|
|
27
|
+
"physics",
|
|
28
|
+
"dynamics",
|
|
29
|
+
"rigid",
|
|
30
|
+
"real-time",
|
|
31
|
+
"joints"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RawDebugRenderPipeline } from "../raw";
|
|
2
|
+
import { ImpulseJointSet, MultibodyJointSet, RigidBodySet } from "../dynamics";
|
|
3
|
+
import { ColliderSet, NarrowPhase } from "../geometry";
|
|
4
|
+
/**
|
|
5
|
+
* The vertex and color buffers for debug-redering the physics scene.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DebugRenderBuffers {
|
|
8
|
+
/**
|
|
9
|
+
* The lines to render. This is a flat array containing all the lines
|
|
10
|
+
* to render. Each line is described as two consecutive point. Each
|
|
11
|
+
* point is described as two (in 2D) or three (in 3D) consecutive
|
|
12
|
+
* floats. For example, in 2D, the array: `[1, 2, 3, 4, 5, 6, 7, 8]`
|
|
13
|
+
* describes the two segments `[[1, 2], [3, 4]]` and `[[5, 6], [7, 8]]`.
|
|
14
|
+
*/
|
|
15
|
+
vertices: Float32Array;
|
|
16
|
+
/**
|
|
17
|
+
* The color buffer. There is one color per vertex, and each color
|
|
18
|
+
* has four consecutive components (in RGBA format).
|
|
19
|
+
*/
|
|
20
|
+
colors: Float32Array;
|
|
21
|
+
constructor(vertices: Float32Array, colors: Float32Array);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A pipeline for rendering the physics scene.
|
|
25
|
+
*
|
|
26
|
+
* To avoid leaking WASM resources, this MUST be freed manually with `debugRenderPipeline.free()`
|
|
27
|
+
* once you are done using it (and all the rigid-bodies it created).
|
|
28
|
+
*/
|
|
29
|
+
export declare class DebugRenderPipeline {
|
|
30
|
+
raw: RawDebugRenderPipeline;
|
|
31
|
+
vertices: Float32Array;
|
|
32
|
+
colors: Float32Array;
|
|
33
|
+
/**
|
|
34
|
+
* Release the WASM memory occupied by this serialization pipeline.
|
|
35
|
+
*/
|
|
36
|
+
free(): void;
|
|
37
|
+
constructor(raw?: RawDebugRenderPipeline);
|
|
38
|
+
render(bodies: RigidBodySet, colliders: ColliderSet, impulse_joints: ImpulseJointSet, multibody_joints: MultibodyJointSet, narrow_phase: NarrowPhase): void;
|
|
39
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RawDebugRenderPipeline } from "../raw";
|
|
2
|
+
/**
|
|
3
|
+
* The vertex and color buffers for debug-redering the physics scene.
|
|
4
|
+
*/
|
|
5
|
+
export class DebugRenderBuffers {
|
|
6
|
+
constructor(vertices, colors) {
|
|
7
|
+
this.vertices = vertices;
|
|
8
|
+
this.colors = colors;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A pipeline for rendering the physics scene.
|
|
13
|
+
*
|
|
14
|
+
* To avoid leaking WASM resources, this MUST be freed manually with `debugRenderPipeline.free()`
|
|
15
|
+
* once you are done using it (and all the rigid-bodies it created).
|
|
16
|
+
*/
|
|
17
|
+
export class DebugRenderPipeline {
|
|
18
|
+
/**
|
|
19
|
+
* Release the WASM memory occupied by this serialization pipeline.
|
|
20
|
+
*/
|
|
21
|
+
free() {
|
|
22
|
+
if (!!this.raw) {
|
|
23
|
+
this.raw.free();
|
|
24
|
+
}
|
|
25
|
+
this.raw = undefined;
|
|
26
|
+
this.vertices = undefined;
|
|
27
|
+
this.colors = undefined;
|
|
28
|
+
}
|
|
29
|
+
constructor(raw) {
|
|
30
|
+
this.raw = raw || new RawDebugRenderPipeline();
|
|
31
|
+
}
|
|
32
|
+
render(bodies, colliders, impulse_joints, multibody_joints, narrow_phase) {
|
|
33
|
+
this.raw.render(bodies.raw, colliders.raw, impulse_joints.raw, multibody_joints.raw, narrow_phase.raw);
|
|
34
|
+
this.vertices = this.raw.vertices();
|
|
35
|
+
this.colors = this.raw.colors();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=debug_render_pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug_render_pipeline.js","sourceRoot":"","sources":["../src/pipeline/debug_render_pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,QAAQ,CAAC;AAW9C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAe3B,YAAY,QAAsB,EAAE,MAAoB;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAK5B;;OAEG;IACH,IAAI;QACA,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,YAAY,GAA4B;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;IACnD,CAAC;IAEM,MAAM,CACT,MAAoB,EACpB,SAAsB,EACtB,cAA+B,EAC/B,gBAAmC,EACnC,YAAyB;QAEzB,IAAI,CAAC,GAAG,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,EACV,SAAS,CAAC,GAAG,EACb,cAAc,CAAC,GAAG,EAClB,gBAAgB,CAAC,GAAG,EACpB,YAAY,CAAC,GAAG,CACnB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;CACJ"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { RawContactForceEvent, RawEventQueue } from "../raw";
|
|
2
|
+
import { ColliderHandle } from "../geometry";
|
|
3
|
+
import { Vector } from "../math";
|
|
4
|
+
/**
|
|
5
|
+
* Flags indicating what events are enabled for colliders.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ActiveEvents {
|
|
8
|
+
NONE = 0,
|
|
9
|
+
/**
|
|
10
|
+
* Enable collision events.
|
|
11
|
+
*/
|
|
12
|
+
COLLISION_EVENTS = 1,
|
|
13
|
+
/**
|
|
14
|
+
* Enable contact force events.
|
|
15
|
+
*/
|
|
16
|
+
CONTACT_FORCE_EVENTS = 2
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Event occurring when the sum of the magnitudes of the
|
|
20
|
+
* contact forces between two colliders exceed a threshold.
|
|
21
|
+
*
|
|
22
|
+
* This object should **not** be stored anywhere. Its properties can only be
|
|
23
|
+
* read from within the closure given to `EventHandler.drainContactForceEvents`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class TempContactForceEvent {
|
|
26
|
+
raw: RawContactForceEvent;
|
|
27
|
+
free(): void;
|
|
28
|
+
/**
|
|
29
|
+
* The first collider involved in the contact.
|
|
30
|
+
*/
|
|
31
|
+
collider1(): ColliderHandle;
|
|
32
|
+
/**
|
|
33
|
+
* The second collider involved in the contact.
|
|
34
|
+
*/
|
|
35
|
+
collider2(): ColliderHandle;
|
|
36
|
+
/**
|
|
37
|
+
* The sum of all the forces between the two colliders.
|
|
38
|
+
*/
|
|
39
|
+
totalForce(): Vector;
|
|
40
|
+
/**
|
|
41
|
+
* The sum of the magnitudes of each force between the two colliders.
|
|
42
|
+
*
|
|
43
|
+
* Note that this is **not** the same as the magnitude of `self.total_force`.
|
|
44
|
+
* Here we are summing the magnitude of all the forces, instead of taking
|
|
45
|
+
* the magnitude of their sum.
|
|
46
|
+
*/
|
|
47
|
+
totalForceMagnitude(): number;
|
|
48
|
+
/**
|
|
49
|
+
* The world-space (unit) direction of the force with strongest magnitude.
|
|
50
|
+
*/
|
|
51
|
+
maxForceDirection(): Vector;
|
|
52
|
+
/**
|
|
53
|
+
* The magnitude of the largest force at a contact point of this contact pair.
|
|
54
|
+
*/
|
|
55
|
+
maxForceMagnitude(): number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A structure responsible for collecting events generated
|
|
59
|
+
* by the physics engine.
|
|
60
|
+
*
|
|
61
|
+
* To avoid leaking WASM resources, this MUST be freed manually with `eventQueue.free()`
|
|
62
|
+
* once you are done using it.
|
|
63
|
+
*/
|
|
64
|
+
export declare class EventQueue {
|
|
65
|
+
raw: RawEventQueue;
|
|
66
|
+
/**
|
|
67
|
+
* Creates a new event collector.
|
|
68
|
+
*
|
|
69
|
+
* @param autoDrain -setting this to `true` is strongly recommended. If true, the collector will
|
|
70
|
+
* be automatically drained before each `world.step(collector)`. If false, the collector will
|
|
71
|
+
* keep all events in memory unless it is manually drained/cleared; this may lead to unbounded use of
|
|
72
|
+
* RAM if no drain is performed.
|
|
73
|
+
*/
|
|
74
|
+
constructor(autoDrain: boolean, raw?: RawEventQueue);
|
|
75
|
+
/**
|
|
76
|
+
* Release the WASM memory occupied by this event-queue.
|
|
77
|
+
*/
|
|
78
|
+
free(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Applies the given javascript closure on each collision event of this collector, then clear
|
|
81
|
+
* the internal collision event buffer.
|
|
82
|
+
*
|
|
83
|
+
* @param f - JavaScript closure applied to each collision event. The
|
|
84
|
+
* closure must take three arguments: two integers representing the handles of the colliders
|
|
85
|
+
* involved in the collision, and a boolean indicating if the collision started (true) or stopped
|
|
86
|
+
* (false).
|
|
87
|
+
*/
|
|
88
|
+
drainCollisionEvents(f: (handle1: ColliderHandle, handle2: ColliderHandle, started: boolean) => void): void;
|
|
89
|
+
/**
|
|
90
|
+
* Applies the given javascript closure on each contact force event of this collector, then clear
|
|
91
|
+
* the internal collision event buffer.
|
|
92
|
+
*
|
|
93
|
+
* @param f - JavaScript closure applied to each collision event. The
|
|
94
|
+
* closure must take one `TempContactForceEvent` argument.
|
|
95
|
+
*/
|
|
96
|
+
drainContactForceEvents(f: (event: TempContactForceEvent) => void): void;
|
|
97
|
+
/**
|
|
98
|
+
* Removes all events contained by this collector
|
|
99
|
+
*/
|
|
100
|
+
clear(): void;
|
|
101
|
+
}
|