@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.
Files changed (143) hide show
  1. package/README.md +17 -0
  2. package/dist/components/rapier-3d-rigid-body.component.d.ts +26 -0
  3. package/dist/components/rapier-3d-rigid-body.component.js +88 -0
  4. package/dist/components/rapier-3d-trigger.component.d.ts +17 -0
  5. package/dist/components/rapier-3d-trigger.component.js +41 -0
  6. package/dist/components/rapier-3d-world.component.d.ts +27 -0
  7. package/dist/components/rapier-3d-world.component.js +81 -0
  8. package/dist/index.d.ts +5 -0
  9. package/dist/index.js +6 -0
  10. package/dist/rapier-3d-factory.d.ts +22 -0
  11. package/dist/rapier-3d-factory.js +89 -0
  12. package/dist/rapier-3d-loader.d.ts +6 -0
  13. package/dist/rapier-3d-loader.js +7 -0
  14. package/etc/@dimforge/rapier3d/LICENSE +201 -0
  15. package/etc/@dimforge/rapier3d/README.md +33 -0
  16. package/etc/@dimforge/rapier3d/coarena.d.ts +15 -0
  17. package/etc/@dimforge/rapier3d/coarena.js +61 -0
  18. package/etc/@dimforge/rapier3d/coarena.js.map +1 -0
  19. package/etc/@dimforge/rapier3d/control/character_controller.d.ts +188 -0
  20. package/etc/@dimforge/rapier3d/control/character_controller.js +256 -0
  21. package/etc/@dimforge/rapier3d/control/character_controller.js.map +1 -0
  22. package/etc/@dimforge/rapier3d/control/index.d.ts +2 -0
  23. package/etc/@dimforge/rapier3d/control/index.js +5 -0
  24. package/etc/@dimforge/rapier3d/control/index.js.map +1 -0
  25. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.d.ts +240 -0
  26. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js +362 -0
  27. package/etc/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js.map +1 -0
  28. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.d.ts +15 -0
  29. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js +22 -0
  30. package/etc/@dimforge/rapier3d/dynamics/ccd_solver.js.map +1 -0
  31. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.d.ts +13 -0
  32. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js +15 -0
  33. package/etc/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js.map +1 -0
  34. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.d.ts +204 -0
  35. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js +335 -0
  36. package/etc/@dimforge/rapier3d/dynamics/impulse_joint.js.map +1 -0
  37. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.d.ts +79 -0
  38. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js +123 -0
  39. package/etc/@dimforge/rapier3d/dynamics/impulse_joint_set.js.map +1 -0
  40. package/etc/@dimforge/rapier3d/dynamics/index.d.ts +10 -0
  41. package/etc/@dimforge/rapier3d/dynamics/index.js +11 -0
  42. package/etc/@dimforge/rapier3d/dynamics/index.js.map +1 -0
  43. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.d.ts +55 -0
  44. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js +98 -0
  45. package/etc/@dimforge/rapier3d/dynamics/integration_parameters.js.map +1 -0
  46. package/etc/@dimforge/rapier3d/dynamics/island_manager.d.ts +24 -0
  47. package/etc/@dimforge/rapier3d/dynamics/island_manager.js +32 -0
  48. package/etc/@dimforge/rapier3d/dynamics/island_manager.js.map +1 -0
  49. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.d.ts +42 -0
  50. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js +124 -0
  51. package/etc/@dimforge/rapier3d/dynamics/multibody_joint.js.map +1 -0
  52. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.d.ts +76 -0
  53. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js +118 -0
  54. package/etc/@dimforge/rapier3d/dynamics/multibody_joint_set.js.map +1 -0
  55. package/etc/@dimforge/rapier3d/dynamics/rigid_body.d.ts +679 -0
  56. package/etc/@dimforge/rapier3d/dynamics/rigid_body.js +960 -0
  57. package/etc/@dimforge/rapier3d/dynamics/rigid_body.js.map +1 -0
  58. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.d.ts +78 -0
  59. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js +147 -0
  60. package/etc/@dimforge/rapier3d/dynamics/rigid_body_set.js.map +1 -0
  61. package/etc/@dimforge/rapier3d/exports.d.ts +7 -0
  62. package/etc/@dimforge/rapier3d/exports.js +11 -0
  63. package/etc/@dimforge/rapier3d/exports.js.map +1 -0
  64. package/etc/@dimforge/rapier3d/geometry/broad_phase.d.ts +15 -0
  65. package/etc/@dimforge/rapier3d/geometry/broad_phase.js +22 -0
  66. package/etc/@dimforge/rapier3d/geometry/broad_phase.js.map +1 -0
  67. package/etc/@dimforge/rapier3d/geometry/collider.d.ts +763 -0
  68. package/etc/@dimforge/rapier3d/geometry/collider.js +1140 -0
  69. package/etc/@dimforge/rapier3d/geometry/collider.js.map +1 -0
  70. package/etc/@dimforge/rapier3d/geometry/collider_set.d.ts +72 -0
  71. package/etc/@dimforge/rapier3d/geometry/collider_set.js +144 -0
  72. package/etc/@dimforge/rapier3d/geometry/collider_set.js.map +1 -0
  73. package/etc/@dimforge/rapier3d/geometry/contact.d.ts +31 -0
  74. package/etc/@dimforge/rapier3d/geometry/contact.js +21 -0
  75. package/etc/@dimforge/rapier3d/geometry/contact.js.map +1 -0
  76. package/etc/@dimforge/rapier3d/geometry/feature.d.ts +6 -0
  77. package/etc/@dimforge/rapier3d/geometry/feature.js +10 -0
  78. package/etc/@dimforge/rapier3d/geometry/feature.js.map +1 -0
  79. package/etc/@dimforge/rapier3d/geometry/index.d.ts +11 -0
  80. package/etc/@dimforge/rapier3d/geometry/index.js +12 -0
  81. package/etc/@dimforge/rapier3d/geometry/index.js.map +1 -0
  82. package/etc/@dimforge/rapier3d/geometry/interaction_groups.d.ts +18 -0
  83. package/etc/@dimforge/rapier3d/geometry/interaction_groups.js +2 -0
  84. package/etc/@dimforge/rapier3d/geometry/interaction_groups.js.map +1 -0
  85. package/etc/@dimforge/rapier3d/geometry/narrow_phase.d.ts +71 -0
  86. package/etc/@dimforge/rapier3d/geometry/narrow_phase.js +148 -0
  87. package/etc/@dimforge/rapier3d/geometry/narrow_phase.js.map +1 -0
  88. package/etc/@dimforge/rapier3d/geometry/point.d.ts +47 -0
  89. package/etc/@dimforge/rapier3d/geometry/point.js +48 -0
  90. package/etc/@dimforge/rapier3d/geometry/point.js.map +1 -0
  91. package/etc/@dimforge/rapier3d/geometry/ray.d.ts +97 -0
  92. package/etc/@dimforge/rapier3d/geometry/ray.js +100 -0
  93. package/etc/@dimforge/rapier3d/geometry/ray.js.map +1 -0
  94. package/etc/@dimforge/rapier3d/geometry/shape.d.ts +489 -0
  95. package/etc/@dimforge/rapier3d/geometry/shape.js +686 -0
  96. package/etc/@dimforge/rapier3d/geometry/shape.js.map +1 -0
  97. package/etc/@dimforge/rapier3d/geometry/toi.d.ts +46 -0
  98. package/etc/@dimforge/rapier3d/geometry/toi.js +37 -0
  99. package/etc/@dimforge/rapier3d/geometry/toi.js.map +1 -0
  100. package/etc/@dimforge/rapier3d/init.d.ts +1 -0
  101. package/etc/@dimforge/rapier3d/init.js +2 -0
  102. package/etc/@dimforge/rapier3d/init.js.map +1 -0
  103. package/etc/@dimforge/rapier3d/math.d.ts +94 -0
  104. package/etc/@dimforge/rapier3d/math.js +138 -0
  105. package/etc/@dimforge/rapier3d/math.js.map +1 -0
  106. package/etc/@dimforge/rapier3d/package.json +33 -0
  107. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.d.ts +39 -0
  108. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js +38 -0
  109. package/etc/@dimforge/rapier3d/pipeline/debug_render_pipeline.js.map +1 -0
  110. package/etc/@dimforge/rapier3d/pipeline/event_queue.d.ts +101 -0
  111. package/etc/@dimforge/rapier3d/pipeline/event_queue.js +135 -0
  112. package/etc/@dimforge/rapier3d/pipeline/event_queue.js.map +1 -0
  113. package/etc/@dimforge/rapier3d/pipeline/index.d.ts +7 -0
  114. package/etc/@dimforge/rapier3d/pipeline/index.js +8 -0
  115. package/etc/@dimforge/rapier3d/pipeline/index.js.map +1 -0
  116. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.d.ts +39 -0
  117. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js +13 -0
  118. package/etc/@dimforge/rapier3d/pipeline/physics_hooks.js.map +1 -0
  119. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.d.ts +12 -0
  120. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js +24 -0
  121. package/etc/@dimforge/rapier3d/pipeline/physics_pipeline.js.map +1 -0
  122. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.d.ts +190 -0
  123. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js +271 -0
  124. package/etc/@dimforge/rapier3d/pipeline/query_pipeline.js.map +1 -0
  125. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.d.ts +37 -0
  126. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js +49 -0
  127. package/etc/@dimforge/rapier3d/pipeline/serialization_pipeline.js.map +1 -0
  128. package/etc/@dimforge/rapier3d/pipeline/world.d.ts +419 -0
  129. package/etc/@dimforge/rapier3d/pipeline/world.js +581 -0
  130. package/etc/@dimforge/rapier3d/pipeline/world.js.map +1 -0
  131. package/etc/@dimforge/rapier3d/rapier.d.ts +3 -0
  132. package/etc/@dimforge/rapier3d/rapier.js +4 -0
  133. package/etc/@dimforge/rapier3d/rapier.js.map +1 -0
  134. package/etc/@dimforge/rapier3d/rapier_wasm3d.d.ts +2921 -0
  135. package/etc/@dimforge/rapier3d/rapier_wasm3d.js +2 -0
  136. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.js +5585 -0
  137. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm +0 -0
  138. package/etc/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.d.ts +486 -0
  139. package/etc/@dimforge/rapier3d/raw.d.ts +1 -0
  140. package/etc/@dimforge/rapier3d/raw.js +2 -0
  141. package/etc/@dimforge/rapier3d/raw.js.map +1 -0
  142. package/package.json +43 -0
  143. package/tsconfig.json +8 -0
