@rapierphysicsplugin/client 1.0.0

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.
Files changed (83) hide show
  1. package/dist/__tests__/clock-sync.test.d.ts +2 -0
  2. package/dist/__tests__/clock-sync.test.d.ts.map +1 -0
  3. package/dist/__tests__/clock-sync.test.js +63 -0
  4. package/dist/__tests__/clock-sync.test.js.map +1 -0
  5. package/dist/__tests__/interpolator.test.d.ts +2 -0
  6. package/dist/__tests__/interpolator.test.d.ts.map +1 -0
  7. package/dist/__tests__/interpolator.test.js +82 -0
  8. package/dist/__tests__/interpolator.test.js.map +1 -0
  9. package/dist/__tests__/state-reconciler.test.d.ts +2 -0
  10. package/dist/__tests__/state-reconciler.test.d.ts.map +1 -0
  11. package/dist/__tests__/state-reconciler.test.js +86 -0
  12. package/dist/__tests__/state-reconciler.test.js.map +1 -0
  13. package/dist/clock-sync.d.ts +17 -0
  14. package/dist/clock-sync.d.ts.map +1 -0
  15. package/dist/clock-sync.js +63 -0
  16. package/dist/clock-sync.js.map +1 -0
  17. package/dist/index.d.ts +10 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +8 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/input-manager.d.ts +18 -0
  22. package/dist/input-manager.d.ts.map +1 -0
  23. package/dist/input-manager.js +62 -0
  24. package/dist/input-manager.js.map +1 -0
  25. package/dist/interpolator.d.ts +35 -0
  26. package/dist/interpolator.d.ts.map +1 -0
  27. package/dist/interpolator.js +198 -0
  28. package/dist/interpolator.js.map +1 -0
  29. package/dist/networked-rapier-plugin.d.ts +82 -0
  30. package/dist/networked-rapier-plugin.d.ts.map +1 -0
  31. package/dist/networked-rapier-plugin.js +698 -0
  32. package/dist/networked-rapier-plugin.js.map +1 -0
  33. package/dist/rapier-body-ops.d.ts +27 -0
  34. package/dist/rapier-body-ops.d.ts.map +1 -0
  35. package/dist/rapier-body-ops.js +208 -0
  36. package/dist/rapier-body-ops.js.map +1 -0
  37. package/dist/rapier-collision-ops.d.ts +6 -0
  38. package/dist/rapier-collision-ops.d.ts.map +1 -0
  39. package/dist/rapier-collision-ops.js +200 -0
  40. package/dist/rapier-collision-ops.js.map +1 -0
  41. package/dist/rapier-constraint-ops.d.ts +29 -0
  42. package/dist/rapier-constraint-ops.d.ts.map +1 -0
  43. package/dist/rapier-constraint-ops.js +286 -0
  44. package/dist/rapier-constraint-ops.js.map +1 -0
  45. package/dist/rapier-plugin.d.ts +145 -0
  46. package/dist/rapier-plugin.d.ts.map +1 -0
  47. package/dist/rapier-plugin.js +263 -0
  48. package/dist/rapier-plugin.js.map +1 -0
  49. package/dist/rapier-shape-ops.d.ts +21 -0
  50. package/dist/rapier-shape-ops.d.ts.map +1 -0
  51. package/dist/rapier-shape-ops.js +314 -0
  52. package/dist/rapier-shape-ops.js.map +1 -0
  53. package/dist/rapier-types.d.ts +58 -0
  54. package/dist/rapier-types.d.ts.map +1 -0
  55. package/dist/rapier-types.js +4 -0
  56. package/dist/rapier-types.js.map +1 -0
  57. package/dist/state-reconciler.d.ts +28 -0
  58. package/dist/state-reconciler.d.ts.map +1 -0
  59. package/dist/state-reconciler.js +119 -0
  60. package/dist/state-reconciler.js.map +1 -0
  61. package/dist/sync-client.d.ts +110 -0
  62. package/dist/sync-client.d.ts.map +1 -0
  63. package/dist/sync-client.js +514 -0
  64. package/dist/sync-client.js.map +1 -0
  65. package/package.json +21 -0
  66. package/src/__tests__/clock-sync.test.ts +72 -0
  67. package/src/__tests__/interpolator.test.ts +98 -0
  68. package/src/__tests__/state-reconciler.test.ts +102 -0
  69. package/src/clock-sync.ts +77 -0
  70. package/src/index.ts +9 -0
  71. package/src/input-manager.ts +72 -0
  72. package/src/interpolator.ts +256 -0
  73. package/src/networked-rapier-plugin.ts +909 -0
  74. package/src/rapier-body-ops.ts +251 -0
  75. package/src/rapier-collision-ops.ts +229 -0
  76. package/src/rapier-constraint-ops.ts +327 -0
  77. package/src/rapier-plugin.ts +364 -0
  78. package/src/rapier-shape-ops.ts +369 -0
  79. package/src/rapier-types.ts +60 -0
  80. package/src/state-reconciler.ts +151 -0
  81. package/src/sync-client.ts +640 -0
  82. package/tsconfig.json +12 -0
  83. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networked-rapier-plugin.js","sourceRoot":"","sources":["../src/networked-rapier-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Vector3, Quaternion, PhysicsMotionType } from '@babylonjs/core';