@@ -0,0 +1,118 @@
1
+ import { RawMultibodyJointSet } from "../raw";
2
+ import { Coarena } from "../coarena";
3
+ import { MultibodyJoint,
4
+ // #endif
5
+ } from "./multibody_joint";
6
+ /**
7
+ * A set of joints.
8
+ *
9
+ * To avoid leaking WASM resources, this MUST be freed manually with `jointSet.free()`
10
+ * once you are done using it (and all the joints it created).
11
+ */
12
+ export class MultibodyJointSet {
13
+ /**
14
+ * Release the WASM memory occupied by this joint set.
15
+ */
16
+ free() {
17
+ if (!!this.raw) {
18
+ this.raw.free();
19
+ }
20
+ this.raw = undefined;
21
+ if (!!this.map) {
22
+ this.map.clear();
23
+ }
24
+ this.map = undefined;
25
+ }
26
+ constructor(raw) {
27
+ this.raw = raw || new RawMultibodyJointSet();
28
+ this.map = new Coarena();
29
+ // Initialize the map with the existing elements, if any.
30
+ if (raw) {
31
+ raw.forEachJointHandle((handle) => {
32
+ this.map.set(handle, MultibodyJoint.newTyped(this.raw, handle));
33
+ });
34
+ }
35
+ }
36
+ /**
37
+ * Creates a new joint and return its integer handle.
38
+ *
39
+ * @param desc - The joint's parameters.
40
+ * @param parent1 - The handle of the first rigid-body this joint is attached to.
41
+ * @param parent2 - The handle of the second rigid-body this joint is attached to.
42
+ * @param wakeUp - Should the attached rigid-bodies be awakened?
43
+ */
44
+ createJoint(desc, parent1, parent2, wakeUp) {
45
+ const rawParams = desc.intoRaw();
46
+ const handle = this.raw.createJoint(rawParams, parent1, parent2, wakeUp);
47
+ rawParams.free();
48
+ let joint = MultibodyJoint.newTyped(this.raw, handle);
49
+ this.map.set(handle, joint);
50
+ return joint;
51
+ }
52
+ /**
53
+ * Remove a joint from this set.
54
+ *
55
+ * @param handle - The integer handle of the joint.
56
+ * @param wake_up - If `true`, the rigid-bodies attached by the removed joint will be woken-up automatically.
57
+ */
58
+ remove(handle, wake_up) {
59
+ this.raw.remove(handle, wake_up);
60
+ this.map.delete(handle);
61
+ }
62
+ /**
63
+ * Internal function, do not call directly.
64
+ * @param handle
65
+ */
66
+ unmap(handle) {
67
+ this.map.delete(handle);
68
+ }
69
+ /**
70
+ * The number of joints on this set.
71
+ */
72
+ len() {
73
+ return this.map.len();
74
+ }
75
+ /**
76
+ * Does this set contain a joint with the given handle?
77
+ *
78
+ * @param handle - The joint handle to check.
79
+ */
80
+ contains(handle) {
81
+ return this.get(handle) != null;
82
+ }
83
+ /**
84
+ * Gets the joint with the given handle.
85
+ *
86
+ * Returns `null` if no joint with the specified handle exists.
87
+ *
88
+ * @param handle - The integer handle of the joint to retrieve.
89
+ */
90
+ get(handle) {
91
+ return this.map.get(handle);
92
+ }
93
+ /**
94
+ * Applies the given closure to each joint contained by this set.
95
+ *
96
+ * @param f - The closure to apply.
97
+ */
98
+ forEach(f) {
99
+ this.map.forEach(f);
100
+ }
101
+ /**
102
+ * Calls the given closure with the integer handle of each multibody joint attached to this rigid-body.
103
+ *
104
+ * @param f - The closure called with the integer handle of each multibody joint attached to the rigid-body.
105
+ */
106
+ forEachJointHandleAttachedToRigidBody(handle, f) {
107
+ this.raw.forEachJointAttachedToRigidBody(handle, f);
108
+ }
109
+ /**
110
+ * Gets all joints in the list.
111
+ *
112
+ * @returns joint list.
113
+ */
114
+ getAll() {
115
+ return this.map.getAll();
116
+ }
117
+ }
118
+ //# sourceMappingURL=multibody_joint_set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multibody_joint_set.js","sourceRoot":"","sources":["../src/dynamics/multibody_joint_set.ts"],"names":[],"mappings":"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"}