2
+ import type { PhysicsBody, PhysicsMassProperties, TransformNode } from '@babylonjs/core';
3
+ import type { RapierPluginState } from './rapier-types.js';
4
+ export declare function initBody(state: RapierPluginState, body: PhysicsBody, motionType: PhysicsMotionType, position: Vector3, orientation: Quaternion): void;
5
+ export declare function disposeBody(state: RapierPluginState, body: PhysicsBody): void;
6
+ export declare function syncBody(state: RapierPluginState, body: PhysicsBody): void;
7
+ export declare function syncTransform(state: RapierPluginState, body: PhysicsBody, transformNode: TransformNode): void;
8
+ export declare function setMotionType(state: RapierPluginState, body: PhysicsBody, motionType: PhysicsMotionType): void;
9
+ export declare function getMotionType(state: RapierPluginState, body: PhysicsBody): PhysicsMotionType;
10
+ export declare function computeMassProperties(state: RapierPluginState, body: PhysicsBody): PhysicsMassProperties;
11
+ export declare function setMassProperties(state: RapierPluginState, body: PhysicsBody, massProps: PhysicsMassProperties): void;
12
+ export declare function getMassProperties(state: RapierPluginState, body: PhysicsBody): PhysicsMassProperties;
13
+ export declare function setLinearDamping(state: RapierPluginState, body: PhysicsBody, damping: number): void;
14
+ export declare function getLinearDamping(state: RapierPluginState, body: PhysicsBody): number;
15
+ export declare function setAngularDamping(state: RapierPluginState, body: PhysicsBody, damping: number): void;
16
+ export declare function getAngularDamping(state: RapierPluginState, body: PhysicsBody): number;
17
+ export declare function setLinearVelocity(state: RapierPluginState, body: PhysicsBody, linVel: Vector3): void;
18
+ export declare function getLinearVelocityToRef(state: RapierPluginState, body: PhysicsBody, linVel: Vector3): void;
19
+ export declare function setAngularVelocity(state: RapierPluginState, body: PhysicsBody, angVel: Vector3): void;
20
+ export declare function getAngularVelocityToRef(state: RapierPluginState, body: PhysicsBody, angVel: Vector3): void;
21
+ export declare function applyImpulse(state: RapierPluginState, body: PhysicsBody, impulse: Vector3, location: Vector3): void;
22
+ export declare function applyAngularImpulse(state: RapierPluginState, body: PhysicsBody, angularImpulse: Vector3): void;
23
+ export declare function applyForce(state: RapierPluginState, body: PhysicsBody, force: Vector3, location: Vector3): void;
24
+ export declare function setGravityFactor(state: RapierPluginState, body: PhysicsBody, factor: number): void;
25
+ export declare function getGravityFactor(state: RapierPluginState, body: PhysicsBody): number;
26
+ export declare function setTargetTransform(state: RapierPluginState, body: PhysicsBody, position: Vector3, rotation: Quaternion): void;
27
+ //# sourceMappingURL=rapier-body-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapier-body-ops.d.ts","sourceRoot":"","sources":["../src/rapier-body-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ import { Vector3, Quaternion, PhysicsMotionType } from '@babylonjs/core';
2
+ export function initBody(state, body, motionType, position, orientation) {
3
+ let bodyDesc;
4
+ switch (motionType) {
5
+ case PhysicsMotionType.DYNAMIC:
6
+ bodyDesc = state.rapier.RigidBodyDesc.dynamic();
7
+ break;
8
+ case PhysicsMotionType.STATIC:
9
+ bodyDesc = state.rapier.RigidBodyDesc.fixed();
10
+ break;
11
+ case PhysicsMotionType.ANIMATED:
12
+ bodyDesc = state.rapier.RigidBodyDesc.kinematicPositionBased();
13
+ break;
14
+ default:
15
+ bodyDesc = state.rapier.RigidBodyDesc.dynamic();
16
+ }
17
+ bodyDesc.setTranslation(position.x, position.y, position.z);
18
+ bodyDesc.setRotation(new state.rapier.Quaternion(orientation.x, orientation.y, orientation.z, orientation.w));
19
+ const rigidBody = state.world.createRigidBody(bodyDesc);
20
+ state.bodyToRigidBody.set(body, rigidBody);
21
+ state.bodyToColliders.set(body, []);
22
+ }
23
+ export function disposeBody(state, body) {
24
+ const rb = state.bodyToRigidBody.get(body);
25
+ if (rb) {
26
+ const colliders = state.bodyToColliders.get(body) ?? [];
27
+ for (const col of colliders) {
28
+ state.colliderHandleToBody.delete(col.handle);
29
+ }
30
+ state.world.removeRigidBody(rb);
31
+ state.bodyToRigidBody.delete(body);
32
+ state.bodyToColliders.delete(body);
33
+ state.bodyCollisionObservables.delete(body);
34
+ state.bodyCollisionEndedObservables.delete(body);
35
+ state.collisionCallbackEnabled.delete(body);
36
+ state.collisionEndedCallbackEnabled.delete(body);
37
+ const shape = state.bodyToShape.get(body);
38
+ if (shape) {
39
+ state.shapeToBody.delete(shape);
40
+ }
41
+ state.bodyToShape.delete(body);
42
+ state.bodyEventMask.delete(body);
43
+ }
44
+ }
45
+ export function syncBody(state, body) {
46
+ const rb = state.bodyToRigidBody.get(body);
47
+ if (!rb)
48
+ return;
49
+ const tn = body.transformNode;
50
+ if (!tn)
51
+ return;
52
+ const pos = rb.translation();
53
+ const rot = rb.rotation();
54
+ tn.position.set(pos.x, pos.y, pos.z);
55
+ tn.rotationQuaternion = tn.rotationQuaternion ?? new Quaternion();
56
+ tn.rotationQuaternion.set(rot.x, rot.y, rot.z, rot.w);
57
+ }
58
+ export function syncTransform(state, body, transformNode) {
59
+ const rb = state.bodyToRigidBody.get(body);
60
+ if (!rb)
61
+ return;
62
+ const pos = rb.translation();
63
+ const rot = rb.rotation();
64
+ transformNode.position.set(pos.x, pos.y, pos.z);
65
+ transformNode.rotationQuaternion = transformNode.rotationQuaternion ?? new Quaternion();
66
+ transformNode.rotationQuaternion.set(rot.x, rot.y, rot.z, rot.w);
67
+ }
68
+ export function setMotionType(state, body, motionType) {
69
+ const rb = state.bodyToRigidBody.get(body);
70
+ if (!rb)
71
+ return;
72
+ switch (motionType) {
73
+ case PhysicsMotionType.DYNAMIC:
74
+ rb.setBodyType(state.rapier.RigidBodyType.Dynamic, true);
75
+ break;
76
+ case PhysicsMotionType.STATIC:
77
+ rb.setBodyType(state.rapier.RigidBodyType.Fixed, true);
78
+ break;
79
+ case PhysicsMotionType.ANIMATED:
80
+ rb.setBodyType(state.rapier.RigidBodyType.KinematicPositionBased, true);
81
+ break;
82
+ }
83
+ }
84
+ export function getMotionType(state, body) {
85
+ const rb = state.bodyToRigidBody.get(body);
86
+ if (!rb)
87
+ return PhysicsMotionType.STATIC;
88
+ if (rb.isDynamic())
89
+ return PhysicsMotionType.DYNAMIC;
90
+ if (rb.isKinematic())
91
+ return PhysicsMotionType.ANIMATED;
92
+ return PhysicsMotionType.STATIC;
93
+ }
94
+ export function computeMassProperties(state, body) {
95
+ const rb = state.bodyToRigidBody.get(body);
96
+ if (!rb)
97
+ return { mass: 1, centerOfMass: Vector3.Zero(), inertia: Vector3.One(), inertiaOrientation: Quaternion.Identity() };
98
+ const com = rb.localCom();
99
+ const inertia = rb.principalInertia();
100
+ const inertiaFrame = rb.principalInertiaLocalFrame();
101
+ return {
102
+ mass: rb.mass(),
103
+ centerOfMass: new Vector3(com.x, com.y, com.z),
104
+ inertia: new Vector3(inertia.x, inertia.y, inertia.z),
105
+ inertiaOrientation: new Quaternion(inertiaFrame.x, inertiaFrame.y, inertiaFrame.z, inertiaFrame.w),
106
+ };
107
+ }
108
+ export function setMassProperties(state, body, massProps) {
109
+ const rb = state.bodyToRigidBody.get(body);
110
+ if (!rb)
111
+ return;
112
+ const mass = massProps.mass ?? 0;
113
+ const com = massProps.centerOfMass ?? Vector3.Zero();
114
+ const inertia = massProps.inertia ?? Vector3.Zero();
115
+ const inertiaOrientation = massProps.inertiaOrientation ?? Quaternion.Identity();
116
+ rb.setAdditionalMassProperties(mass, new state.rapier.Vector3(com.x, com.y, com.z), new state.rapier.Vector3(inertia.x, inertia.y, inertia.z), new state.rapier.Quaternion(inertiaOrientation.x, inertiaOrientation.y, inertiaOrientation.z, inertiaOrientation.w), true);
117
+ }
118
+ export function getMassProperties(state, body) {
119
+ const rb = state.bodyToRigidBody.get(body);
120
+ if (!rb)
121
+ return { mass: 1, centerOfMass: Vector3.Zero(), inertia: Vector3.One(), inertiaOrientation: Quaternion.Identity() };
122
+ const com = rb.localCom();
123
+ const inertia = rb.principalInertia();
124
+ const inertiaFrame = rb.principalInertiaLocalFrame();
125
+ return {
126
+ mass: rb.mass(),
127
+ centerOfMass: new Vector3(com.x, com.y, com.z),
128
+ inertia: new Vector3(inertia.x, inertia.y, inertia.z),
129
+ inertiaOrientation: new Quaternion(inertiaFrame.x, inertiaFrame.y, inertiaFrame.z, inertiaFrame.w),
130
+ };
131
+ }
132
+ export function setLinearDamping(state, body, damping) {
133
+ const rb = state.bodyToRigidBody.get(body);
134
+ if (rb)
135
+ rb.setLinearDamping(damping);
136
+ }
137
+ export function getLinearDamping(state, body) {
138
+ const rb = state.bodyToRigidBody.get(body);
139
+ return rb?.linearDamping() ?? 0;
140
+ }
141
+ export function setAngularDamping(state, body, damping) {
142
+ const rb = state.bodyToRigidBody.get(body);
143
+ if (rb)
144
+ rb.setAngularDamping(damping);
145
+ }
146
+ export function getAngularDamping(state, body) {
147
+ const rb = state.bodyToRigidBody.get(body);
148
+ return rb?.angularDamping() ?? 0;
149
+ }
150
+ export function setLinearVelocity(state, body, linVel) {
151
+ const rb = state.bodyToRigidBody.get(body);
152
+ if (rb)
153
+ rb.setLinvel(new state.rapier.Vector3(linVel.x, linVel.y, linVel.z), true);
154
+ }
155
+ export function getLinearVelocityToRef(state, body, linVel) {
156
+ const rb = state.bodyToRigidBody.get(body);
157
+ if (rb) {
158
+ const v = rb.linvel();
159
+ linVel.set(v.x, v.y, v.z);
160
+ }
161
+ }
162
+ export function setAngularVelocity(state, body, angVel) {
163
+ const rb = state.bodyToRigidBody.get(body);
164
+ if (rb)
165
+ rb.setAngvel(new state.rapier.Vector3(angVel.x, angVel.y, angVel.z), true);
166
+ }
167
+ export function getAngularVelocityToRef(state, body, angVel) {
168
+ const rb = state.bodyToRigidBody.get(body);
169
+ if (rb) {
170
+ const v = rb.angvel();
171
+ angVel.set(v.x, v.y, v.z);
172
+ }
173
+ }
174
+ export function applyImpulse(state, body, impulse, location) {
175
+ const rb = state.bodyToRigidBody.get(body);
176
+ if (!rb)
177
+ return;
178
+ rb.applyImpulseAtPoint(new state.rapier.Vector3(impulse.x, impulse.y, impulse.z), new state.rapier.Vector3(location.x, location.y, location.z), true);
179
+ }
180
+ export function applyAngularImpulse(state, body, angularImpulse) {
181
+ const rb = state.bodyToRigidBody.get(body);
182
+ if (!rb)
183
+ return;
184
+ rb.applyTorqueImpulse(new state.rapier.Vector3(angularImpulse.x, angularImpulse.y, angularImpulse.z), true);
185
+ }
186
+ export function applyForce(state, body, force, location) {
187
+ const rb = state.bodyToRigidBody.get(body);
188
+ if (!rb)
189
+ return;
190
+ rb.addForceAtPoint(new state.rapier.Vector3(force.x, force.y, force.z), new state.rapier.Vector3(location.x, location.y, location.z), true);
191
+ }
192
+ export function setGravityFactor(state, body, factor) {
193
+ const rb = state.bodyToRigidBody.get(body);
194
+ if (rb)
195
+ rb.setGravityScale(factor, true);
196
+ }
197
+ export function getGravityFactor(state, body) {
198
+ const rb = state.bodyToRigidBody.get(body);
199
+ return rb?.gravityScale() ?? 1;
200
+ }
201
+ export function setTargetTransform(state, body, position, rotation) {
202
+ const rb = state.bodyToRigidBody.get(body);
203
+ if (!rb)
204
+ return;
205
+ rb.setNextKinematicTranslation(new state.rapier.Vector3(position.x, position.y, position.z));
206
+ rb.setNextKinematicRotation(new state.rapier.Quaternion(rotation.x, rotation.y, rotation.z, rotation.w));
207
+ }
208
+ //# sourceMappingURL=rapier-body-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapier-body-ops.js","sourceRoot":"","sources":["../src/rapier-body-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type RAPIER from '@dimforge/rapier3d-compat';
2
+ import type { CollisionEventData } from '@rapierphysicsplugin/shared';
3
+ import type { RapierPluginState } from './rapier-types.js';
4
+ export declare function processCollisionEvents(state: RapierPluginState, eventQueue: RAPIER.EventQueue): void;
5
+ export declare function injectCollisionEvents(state: RapierPluginState, events: CollisionEventData[]): void;
6
+ //# sourceMappingURL=rapier-collision-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapier-collision-ops.d.ts","sourceRoot":"","sources":["../src/rapier-collision-ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAQpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,MAAM,CAAC,UAAU,GAC5B,IAAI,CAuHN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CA6FlG"}
@@ -0,0 +1,200 @@
1
+ import { Vector3, PhysicsEventType } from '@babylonjs/core';
2
+ export function processCollisionEvents(state, eventQueue) {
3
+ eventQueue.drainCollisionEvents((handle1, handle2, started) => {
4
+ const body1 = state.colliderHandleToBody.get(handle1);
5
+ const body2 = state.colliderHandleToBody.get(handle2);
6
+ if (!body1 || !body2)
7
+ return;
8
+ const collider1 = state.world.getCollider(handle1);
9
+ const collider2 = state.world.getCollider(handle2);
10
+ if (!collider1 || !collider2)
11
+ return;
12
+ const isSensor = collider1.isSensor() || collider2.isSensor();
13
+ if (isSensor) {
14
+ const eventType = started ? PhysicsEventType.TRIGGER_ENTERED : PhysicsEventType.TRIGGER_EXITED;
15
+ const baseEvent1 = {
16
+ collider: body1,
17
+ collidedAgainst: body2,
18
+ colliderIndex: 0,
19
+ collidedAgainstIndex: 0,
20
+ type: eventType,
21
+ };
22
+ const baseEvent2 = {
23
+ collider: body2,
24
+ collidedAgainst: body1,
25
+ colliderIndex: 0,
26
+ collidedAgainstIndex: 0,
27
+ type: eventType,
28
+ };
29
+ state.onTriggerCollisionObservable.notifyObservers(baseEvent1);
30
+ if (state.collisionCallbackEnabled.has(body1)) {
31
+ const triggerEvent = { ...baseEvent1, point: null, normal: null, distance: 0, impulse: 0 };
32
+ state.bodyCollisionObservables.get(body1)?.notifyObservers(triggerEvent);
33
+ }
34
+ if (state.collisionCallbackEnabled.has(body2)) {
35
+ const triggerEvent = { ...baseEvent2, point: null, normal: null, distance: 0, impulse: 0 };
36
+ state.bodyCollisionObservables.get(body2)?.notifyObservers(triggerEvent);
37
+ }
38
+ }
39
+ else if (started) {
40
+ let point = null;
41
+ let normal = null;
42
+ let impulse = 0;
43
+ state.world.contactPair(collider1, collider2, (manifold, flipped) => {
44
+ const n = manifold.normal();
45
+ normal = flipped
46
+ ? new Vector3(-n.x, -n.y, -n.z)
47
+ : new Vector3(n.x, n.y, n.z);
48
+ if (manifold.numContacts() > 0) {
49
+ const cp = manifold.localContactPoint1(0);
50
+ if (cp) {
51
+ const t = collider1.translation();
52
+ point = new Vector3(cp.x + t.x, cp.y + t.y, cp.z + t.z);
53
+ }
54
+ impulse = manifold.contactImpulse(0);
55
+ }
56
+ });
57
+ const eventType = PhysicsEventType.COLLISION_STARTED;
58
+ const fullEvent1 = {
59
+ collider: body1,
60
+ collidedAgainst: body2,
61
+ colliderIndex: 0,
62
+ collidedAgainstIndex: 0,
63
+ type: eventType,
64
+ point,
65
+ normal,
66
+ distance: 0,
67
+ impulse,
68
+ };
69
+ const fullEvent2 = {
70
+ collider: body2,
71
+ collidedAgainst: body1,
72
+ colliderIndex: 0,
73
+ collidedAgainstIndex: 0,
74
+ type: eventType,
75
+ point,
76
+ normal: normal ? normal.negate() : null,
77
+ distance: 0,
78
+ impulse,
79
+ };
80
+ state.onCollisionObservable.notifyObservers(fullEvent1);
81
+ if (state.collisionCallbackEnabled.has(body1)) {
82
+ state.bodyCollisionObservables.get(body1)?.notifyObservers(fullEvent1);
83
+ }
84
+ if (state.collisionCallbackEnabled.has(body2)) {
85
+ state.bodyCollisionObservables.get(body2)?.notifyObservers(fullEvent2);
86
+ }
87
+ }
88
+ else {
89
+ const eventType = PhysicsEventType.COLLISION_FINISHED;
90
+ const baseEvent1 = {
91
+ collider: body1,
92
+ collidedAgainst: body2,
93
+ colliderIndex: 0,
94
+ collidedAgainstIndex: 0,
95
+ type: eventType,
96
+ };
97
+ const baseEvent2 = {
98
+ collider: body2,
99
+ collidedAgainst: body1,
100
+ colliderIndex: 0,
101
+ collidedAgainstIndex: 0,
102
+ type: eventType,
103
+ };
104
+ state.onCollisionEndedObservable.notifyObservers(baseEvent1);
105
+ if (state.collisionEndedCallbackEnabled.has(body1)) {
106
+ state.bodyCollisionEndedObservables.get(body1)?.notifyObservers(baseEvent1);
107
+ }
108
+ if (state.collisionEndedCallbackEnabled.has(body2)) {
109
+ state.bodyCollisionEndedObservables.get(body2)?.notifyObservers(baseEvent2);
110
+ }
111
+ }
112
+ });
113
+ }
114
+ export function injectCollisionEvents(state, events) {
115
+ for (const event of events) {
116
+ const bodyA = state.bodyIdToPhysicsBody.get(event.bodyIdA);
117
+ const bodyB = state.bodyIdToPhysicsBody.get(event.bodyIdB);
118
+ if (!bodyA || !bodyB)
119
+ continue;
120
+ const point = event.point ? new Vector3(event.point.x, event.point.y, event.point.z) : null;
121
+ const normal = event.normal ? new Vector3(event.normal.x, event.normal.y, event.normal.z) : null;
122
+ const eventType = PhysicsEventType[event.type];
123
+ const baseEventA = {
124
+ collider: bodyA,
125
+ collidedAgainst: bodyB,
126
+ colliderIndex: 0,
127
+ collidedAgainstIndex: 0,
128
+ type: eventType,
129
+ };
130
+ const baseEventB = {
131
+ collider: bodyB,
132
+ collidedAgainst: bodyA,
133
+ colliderIndex: 0,
134
+ collidedAgainstIndex: 0,
135
+ type: eventType,
136
+ };
137
+ switch (event.type) {
138
+ case 'COLLISION_STARTED': {
139
+ const fullEventA = {
140
+ ...baseEventA,
141
+ point,
142
+ normal,
143
+ distance: 0,
144
+ impulse: event.impulse,
145
+ };
146
+ const fullEventB = {
147
+ ...baseEventB,
148
+ point,
149
+ normal: normal ? normal.negate() : null,
150
+ distance: 0,
151
+ impulse: event.impulse,
152
+ };
153
+ state.onCollisionObservable.notifyObservers(fullEventA);
154
+ if (state.collisionCallbackEnabled.has(bodyA)) {
155
+ state.bodyCollisionObservables.get(bodyA)?.notifyObservers(fullEventA);
156
+ }
157
+ if (state.collisionCallbackEnabled.has(bodyB)) {
158
+ state.bodyCollisionObservables.get(bodyB)?.notifyObservers(fullEventB);
159
+ }
160
+ break;
161
+ }
162
+ case 'COLLISION_FINISHED': {
163
+ state.onCollisionEndedObservable.notifyObservers(baseEventA);
164
+ if (state.collisionEndedCallbackEnabled.has(bodyA)) {
165
+ state.bodyCollisionEndedObservables.get(bodyA)?.notifyObservers(baseEventA);
166
+ }
167
+ if (state.collisionEndedCallbackEnabled.has(bodyB)) {
168
+ state.bodyCollisionEndedObservables.get(bodyB)?.notifyObservers(baseEventB);
169
+ }
170
+ break;
171
+ }
172
+ case 'TRIGGER_ENTERED':
173
+ case 'TRIGGER_EXITED': {
174
+ state.onTriggerCollisionObservable.notifyObservers(baseEventA);
175
+ if (state.collisionCallbackEnabled.has(bodyA)) {
176
+ const triggerEventA = {
177
+ ...baseEventA,
178
+ point: null,
179
+ normal: null,
180
+ distance: 0,
181
+ impulse: 0,
182
+ };
183
+ state.bodyCollisionObservables.get(bodyA)?.notifyObservers(triggerEventA);
184
+ }
185
+ if (state.collisionCallbackEnabled.has(bodyB)) {
186
+ const triggerEventB = {
187
+ ...baseEventB,
188
+ point: null,
189
+ normal: null,
190
+ distance: 0,
191
+ impulse: 0,
192
+ };
193
+ state.bodyCollisionObservables.get(bodyB)?.notifyObservers(triggerEventB);
194
+ }
195
+ break;
196
+ }
197
+ }
198
+ }
199
+ }
200
+ //# sourceMappingURL=rapier-collision-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapier-collision-ops.js","sourceRoot":"","sources":["../src/rapier-collision-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type RAPIER from '@dimforge/rapier3d-compat';
2
+ import { PhysicsConstraintAxis, PhysicsConstraintMotorType } from '@babylonjs/core';
3
+ import type { PhysicsBody, PhysicsConstraint, PhysicsConstraintAxisLimitMode, ConstrainedBodyPair, Nullable } from '@babylonjs/core';
4
+ import type { ConstraintDescriptor } from '@rapierphysicsplugin/shared';
5
+ import type { RapierPluginState } from './rapier-types.js';
6
+ export declare function buildConstraintDescriptor(constraint: PhysicsConstraint): ConstraintDescriptor;
7
+ export declare function createJointFromConstraint(state: RapierPluginState, constraint: PhysicsConstraint, rbA: RAPIER.RigidBody, rbB: RAPIER.RigidBody): RAPIER.ImpulseJoint;
8
+ export declare function initConstraint(state: RapierPluginState, constraint: PhysicsConstraint, body: PhysicsBody, childBody: PhysicsBody): void;
9
+ export declare function disposeConstraint(state: RapierPluginState, constraint: PhysicsConstraint): void;
10
+ export declare function setEnabled(state: RapierPluginState, constraint: PhysicsConstraint, isEnabled: boolean): void;
11
+ export declare function getEnabled(state: RapierPluginState, constraint: PhysicsConstraint): boolean;
12
+ export declare function setCollisionsEnabled(state: RapierPluginState, constraint: PhysicsConstraint, isEnabled: boolean): void;
13
+ export declare function getCollisionsEnabled(state: RapierPluginState, constraint: PhysicsConstraint): boolean;
14
+ export declare function setAxisFriction(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, friction: number): void;
15
+ export declare function getAxisFriction(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
16
+ export declare function setAxisMode(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, limitMode: PhysicsConstraintAxisLimitMode): void;
17
+ export declare function getAxisMode(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<PhysicsConstraintAxisLimitMode>;
18
+ export declare function setAxisMinLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, minLimit: number): void;
19
+ export declare function getAxisMinLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
20
+ export declare function setAxisMaxLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, limit: number): void;
21
+ export declare function getAxisMaxLimit(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
22
+ export declare function setAxisMotorType(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, motorType: PhysicsConstraintMotorType): void;
23
+ export declare function getAxisMotorType(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<PhysicsConstraintMotorType>;
24
+ export declare function setAxisMotorTarget(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, target: number): void;
25
+ export declare function getAxisMotorTarget(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
26
+ export declare function setAxisMotorMaxForce(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis, maxForce: number): void;
27
+ export declare function getAxisMotorMaxForce(state: RapierPluginState, constraint: PhysicsConstraint, axis: PhysicsConstraintAxis): Nullable<number>;
28
+ export declare function getBodiesUsingConstraint(state: RapierPluginState, constraint: PhysicsConstraint): ConstrainedBodyPair[];
29
+ //# sourceMappingURL=rapier-constraint-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rapier-constraint-ops.d.ts","sourceRoot":"","sources":["../src/rapier-constraint-ops.ts"],"names":[],"mappings":"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"}