mt-lang 0.3.41 → 0.3.42
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.
- checksums.yaml +4 -4
- data/lib/milk_tea/base.rb +1 -1
- data/lib/milk_tea/bindings/bindgen/declaration.rb +17 -0
- data/lib/milk_tea/bindings/bindgen/emitter.rb +44 -5
- data/lib/milk_tea/bindings/imported_bindings/defaults.rb +7 -0
- data/lib/milk_tea/bindings/raw_bindings/defaults.rb +22 -0
- data/lib/milk_tea/bindings/upstream_sources.rb +9 -0
- data/lib/milk_tea/bindings/vendored_box3d.rb +77 -0
- data/lib/milk_tea/bindings.rb +1 -0
- data/lib/milk_tea/core/c_backend/expressions.rb +21 -5
- data/lib/milk_tea/core/c_backend/feature_detection.rb +1 -1
- data/lib/milk_tea/core/c_backend/runtime_helpers.rb +8 -4
- data/lib/milk_tea/core/c_backend/statements.rb +1 -1
- data/lib/milk_tea/core/c_backend/type_collectors.rb +23 -4
- data/lib/milk_tea/core/lowering/async/async_lowering.rb +2 -6
- data/lib/milk_tea/core/lowering/async/frame_builder.rb +12 -5
- data/lib/milk_tea/core/lowering/async/normalization.rb +26 -5
- data/lib/milk_tea/core/semantic_analyzer/expressions.rb +8 -2
- data/lib/milk_tea/core/semantic_analyzer/name_resolution.rb +3 -1
- data/lib/milk_tea/tooling/docs_app.rb +1 -1
- data/std/box3d.mt +784 -0
- data/std/c/box3d.mt +1871 -0
- data/std/c/miniaudio.mt +19 -28
- data/std/c/steamworks.mt +2 -5
- data/std/miniaudio.mt +9 -12
- data/std/steamworks.mt +0 -1
- metadata +5 -2
data/std/c/box3d.mt
ADDED
|
@@ -0,0 +1,1871 @@
|
|
|
1
|
+
# generated by mtc bindgen from /home/teefan/Projects/Ruby/mt-lang/third_party/box3d-upstream/include/box3d/box3d.h
|
|
2
|
+
external
|
|
3
|
+
|
|
4
|
+
link "box3d"
|
|
5
|
+
include "box3d/box3d.h"
|
|
6
|
+
|
|
7
|
+
union b3MeshNode_data:
|
|
8
|
+
asNode: b3MeshNode_data_asNode
|
|
9
|
+
asLeaf: b3MeshNode_data_asLeaf
|
|
10
|
+
|
|
11
|
+
struct b3MeshNode_data_asNode:
|
|
12
|
+
axis: uint
|
|
13
|
+
childOffset: uint
|
|
14
|
+
|
|
15
|
+
struct b3MeshNode_data_asLeaf:
|
|
16
|
+
type: uint
|
|
17
|
+
triangleCount: uint
|
|
18
|
+
|
|
19
|
+
type b3AllocFcn = fn(arg0: int, arg1: int) -> ptr[void]
|
|
20
|
+
type b3FreeFcn = fn(arg0: ptr[void]) -> void
|
|
21
|
+
type b3AssertFcn = fn(arg0: cstr, arg1: cstr, arg2: int) -> int
|
|
22
|
+
type b3LogFcn = fn(arg0: cstr) -> void
|
|
23
|
+
|
|
24
|
+
external function b3SetAllocator(allocFcn: b3AllocFcn, freeFcn: b3FreeFcn) -> void
|
|
25
|
+
external function b3GetByteCount() -> int
|
|
26
|
+
external function b3SetAssertFcn(assertFcn: b3AssertFcn) -> void
|
|
27
|
+
external function b3InternalAssert(condition: cstr, fileName: cstr, lineNumber: int) -> int
|
|
28
|
+
external function b3SetLogFcn(logFcn: b3LogFcn) -> void
|
|
29
|
+
|
|
30
|
+
struct b3Version:
|
|
31
|
+
major: int
|
|
32
|
+
minor: int
|
|
33
|
+
revision: int
|
|
34
|
+
|
|
35
|
+
external function b3GetVersion() -> b3Version
|
|
36
|
+
external function b3IsDoublePrecision() -> bool
|
|
37
|
+
external function b3GetTicks() -> ulong
|
|
38
|
+
external function b3GetMilliseconds(ticks: ptr_uint) -> float
|
|
39
|
+
external function b3GetMillisecondsAndReset(ticks: ptr[ulong]) -> float
|
|
40
|
+
external function b3Yield() -> void
|
|
41
|
+
external function b3Sleep(milliseconds: int) -> void
|
|
42
|
+
external function b3Hash(hash: uint, data: const_ptr[ubyte], count: int) -> uint
|
|
43
|
+
|
|
44
|
+
struct b3Vec2:
|
|
45
|
+
x: float
|
|
46
|
+
y: float
|
|
47
|
+
|
|
48
|
+
struct b3Vec3:
|
|
49
|
+
x: float
|
|
50
|
+
y: float
|
|
51
|
+
z: float
|
|
52
|
+
|
|
53
|
+
struct b3CosSin:
|
|
54
|
+
cosine: float
|
|
55
|
+
sine: float
|
|
56
|
+
|
|
57
|
+
struct b3Quat:
|
|
58
|
+
v: b3Vec3
|
|
59
|
+
s: float
|
|
60
|
+
|
|
61
|
+
struct b3Transform:
|
|
62
|
+
p: b3Vec3
|
|
63
|
+
q: b3Quat
|
|
64
|
+
|
|
65
|
+
type b3Pos = b3Vec3
|
|
66
|
+
type b3WorldTransform = b3Transform
|
|
67
|
+
|
|
68
|
+
struct b3Matrix3:
|
|
69
|
+
cx: b3Vec3
|
|
70
|
+
cy: b3Vec3
|
|
71
|
+
cz: b3Vec3
|
|
72
|
+
|
|
73
|
+
struct b3AABB:
|
|
74
|
+
lowerBound: b3Vec3
|
|
75
|
+
upperBound: b3Vec3
|
|
76
|
+
|
|
77
|
+
struct b3Plane:
|
|
78
|
+
normal: b3Vec3
|
|
79
|
+
offset: float
|
|
80
|
+
|
|
81
|
+
const b3Vec3_zero: b3Vec3 = b3Vec3(x = 0.0, y = 0.0, z = 0.0)
|
|
82
|
+
const b3Vec3_one: b3Vec3 = b3Vec3(x = 1.0, y = 1.0, z = 1.0)
|
|
83
|
+
const b3Vec3_axisX: b3Vec3 = b3Vec3(x = 1.0, y = 0.0, z = 0.0)
|
|
84
|
+
const b3Vec3_axisY: b3Vec3 = b3Vec3(x = 0.0, y = 1.0, z = 0.0)
|
|
85
|
+
const b3Vec3_axisZ: b3Vec3 = b3Vec3(x = 0.0, y = 0.0, z = 1.0)
|
|
86
|
+
const b3Quat_identity: b3Quat = b3Quat(v = b3Vec3(x = 0.0, y = 0.0, z = 0.0), s = 1.0)
|
|
87
|
+
const b3Transform_identity: b3Transform = b3Transform(
|
|
88
|
+
p = b3Vec3(x = 0.0, y = 0.0, z = 0.0),
|
|
89
|
+
q = b3Quat(v = b3Vec3(x = 0.0, y = 0.0, z = 0.0), s = 1.0)
|
|
90
|
+
)
|
|
91
|
+
const b3Mat3_zero: b3Matrix3 = b3Matrix3(
|
|
92
|
+
cx = b3Vec3(x = 0.0, y = 0.0, z = 0.0),
|
|
93
|
+
cy = b3Vec3(x = 0.0, y = 0.0, z = 0.0),
|
|
94
|
+
cz = b3Vec3(x = 0.0, y = 0.0, z = 0.0)
|
|
95
|
+
)
|
|
96
|
+
const b3Mat3_identity: b3Matrix3 = b3Matrix3(
|
|
97
|
+
cx = b3Vec3(x = 1.0, y = 0.0, z = 0.0),
|
|
98
|
+
cy = b3Vec3(x = 0.0, y = 1.0, z = 0.0),
|
|
99
|
+
cz = b3Vec3(x = 0.0, y = 0.0, z = 1.0)
|
|
100
|
+
)
|
|
101
|
+
const b3Pos_zero: b3Vec3 = b3Vec3(x = 0.0, y = 0.0, z = 0.0)
|
|
102
|
+
const b3WorldTransform_identity: b3Transform = b3Transform(
|
|
103
|
+
p = b3Vec3(x = 0.0, y = 0.0, z = 0.0),
|
|
104
|
+
q = b3Quat(v = b3Vec3(x = 0.0, y = 0.0, z = 0.0), s = 1.0)
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
external function b3Atan2(y: float, x: float) -> float
|
|
108
|
+
external function b3ComputeCosSin(radians: float) -> b3CosSin
|
|
109
|
+
external function b3MakeQuatFromMatrix(m: const_ptr[b3Matrix3]) -> b3Quat
|
|
110
|
+
external function b3ComputeQuatBetweenUnitVectors(v1: b3Vec3, v2: b3Vec3) -> b3Quat
|
|
111
|
+
external function b3Steiner(mass: float, origin: b3Vec3) -> b3Matrix3
|
|
112
|
+
|
|
113
|
+
struct b3SegmentDistanceResult:
|
|
114
|
+
point1: b3Vec3
|
|
115
|
+
fraction1: float
|
|
116
|
+
point2: b3Vec3
|
|
117
|
+
fraction2: float
|
|
118
|
+
|
|
119
|
+
external function b3PointToSegmentDistance(a: b3Vec3, b: b3Vec3, q: b3Vec3) -> b3Vec3
|
|
120
|
+
external function b3LineDistance(p1: b3Vec3, d1: b3Vec3, p2: b3Vec3, d2: b3Vec3) -> b3SegmentDistanceResult
|
|
121
|
+
external function b3SegmentDistance(p1: b3Vec3, q1: b3Vec3, p2: b3Vec3, q2: b3Vec3) -> b3SegmentDistanceResult
|
|
122
|
+
external function b3IsValidFloat(a: float) -> bool
|
|
123
|
+
external function b3IsValidVec3(a: b3Vec3) -> bool
|
|
124
|
+
external function b3IsValidQuat(q: b3Quat) -> bool
|
|
125
|
+
external function b3IsValidTransform(a: b3Transform) -> bool
|
|
126
|
+
external function b3IsValidMatrix3(a: b3Matrix3) -> bool
|
|
127
|
+
external function b3IsValidAABB(a: b3AABB) -> bool
|
|
128
|
+
external function b3IsBoundedAABB(a: b3AABB) -> bool
|
|
129
|
+
external function b3IsSaneAABB(a: b3AABB) -> bool
|
|
130
|
+
external function b3IsValidPlane(a: b3Plane) -> bool
|
|
131
|
+
external function b3IsValidPosition(p: b3Vec3) -> bool
|
|
132
|
+
external function b3IsValidWorldTransform(t: b3Transform) -> bool
|
|
133
|
+
external function b3SetLengthUnitsPerMeter(lengthUnits: float) -> void
|
|
134
|
+
external function b3GetLengthUnitsPerMeter() -> float
|
|
135
|
+
external function b3SetStallThreshold(seconds: float) -> void
|
|
136
|
+
external function b3GetStallThreshold() -> float
|
|
137
|
+
|
|
138
|
+
struct b3WorldId:
|
|
139
|
+
index1: ushort
|
|
140
|
+
generation: ushort
|
|
141
|
+
|
|
142
|
+
struct b3BodyId:
|
|
143
|
+
index1: int
|
|
144
|
+
world0: ushort
|
|
145
|
+
generation: ushort
|
|
146
|
+
|
|
147
|
+
struct b3ShapeId:
|
|
148
|
+
index1: int
|
|
149
|
+
world0: ushort
|
|
150
|
+
generation: ushort
|
|
151
|
+
|
|
152
|
+
struct b3JointId:
|
|
153
|
+
index1: int
|
|
154
|
+
world0: ushort
|
|
155
|
+
generation: ushort
|
|
156
|
+
|
|
157
|
+
struct b3ContactId:
|
|
158
|
+
index1: int
|
|
159
|
+
world0: ushort
|
|
160
|
+
padding: short
|
|
161
|
+
generation: uint
|
|
162
|
+
|
|
163
|
+
const b3_nullWorldId: b3WorldId = b3WorldId(index1 = 0, generation = 0)
|
|
164
|
+
const b3_nullBodyId: b3BodyId = b3BodyId(index1 = 0, world0 = 0, generation = 0)
|
|
165
|
+
const b3_nullShapeId: b3ShapeId = b3ShapeId(index1 = 0, world0 = 0, generation = 0)
|
|
166
|
+
const b3_nullJointId: b3JointId = b3JointId(index1 = 0, world0 = 0, generation = 0)
|
|
167
|
+
const b3_nullContactId: b3ContactId = b3ContactId(index1 = 0, world0 = 0, padding = 0, generation = 0)
|
|
168
|
+
|
|
169
|
+
type b3TaskCallback = fn(arg0: ptr[void]) -> void
|
|
170
|
+
type b3EnqueueTaskCallback = fn(arg0: b3TaskCallback, arg1: ptr[void], arg2: ptr[void], arg3: cstr) -> ptr[void]
|
|
171
|
+
type b3FinishTaskCallback = fn(arg0: ptr[void], arg1: ptr[void]) -> void
|
|
172
|
+
type b3CreateDebugShapeCallback = fn(arg0: const_ptr[b3DebugShape], arg1: ptr[void]) -> ptr[void]
|
|
173
|
+
type b3DestroyDebugShapeCallback = fn(arg0: ptr[void], arg1: ptr[void]) -> void
|
|
174
|
+
type b3FrictionCallback = fn(arg0: float, arg1: ulong, arg2: float, arg3: ulong) -> float
|
|
175
|
+
type b3RestitutionCallback = fn(arg0: float, arg1: ulong, arg2: float, arg3: ulong) -> float
|
|
176
|
+
type b3CustomFilterFcn = fn(arg0: b3ShapeId, arg1: b3ShapeId, arg2: ptr[void]) -> bool
|
|
177
|
+
type b3PreSolveFcn = fn(arg0: b3ShapeId, arg1: b3ShapeId, arg2: b3Pos, arg3: b3Vec3, arg4: ptr[void]) -> bool
|
|
178
|
+
type b3OverlapResultFcn = fn(arg0: b3ShapeId, arg1: ptr[void]) -> bool
|
|
179
|
+
type b3CastResultFcn = fn(arg0: b3ShapeId, arg1: b3Pos, arg2: b3Vec3, arg3: float, arg4: ulong, arg5: int, arg6: int, arg7: ptr[void]) -> float
|
|
180
|
+
|
|
181
|
+
struct b3Capacity:
|
|
182
|
+
staticShapeCount: int
|
|
183
|
+
dynamicShapeCount: int
|
|
184
|
+
staticBodyCount: int
|
|
185
|
+
dynamicBodyCount: int
|
|
186
|
+
contactCount: int
|
|
187
|
+
|
|
188
|
+
struct b3WorldDef:
|
|
189
|
+
gravity: b3Vec3
|
|
190
|
+
restitutionThreshold: float
|
|
191
|
+
hitEventThreshold: float
|
|
192
|
+
contactHertz: float
|
|
193
|
+
contactDampingRatio: float
|
|
194
|
+
contactSpeed: float
|
|
195
|
+
maximumLinearSpeed: float
|
|
196
|
+
frictionCallback: b3FrictionCallback
|
|
197
|
+
restitutionCallback: b3RestitutionCallback
|
|
198
|
+
enableSleep: bool
|
|
199
|
+
enableContinuous: bool
|
|
200
|
+
workerCount: uint
|
|
201
|
+
enqueueTask: b3EnqueueTaskCallback
|
|
202
|
+
finishTask: b3FinishTaskCallback
|
|
203
|
+
userTaskContext: ptr[void]
|
|
204
|
+
userData: ptr[void]
|
|
205
|
+
createDebugShape: b3CreateDebugShapeCallback
|
|
206
|
+
destroyDebugShape: b3DestroyDebugShapeCallback
|
|
207
|
+
userDebugShapeContext: ptr[void]
|
|
208
|
+
capacity: b3Capacity
|
|
209
|
+
internalValue: int
|
|
210
|
+
|
|
211
|
+
external function b3DefaultWorldDef() -> b3WorldDef
|
|
212
|
+
|
|
213
|
+
enum b3BodyType: int
|
|
214
|
+
b3_staticBody = 0
|
|
215
|
+
b3_kinematicBody = 1
|
|
216
|
+
b3_dynamicBody = 2
|
|
217
|
+
b3_bodyTypeCount = 3
|
|
218
|
+
|
|
219
|
+
struct b3MotionLocks:
|
|
220
|
+
linearX: bool
|
|
221
|
+
linearY: bool
|
|
222
|
+
linearZ: bool
|
|
223
|
+
angularX: bool
|
|
224
|
+
angularY: bool
|
|
225
|
+
angularZ: bool
|
|
226
|
+
|
|
227
|
+
struct b3BodyDef:
|
|
228
|
+
type: b3BodyType
|
|
229
|
+
position: b3Vec3
|
|
230
|
+
rotation: b3Quat
|
|
231
|
+
linearVelocity: b3Vec3
|
|
232
|
+
angularVelocity: b3Vec3
|
|
233
|
+
linearDamping: float
|
|
234
|
+
angularDamping: float
|
|
235
|
+
gravityScale: float
|
|
236
|
+
sleepThreshold: float
|
|
237
|
+
name: cstr
|
|
238
|
+
userData: ptr[void]
|
|
239
|
+
motionLocks: b3MotionLocks
|
|
240
|
+
enableSleep: bool
|
|
241
|
+
isAwake: bool
|
|
242
|
+
isBullet: bool
|
|
243
|
+
isEnabled: bool
|
|
244
|
+
allowFastRotation: bool
|
|
245
|
+
enableContactRecycling: bool
|
|
246
|
+
internalValue: int
|
|
247
|
+
|
|
248
|
+
external function b3DefaultBodyDef() -> b3BodyDef
|
|
249
|
+
|
|
250
|
+
struct b3Filter:
|
|
251
|
+
categoryBits: ptr_uint
|
|
252
|
+
maskBits: ptr_uint
|
|
253
|
+
groupIndex: int
|
|
254
|
+
|
|
255
|
+
external function b3DefaultFilter() -> b3Filter
|
|
256
|
+
|
|
257
|
+
struct b3SurfaceMaterial:
|
|
258
|
+
friction: float
|
|
259
|
+
restitution: float
|
|
260
|
+
rollingResistance: float
|
|
261
|
+
tangentVelocity: b3Vec3
|
|
262
|
+
userMaterialId: ptr_uint
|
|
263
|
+
customColor: uint
|
|
264
|
+
padding: uint
|
|
265
|
+
|
|
266
|
+
external function b3DefaultSurfaceMaterial() -> b3SurfaceMaterial
|
|
267
|
+
|
|
268
|
+
enum b3ShapeType: int
|
|
269
|
+
b3_capsuleShape = 0
|
|
270
|
+
b3_compoundShape = 1
|
|
271
|
+
b3_heightShape = 2
|
|
272
|
+
b3_hullShape = 3
|
|
273
|
+
b3_meshShape = 4
|
|
274
|
+
b3_sphereShape = 5
|
|
275
|
+
b3_shapeTypeCount = 6
|
|
276
|
+
|
|
277
|
+
struct b3ShapeDef:
|
|
278
|
+
name: cstr
|
|
279
|
+
userData: ptr[void]
|
|
280
|
+
materials: ptr[b3SurfaceMaterial]
|
|
281
|
+
materialCount: int
|
|
282
|
+
baseMaterial: b3SurfaceMaterial
|
|
283
|
+
density: float
|
|
284
|
+
explosionScale: float
|
|
285
|
+
filter: b3Filter
|
|
286
|
+
enableCustomFiltering: bool
|
|
287
|
+
isSensor: bool
|
|
288
|
+
enableSensorEvents: bool
|
|
289
|
+
enableContactEvents: bool
|
|
290
|
+
enableHitEvents: bool
|
|
291
|
+
enablePreSolveEvents: bool
|
|
292
|
+
invokeContactCreation: bool
|
|
293
|
+
updateBodyMass: bool
|
|
294
|
+
enableSpeculativeContact: bool
|
|
295
|
+
internalValue: int
|
|
296
|
+
|
|
297
|
+
external function b3DefaultShapeDef() -> b3ShapeDef
|
|
298
|
+
|
|
299
|
+
struct b3Profile:
|
|
300
|
+
step: float
|
|
301
|
+
pairs: float
|
|
302
|
+
collide: float
|
|
303
|
+
solve: float
|
|
304
|
+
solverSetup: float
|
|
305
|
+
constraints: float
|
|
306
|
+
prepareConstraints: float
|
|
307
|
+
integrateVelocities: float
|
|
308
|
+
warmStart: float
|
|
309
|
+
solveImpulses: float
|
|
310
|
+
integratePositions: float
|
|
311
|
+
relaxImpulses: float
|
|
312
|
+
applyRestitution: float
|
|
313
|
+
storeImpulses: float
|
|
314
|
+
splitIslands: float
|
|
315
|
+
transforms: float
|
|
316
|
+
sensorHits: float
|
|
317
|
+
jointEvents: float
|
|
318
|
+
hitEvents: float
|
|
319
|
+
refit: float
|
|
320
|
+
bullets: float
|
|
321
|
+
sleepIslands: float
|
|
322
|
+
sensors: float
|
|
323
|
+
|
|
324
|
+
struct b3Counters:
|
|
325
|
+
bodyCount: int
|
|
326
|
+
shapeCount: int
|
|
327
|
+
contactCount: int
|
|
328
|
+
jointCount: int
|
|
329
|
+
islandCount: int
|
|
330
|
+
stackUsed: int
|
|
331
|
+
arenaCapacity: int
|
|
332
|
+
staticTreeHeight: int
|
|
333
|
+
treeHeight: int
|
|
334
|
+
satCallCount: int
|
|
335
|
+
satCacheHitCount: int
|
|
336
|
+
byteCount: int
|
|
337
|
+
taskCount: int
|
|
338
|
+
colorCounts: array[int, 24]
|
|
339
|
+
manifoldCounts: array[int, 8]
|
|
340
|
+
awakeContactCount: int
|
|
341
|
+
recycledContactCount: int
|
|
342
|
+
distanceIterations: int
|
|
343
|
+
pushBackIterations: int
|
|
344
|
+
rootIterations: int
|
|
345
|
+
|
|
346
|
+
enum b3JointType: int
|
|
347
|
+
b3_parallelJoint = 0
|
|
348
|
+
b3_distanceJoint = 1
|
|
349
|
+
b3_filterJoint = 2
|
|
350
|
+
b3_motorJoint = 3
|
|
351
|
+
b3_prismaticJoint = 4
|
|
352
|
+
b3_revoluteJoint = 5
|
|
353
|
+
b3_sphericalJoint = 6
|
|
354
|
+
b3_weldJoint = 7
|
|
355
|
+
b3_wheelJoint = 8
|
|
356
|
+
|
|
357
|
+
struct b3JointDef:
|
|
358
|
+
userData: ptr[void]
|
|
359
|
+
bodyIdA: b3BodyId
|
|
360
|
+
bodyIdB: b3BodyId
|
|
361
|
+
localFrameA: b3Transform
|
|
362
|
+
localFrameB: b3Transform
|
|
363
|
+
forceThreshold: float
|
|
364
|
+
torqueThreshold: float
|
|
365
|
+
constraintHertz: float
|
|
366
|
+
constraintDampingRatio: float
|
|
367
|
+
drawScale: float
|
|
368
|
+
collideConnected: bool
|
|
369
|
+
internalValue: int
|
|
370
|
+
|
|
371
|
+
struct b3DistanceJointDef:
|
|
372
|
+
base: b3JointDef
|
|
373
|
+
length: float
|
|
374
|
+
enableSpring: bool
|
|
375
|
+
lowerSpringForce: float
|
|
376
|
+
upperSpringForce: float
|
|
377
|
+
hertz: float
|
|
378
|
+
dampingRatio: float
|
|
379
|
+
enableLimit: bool
|
|
380
|
+
minLength: float
|
|
381
|
+
maxLength: float
|
|
382
|
+
enableMotor: bool
|
|
383
|
+
maxMotorForce: float
|
|
384
|
+
motorSpeed: float
|
|
385
|
+
|
|
386
|
+
external function b3DefaultDistanceJointDef() -> b3DistanceJointDef
|
|
387
|
+
|
|
388
|
+
struct b3MotorJointDef:
|
|
389
|
+
base: b3JointDef
|
|
390
|
+
linearVelocity: b3Vec3
|
|
391
|
+
maxVelocityForce: float
|
|
392
|
+
angularVelocity: b3Vec3
|
|
393
|
+
maxVelocityTorque: float
|
|
394
|
+
linearHertz: float
|
|
395
|
+
linearDampingRatio: float
|
|
396
|
+
maxSpringForce: float
|
|
397
|
+
angularHertz: float
|
|
398
|
+
angularDampingRatio: float
|
|
399
|
+
maxSpringTorque: float
|
|
400
|
+
|
|
401
|
+
external function b3DefaultMotorJointDef() -> b3MotorJointDef
|
|
402
|
+
|
|
403
|
+
struct b3FilterJointDef:
|
|
404
|
+
base: b3JointDef
|
|
405
|
+
|
|
406
|
+
external function b3DefaultFilterJointDef() -> b3FilterJointDef
|
|
407
|
+
|
|
408
|
+
struct b3ParallelJointDef:
|
|
409
|
+
base: b3JointDef
|
|
410
|
+
hertz: float
|
|
411
|
+
dampingRatio: float
|
|
412
|
+
maxTorque: float
|
|
413
|
+
|
|
414
|
+
external function b3DefaultParallelJointDef() -> b3ParallelJointDef
|
|
415
|
+
|
|
416
|
+
struct b3PrismaticJointDef:
|
|
417
|
+
base: b3JointDef
|
|
418
|
+
enableSpring: bool
|
|
419
|
+
hertz: float
|
|
420
|
+
dampingRatio: float
|
|
421
|
+
targetTranslation: float
|
|
422
|
+
enableLimit: bool
|
|
423
|
+
lowerTranslation: float
|
|
424
|
+
upperTranslation: float
|
|
425
|
+
enableMotor: bool
|
|
426
|
+
maxMotorForce: float
|
|
427
|
+
motorSpeed: float
|
|
428
|
+
|
|
429
|
+
external function b3DefaultPrismaticJointDef() -> b3PrismaticJointDef
|
|
430
|
+
|
|
431
|
+
struct b3RevoluteJointDef:
|
|
432
|
+
base: b3JointDef
|
|
433
|
+
targetAngle: float
|
|
434
|
+
enableSpring: bool
|
|
435
|
+
hertz: float
|
|
436
|
+
dampingRatio: float
|
|
437
|
+
enableLimit: bool
|
|
438
|
+
lowerAngle: float
|
|
439
|
+
upperAngle: float
|
|
440
|
+
enableMotor: bool
|
|
441
|
+
maxMotorTorque: float
|
|
442
|
+
motorSpeed: float
|
|
443
|
+
|
|
444
|
+
external function b3DefaultRevoluteJointDef() -> b3RevoluteJointDef
|
|
445
|
+
|
|
446
|
+
struct b3SphericalJointDef:
|
|
447
|
+
base: b3JointDef
|
|
448
|
+
enableSpring: bool
|
|
449
|
+
hertz: float
|
|
450
|
+
dampingRatio: float
|
|
451
|
+
targetRotation: b3Quat
|
|
452
|
+
enableConeLimit: bool
|
|
453
|
+
coneAngle: float
|
|
454
|
+
enableTwistLimit: bool
|
|
455
|
+
lowerTwistAngle: float
|
|
456
|
+
upperTwistAngle: float
|
|
457
|
+
enableMotor: bool
|
|
458
|
+
maxMotorTorque: float
|
|
459
|
+
motorVelocity: b3Vec3
|
|
460
|
+
|
|
461
|
+
external function b3DefaultSphericalJointDef() -> b3SphericalJointDef
|
|
462
|
+
|
|
463
|
+
struct b3WeldJointDef:
|
|
464
|
+
base: b3JointDef
|
|
465
|
+
linearHertz: float
|
|
466
|
+
angularHertz: float
|
|
467
|
+
linearDampingRatio: float
|
|
468
|
+
angularDampingRatio: float
|
|
469
|
+
|
|
470
|
+
external function b3DefaultWeldJointDef() -> b3WeldJointDef
|
|
471
|
+
|
|
472
|
+
struct b3WheelJointDef:
|
|
473
|
+
base: b3JointDef
|
|
474
|
+
enableSuspensionSpring: bool
|
|
475
|
+
suspensionHertz: float
|
|
476
|
+
suspensionDampingRatio: float
|
|
477
|
+
enableSuspensionLimit: bool
|
|
478
|
+
lowerSuspensionLimit: float
|
|
479
|
+
upperSuspensionLimit: float
|
|
480
|
+
enableSpinMotor: bool
|
|
481
|
+
maxSpinTorque: float
|
|
482
|
+
spinSpeed: float
|
|
483
|
+
enableSteering: bool
|
|
484
|
+
steeringHertz: float
|
|
485
|
+
steeringDampingRatio: float
|
|
486
|
+
targetSteeringAngle: float
|
|
487
|
+
maxSteeringTorque: float
|
|
488
|
+
enableSteeringLimit: bool
|
|
489
|
+
lowerSteeringLimit: float
|
|
490
|
+
upperSteeringLimit: float
|
|
491
|
+
|
|
492
|
+
external function b3DefaultWheelJointDef() -> b3WheelJointDef
|
|
493
|
+
|
|
494
|
+
struct b3ExplosionDef:
|
|
495
|
+
maskBits: ptr_uint
|
|
496
|
+
position: b3Vec3
|
|
497
|
+
radius: float
|
|
498
|
+
falloff: float
|
|
499
|
+
impulsePerArea: float
|
|
500
|
+
|
|
501
|
+
external function b3DefaultExplosionDef() -> b3ExplosionDef
|
|
502
|
+
|
|
503
|
+
struct b3SensorBeginTouchEvent:
|
|
504
|
+
sensorShapeId: b3ShapeId
|
|
505
|
+
visitorShapeId: b3ShapeId
|
|
506
|
+
|
|
507
|
+
struct b3SensorEndTouchEvent:
|
|
508
|
+
sensorShapeId: b3ShapeId
|
|
509
|
+
visitorShapeId: b3ShapeId
|
|
510
|
+
|
|
511
|
+
struct b3SensorEvents:
|
|
512
|
+
beginEvents: ptr[b3SensorBeginTouchEvent]
|
|
513
|
+
endEvents: ptr[b3SensorEndTouchEvent]
|
|
514
|
+
beginCount: int
|
|
515
|
+
endCount: int
|
|
516
|
+
|
|
517
|
+
struct b3ContactBeginTouchEvent:
|
|
518
|
+
shapeIdA: b3ShapeId
|
|
519
|
+
shapeIdB: b3ShapeId
|
|
520
|
+
contactId: b3ContactId
|
|
521
|
+
|
|
522
|
+
struct b3ContactEndTouchEvent:
|
|
523
|
+
shapeIdA: b3ShapeId
|
|
524
|
+
shapeIdB: b3ShapeId
|
|
525
|
+
contactId: b3ContactId
|
|
526
|
+
|
|
527
|
+
struct b3ContactHitEvent:
|
|
528
|
+
shapeIdA: b3ShapeId
|
|
529
|
+
shapeIdB: b3ShapeId
|
|
530
|
+
contactId: b3ContactId
|
|
531
|
+
point: b3Vec3
|
|
532
|
+
normal: b3Vec3
|
|
533
|
+
approachSpeed: float
|
|
534
|
+
userMaterialIdA: ptr_uint
|
|
535
|
+
userMaterialIdB: ptr_uint
|
|
536
|
+
|
|
537
|
+
struct b3ContactEvents:
|
|
538
|
+
beginEvents: ptr[b3ContactBeginTouchEvent]
|
|
539
|
+
endEvents: ptr[b3ContactEndTouchEvent]
|
|
540
|
+
hitEvents: ptr[b3ContactHitEvent]
|
|
541
|
+
beginCount: int
|
|
542
|
+
endCount: int
|
|
543
|
+
hitCount: int
|
|
544
|
+
|
|
545
|
+
struct b3BodyMoveEvent:
|
|
546
|
+
userData: ptr[void]
|
|
547
|
+
transform: b3Transform
|
|
548
|
+
bodyId: b3BodyId
|
|
549
|
+
fellAsleep: bool
|
|
550
|
+
|
|
551
|
+
struct b3BodyEvents:
|
|
552
|
+
moveEvents: ptr[b3BodyMoveEvent]
|
|
553
|
+
moveCount: int
|
|
554
|
+
|
|
555
|
+
struct b3JointEvent:
|
|
556
|
+
jointId: b3JointId
|
|
557
|
+
userData: ptr[void]
|
|
558
|
+
|
|
559
|
+
struct b3JointEvents:
|
|
560
|
+
jointEvents: ptr[b3JointEvent]
|
|
561
|
+
count: int
|
|
562
|
+
|
|
563
|
+
struct b3ContactData:
|
|
564
|
+
contactId: b3ContactId
|
|
565
|
+
shapeIdA: b3ShapeId
|
|
566
|
+
shapeIdB: b3ShapeId
|
|
567
|
+
manifolds: const_ptr[b3Manifold]
|
|
568
|
+
manifoldCount: int
|
|
569
|
+
|
|
570
|
+
struct b3QueryFilter:
|
|
571
|
+
categoryBits: ptr_uint
|
|
572
|
+
maskBits: ptr_uint
|
|
573
|
+
id: ptr_uint
|
|
574
|
+
name: cstr
|
|
575
|
+
|
|
576
|
+
external function b3DefaultQueryFilter() -> b3QueryFilter
|
|
577
|
+
|
|
578
|
+
struct b3RayCastInput:
|
|
579
|
+
origin: b3Vec3
|
|
580
|
+
translation: b3Vec3
|
|
581
|
+
maxFraction: float
|
|
582
|
+
|
|
583
|
+
struct b3RayResult:
|
|
584
|
+
shapeId: b3ShapeId
|
|
585
|
+
point: b3Vec3
|
|
586
|
+
normal: b3Vec3
|
|
587
|
+
userMaterialId: ptr_uint
|
|
588
|
+
fraction: float
|
|
589
|
+
triangleIndex: int
|
|
590
|
+
childIndex: int
|
|
591
|
+
nodeVisits: int
|
|
592
|
+
leafVisits: int
|
|
593
|
+
hit: bool
|
|
594
|
+
|
|
595
|
+
struct b3ShapeProxy:
|
|
596
|
+
points: const_ptr[b3Vec3]
|
|
597
|
+
count: int
|
|
598
|
+
radius: float
|
|
599
|
+
|
|
600
|
+
struct b3ShapeCastInput:
|
|
601
|
+
proxy: b3ShapeProxy
|
|
602
|
+
translation: b3Vec3
|
|
603
|
+
maxFraction: float
|
|
604
|
+
canEncroach: bool
|
|
605
|
+
|
|
606
|
+
struct b3BoxCastInput:
|
|
607
|
+
box: b3AABB
|
|
608
|
+
translation: b3Vec3
|
|
609
|
+
maxFraction: float
|
|
610
|
+
|
|
611
|
+
struct b3CastOutput:
|
|
612
|
+
normal: b3Vec3
|
|
613
|
+
point: b3Vec3
|
|
614
|
+
fraction: float
|
|
615
|
+
iterations: int
|
|
616
|
+
triangleIndex: int
|
|
617
|
+
childIndex: int
|
|
618
|
+
materialIndex: int
|
|
619
|
+
hit: bool
|
|
620
|
+
|
|
621
|
+
type b3WorldCastOutput = b3CastOutput
|
|
622
|
+
|
|
623
|
+
struct b3BodyCastResult:
|
|
624
|
+
shapeId: b3ShapeId
|
|
625
|
+
point: b3Vec3
|
|
626
|
+
normal: b3Vec3
|
|
627
|
+
fraction: float
|
|
628
|
+
triangleIndex: int
|
|
629
|
+
userMaterialId: ptr_uint
|
|
630
|
+
iterations: int
|
|
631
|
+
hit: bool
|
|
632
|
+
|
|
633
|
+
struct b3SimplexCache:
|
|
634
|
+
metric: float
|
|
635
|
+
count: ushort
|
|
636
|
+
indexA: array[ubyte, 4]
|
|
637
|
+
indexB: array[ubyte, 4]
|
|
638
|
+
|
|
639
|
+
const b3_emptyDistanceCache: b3SimplexCache = b3SimplexCache(
|
|
640
|
+
metric = 0,
|
|
641
|
+
count = 0,
|
|
642
|
+
indexA = array[ubyte, 4](0, 0, 0, 0),
|
|
643
|
+
indexB = array[ubyte, 4](0, 0, 0, 0)
|
|
644
|
+
)
|
|
645
|
+
|
|
646
|
+
struct b3ShapeCastPairInput:
|
|
647
|
+
proxyA: b3ShapeProxy
|
|
648
|
+
proxyB: b3ShapeProxy
|
|
649
|
+
transform: b3Transform
|
|
650
|
+
translationB: b3Vec3
|
|
651
|
+
maxFraction: float
|
|
652
|
+
canEncroach: bool
|
|
653
|
+
|
|
654
|
+
struct b3DistanceInput:
|
|
655
|
+
proxyA: b3ShapeProxy
|
|
656
|
+
proxyB: b3ShapeProxy
|
|
657
|
+
transform: b3Transform
|
|
658
|
+
useRadii: bool
|
|
659
|
+
|
|
660
|
+
struct b3DistanceOutput:
|
|
661
|
+
pointA: b3Vec3
|
|
662
|
+
pointB: b3Vec3
|
|
663
|
+
normal: b3Vec3
|
|
664
|
+
distance: float
|
|
665
|
+
iterations: int
|
|
666
|
+
simplexCount: int
|
|
667
|
+
|
|
668
|
+
struct b3SimplexVertex:
|
|
669
|
+
wA: b3Vec3
|
|
670
|
+
wB: b3Vec3
|
|
671
|
+
w: b3Vec3
|
|
672
|
+
a: float
|
|
673
|
+
indexA: int
|
|
674
|
+
indexB: int
|
|
675
|
+
|
|
676
|
+
struct b3Simplex:
|
|
677
|
+
vertices: array[b3SimplexVertex, 4]
|
|
678
|
+
count: int
|
|
679
|
+
|
|
680
|
+
struct b3Sweep:
|
|
681
|
+
localCenter: b3Vec3
|
|
682
|
+
c1: b3Vec3
|
|
683
|
+
c2: b3Vec3
|
|
684
|
+
q1: b3Quat
|
|
685
|
+
q2: b3Quat
|
|
686
|
+
|
|
687
|
+
struct b3TOIInput:
|
|
688
|
+
proxyA: b3ShapeProxy
|
|
689
|
+
proxyB: b3ShapeProxy
|
|
690
|
+
sweepA: b3Sweep
|
|
691
|
+
sweepB: b3Sweep
|
|
692
|
+
maxFraction: float
|
|
693
|
+
|
|
694
|
+
enum b3TOIState: int
|
|
695
|
+
b3_toiStateUnknown = 0
|
|
696
|
+
b3_toiStateFailed = 1
|
|
697
|
+
b3_toiStateOverlapped = 2
|
|
698
|
+
b3_toiStateHit = 3
|
|
699
|
+
b3_toiStateSeparated = 4
|
|
700
|
+
|
|
701
|
+
struct b3TOIOutput:
|
|
702
|
+
state: b3TOIState
|
|
703
|
+
point: b3Vec3
|
|
704
|
+
normal: b3Vec3
|
|
705
|
+
fraction: float
|
|
706
|
+
distance: float
|
|
707
|
+
distanceIterations: int
|
|
708
|
+
pushBackIterations: int
|
|
709
|
+
rootIterations: int
|
|
710
|
+
usedFallback: bool
|
|
711
|
+
|
|
712
|
+
flags b3TreeNodeFlags: int
|
|
713
|
+
b3_allocatedNode = 1
|
|
714
|
+
b3_enlargedNode = 2
|
|
715
|
+
b3_leafNode = 4
|
|
716
|
+
|
|
717
|
+
struct b3TreeNodeChildren:
|
|
718
|
+
child1: int
|
|
719
|
+
child2: int
|
|
720
|
+
|
|
721
|
+
struct b3TreeNode:
|
|
722
|
+
aabb: b3AABB
|
|
723
|
+
categoryBits: ptr_uint
|
|
724
|
+
children: b3TreeNodeChildren
|
|
725
|
+
userData: ptr_uint
|
|
726
|
+
parent: int
|
|
727
|
+
next: int
|
|
728
|
+
height: ushort
|
|
729
|
+
flags: ushort
|
|
730
|
+
|
|
731
|
+
struct b3DynamicTree:
|
|
732
|
+
version: ptr_uint
|
|
733
|
+
nodes: ptr[b3TreeNode]
|
|
734
|
+
root: int
|
|
735
|
+
nodeCount: int
|
|
736
|
+
nodeCapacity: int
|
|
737
|
+
proxyCount: int
|
|
738
|
+
freeList: int
|
|
739
|
+
leafIndices: ptr[int]
|
|
740
|
+
leafBoxes: ptr[b3AABB]
|
|
741
|
+
leafCenters: ptr[b3Vec3]
|
|
742
|
+
binIndices: ptr[int]
|
|
743
|
+
rebuildCapacity: int
|
|
744
|
+
|
|
745
|
+
struct b3TreeStats:
|
|
746
|
+
nodeVisits: int
|
|
747
|
+
leafVisits: int
|
|
748
|
+
|
|
749
|
+
type b3TreeQueryCallbackFcn = fn(arg0: int, arg1: ulong, arg2: ptr[void]) -> bool
|
|
750
|
+
type b3TreeQueryClosestCallbackFcn = fn(arg0: float, arg1: int, arg2: ulong, arg3: ptr[void]) -> float
|
|
751
|
+
type b3TreeBoxCastCallbackFcn = fn(arg0: const_ptr[b3BoxCastInput], arg1: int, arg2: ulong, arg3: ptr[void]) -> float
|
|
752
|
+
type b3TreeRayCastCallbackFcn = fn(arg0: const_ptr[b3RayCastInput], arg1: int, arg2: ulong, arg3: ptr[void]) -> float
|
|
753
|
+
|
|
754
|
+
struct b3PlaneResult:
|
|
755
|
+
plane: b3Plane
|
|
756
|
+
point: b3Vec3
|
|
757
|
+
|
|
758
|
+
struct b3CollisionPlane:
|
|
759
|
+
plane: b3Plane
|
|
760
|
+
pushLimit: float
|
|
761
|
+
push: float
|
|
762
|
+
clipVelocity: bool
|
|
763
|
+
|
|
764
|
+
struct b3PlaneSolverResult:
|
|
765
|
+
delta: b3Vec3
|
|
766
|
+
iterationCount: int
|
|
767
|
+
|
|
768
|
+
struct b3BodyPlaneResult:
|
|
769
|
+
shapeId: b3ShapeId
|
|
770
|
+
result: b3PlaneResult
|
|
771
|
+
|
|
772
|
+
type b3PlaneResultFcn = fn(arg0: b3ShapeId, arg1: const_ptr[b3PlaneResult], arg2: int, arg3: ptr[void]) -> bool
|
|
773
|
+
type b3MoverFilterFcn = fn(arg0: b3ShapeId, arg1: ptr[void]) -> bool
|
|
774
|
+
|
|
775
|
+
struct b3MassData:
|
|
776
|
+
mass: float
|
|
777
|
+
center: b3Vec3
|
|
778
|
+
inertia: b3Matrix3
|
|
779
|
+
|
|
780
|
+
struct b3Sphere:
|
|
781
|
+
center: b3Vec3
|
|
782
|
+
radius: float
|
|
783
|
+
|
|
784
|
+
struct b3Capsule:
|
|
785
|
+
center1: b3Vec3
|
|
786
|
+
center2: b3Vec3
|
|
787
|
+
radius: float
|
|
788
|
+
|
|
789
|
+
struct b3HullVertex:
|
|
790
|
+
edge: ubyte
|
|
791
|
+
|
|
792
|
+
struct b3HullHalfEdge:
|
|
793
|
+
next: ubyte
|
|
794
|
+
twin: ubyte
|
|
795
|
+
origin: ubyte
|
|
796
|
+
face: ubyte
|
|
797
|
+
|
|
798
|
+
struct b3HullFace:
|
|
799
|
+
edge: ubyte
|
|
800
|
+
|
|
801
|
+
struct b3HullData:
|
|
802
|
+
version: ptr_uint
|
|
803
|
+
hash: ptr_uint
|
|
804
|
+
aabb: b3AABB
|
|
805
|
+
surfaceArea: float
|
|
806
|
+
volume: float
|
|
807
|
+
innerRadius: float
|
|
808
|
+
center: b3Vec3
|
|
809
|
+
centralInertia: b3Matrix3
|
|
810
|
+
vertexCount: int
|
|
811
|
+
vertexOffset: int
|
|
812
|
+
pointOffset: int
|
|
813
|
+
edgeCount: int
|
|
814
|
+
edgeOffset: int
|
|
815
|
+
faceCount: int
|
|
816
|
+
planeOffset: int
|
|
817
|
+
faceOffset: int
|
|
818
|
+
soaVertexOffset: int
|
|
819
|
+
soaNormalOffset: int
|
|
820
|
+
byteCount: int
|
|
821
|
+
|
|
822
|
+
struct b3BoxHull:
|
|
823
|
+
base: b3HullData
|
|
824
|
+
boxVertices: array[b3HullVertex, 8]
|
|
825
|
+
boxPoints: array[b3Vec3, 8]
|
|
826
|
+
boxEdges: array[b3HullHalfEdge, 24]
|
|
827
|
+
boxPlanes: array[b3Plane, 6]
|
|
828
|
+
boxFaces: array[b3HullFace, 6]
|
|
829
|
+
padding: array[ubyte, 2]
|
|
830
|
+
vx: array[float, 8]
|
|
831
|
+
vy: array[float, 8]
|
|
832
|
+
vz: array[float, 8]
|
|
833
|
+
nx: array[float, 8]
|
|
834
|
+
ny: array[float, 8]
|
|
835
|
+
nz: array[float, 8]
|
|
836
|
+
|
|
837
|
+
struct b3MeshDef:
|
|
838
|
+
vertices: ptr[b3Vec3]
|
|
839
|
+
indices: ptr[int]
|
|
840
|
+
materialIndices: ptr[ubyte]
|
|
841
|
+
weldTolerance: float
|
|
842
|
+
vertexCount: int
|
|
843
|
+
triangleCount: int
|
|
844
|
+
weldVertices: bool
|
|
845
|
+
useMedianSplit: bool
|
|
846
|
+
identifyEdges: bool
|
|
847
|
+
|
|
848
|
+
enum b3MeshEdgeFlags: int
|
|
849
|
+
b3_concaveEdge1 = 1
|
|
850
|
+
b3_concaveEdge2 = 2
|
|
851
|
+
b3_concaveEdge3 = 4
|
|
852
|
+
b3_inverseConcaveEdge1 = 16
|
|
853
|
+
b3_inverseConcaveEdge2 = 32
|
|
854
|
+
b3_inverseConcaveEdge3 = 64
|
|
855
|
+
b3_allConcaveEdges = 7
|
|
856
|
+
b3_flatEdge1 = 17
|
|
857
|
+
b3_flatEdge2 = 34
|
|
858
|
+
b3_flatEdge3 = 68
|
|
859
|
+
b3_allFlatEdges = 119
|
|
860
|
+
|
|
861
|
+
struct b3MeshTriangle:
|
|
862
|
+
index1: int
|
|
863
|
+
index2: int
|
|
864
|
+
index3: int
|
|
865
|
+
|
|
866
|
+
struct b3MeshNode:
|
|
867
|
+
lowerBound: b3Vec3
|
|
868
|
+
data: b3MeshNode_data
|
|
869
|
+
upperBound: b3Vec3
|
|
870
|
+
triangleOffset: uint
|
|
871
|
+
|
|
872
|
+
struct b3MeshData:
|
|
873
|
+
version: ptr_uint
|
|
874
|
+
hash: ptr_uint
|
|
875
|
+
byteCount: int
|
|
876
|
+
bounds: b3AABB
|
|
877
|
+
surfaceArea: float
|
|
878
|
+
treeHeight: int
|
|
879
|
+
degenerateCount: int
|
|
880
|
+
nodeOffset: int
|
|
881
|
+
nodeCount: int
|
|
882
|
+
vertexOffset: int
|
|
883
|
+
vertexCount: int
|
|
884
|
+
triangleOffset: int
|
|
885
|
+
triangleCount: int
|
|
886
|
+
materialOffset: int
|
|
887
|
+
materialCount: int
|
|
888
|
+
flagsOffset: int
|
|
889
|
+
padding: int
|
|
890
|
+
|
|
891
|
+
struct b3Mesh:
|
|
892
|
+
data: const_ptr[b3MeshData]
|
|
893
|
+
scale: b3Vec3
|
|
894
|
+
|
|
895
|
+
struct b3HeightFieldDef:
|
|
896
|
+
heights: ptr[float]
|
|
897
|
+
materialIndices: ptr[ubyte]
|
|
898
|
+
scale: b3Vec3
|
|
899
|
+
countX: int
|
|
900
|
+
countZ: int
|
|
901
|
+
globalMinimumHeight: float
|
|
902
|
+
globalMaximumHeight: float
|
|
903
|
+
clockwiseWinding: bool
|
|
904
|
+
|
|
905
|
+
struct b3HeightFieldData:
|
|
906
|
+
version: ptr_uint
|
|
907
|
+
hash: ptr_uint
|
|
908
|
+
byteCount: int
|
|
909
|
+
aabb: b3AABB
|
|
910
|
+
minHeight: float
|
|
911
|
+
maxHeight: float
|
|
912
|
+
heightScale: float
|
|
913
|
+
scale: b3Vec3
|
|
914
|
+
columnCount: int
|
|
915
|
+
rowCount: int
|
|
916
|
+
heightsOffset: int
|
|
917
|
+
materialOffset: int
|
|
918
|
+
flagsOffset: int
|
|
919
|
+
clockwise: ubyte
|
|
920
|
+
padding: array[ubyte, 7]
|
|
921
|
+
|
|
922
|
+
struct b3CompoundCapsuleDef:
|
|
923
|
+
capsule: b3Capsule
|
|
924
|
+
material: b3SurfaceMaterial
|
|
925
|
+
|
|
926
|
+
struct b3CompoundHullDef:
|
|
927
|
+
hull: const_ptr[b3HullData]
|
|
928
|
+
transform: b3Transform
|
|
929
|
+
material: b3SurfaceMaterial
|
|
930
|
+
|
|
931
|
+
struct b3CompoundMeshDef:
|
|
932
|
+
meshData: const_ptr[b3MeshData]
|
|
933
|
+
transform: b3Transform
|
|
934
|
+
scale: b3Vec3
|
|
935
|
+
materials: const_ptr[b3SurfaceMaterial]
|
|
936
|
+
materialCount: int
|
|
937
|
+
|
|
938
|
+
struct b3CompoundSphereDef:
|
|
939
|
+
sphere: b3Sphere
|
|
940
|
+
material: b3SurfaceMaterial
|
|
941
|
+
|
|
942
|
+
struct b3CompoundDef:
|
|
943
|
+
capsules: ptr[b3CompoundCapsuleDef]
|
|
944
|
+
capsuleCount: int
|
|
945
|
+
hulls: ptr[b3CompoundHullDef]
|
|
946
|
+
hullCount: int
|
|
947
|
+
meshes: ptr[b3CompoundMeshDef]
|
|
948
|
+
meshCount: int
|
|
949
|
+
spheres: ptr[b3CompoundSphereDef]
|
|
950
|
+
sphereCount: int
|
|
951
|
+
|
|
952
|
+
struct b3CompoundData:
|
|
953
|
+
version: ptr_uint
|
|
954
|
+
byteCount: int
|
|
955
|
+
nodeOffset: int
|
|
956
|
+
tree: b3DynamicTree
|
|
957
|
+
materialOffset: int
|
|
958
|
+
materialCount: int
|
|
959
|
+
capsuleOffset: int
|
|
960
|
+
capsuleCount: int
|
|
961
|
+
hullOffset: int
|
|
962
|
+
hullCount: int
|
|
963
|
+
sharedHullCount: int
|
|
964
|
+
meshOffset: int
|
|
965
|
+
meshCount: int
|
|
966
|
+
sharedMeshCount: int
|
|
967
|
+
sphereOffset: int
|
|
968
|
+
sphereCount: int
|
|
969
|
+
|
|
970
|
+
struct b3CompoundCapsule:
|
|
971
|
+
capsule: b3Capsule
|
|
972
|
+
materialIndex: int
|
|
973
|
+
|
|
974
|
+
struct b3CompoundHull:
|
|
975
|
+
hull: const_ptr[b3HullData]
|
|
976
|
+
transform: b3Transform
|
|
977
|
+
materialIndex: int
|
|
978
|
+
|
|
979
|
+
struct b3CompoundMesh:
|
|
980
|
+
meshData: const_ptr[b3MeshData]
|
|
981
|
+
transform: b3Transform
|
|
982
|
+
scale: b3Vec3
|
|
983
|
+
materialIndices: array[int, 4]
|
|
984
|
+
|
|
985
|
+
struct b3CompoundSphere:
|
|
986
|
+
sphere: b3Sphere
|
|
987
|
+
materialIndex: int
|
|
988
|
+
|
|
989
|
+
struct b3ChildShape:
|
|
990
|
+
capsule: b3Capsule
|
|
991
|
+
hull: const_ptr[b3HullData]
|
|
992
|
+
mesh: b3Mesh
|
|
993
|
+
sphere: b3Sphere
|
|
994
|
+
transform: b3Transform
|
|
995
|
+
materialIndices: array[int, 4]
|
|
996
|
+
type: b3ShapeType
|
|
997
|
+
|
|
998
|
+
type b3CompoundQueryFcn = fn(arg0: const_ptr[b3CompoundData], arg1: int, arg2: ptr[void]) -> bool
|
|
999
|
+
|
|
1000
|
+
struct b3ManifoldPoint:
|
|
1001
|
+
anchorA: b3Vec3
|
|
1002
|
+
anchorB: b3Vec3
|
|
1003
|
+
separation: float
|
|
1004
|
+
baseSeparation: float
|
|
1005
|
+
normalImpulse: float
|
|
1006
|
+
totalNormalImpulse: float
|
|
1007
|
+
normalVelocity: float
|
|
1008
|
+
featureId: uint
|
|
1009
|
+
triangleIndex: int
|
|
1010
|
+
persisted: bool
|
|
1011
|
+
|
|
1012
|
+
struct b3Manifold:
|
|
1013
|
+
points: array[b3ManifoldPoint, 4]
|
|
1014
|
+
normal: b3Vec3
|
|
1015
|
+
twistImpulse: float
|
|
1016
|
+
frictionImpulse: b3Vec3
|
|
1017
|
+
rollingImpulse: b3Vec3
|
|
1018
|
+
pointCount: int
|
|
1019
|
+
|
|
1020
|
+
enum b3SeparatingFeature: int
|
|
1021
|
+
b3_invalidAxis = 0
|
|
1022
|
+
b3_backsideAxis = 1
|
|
1023
|
+
b3_faceAxisA = 2
|
|
1024
|
+
b3_faceAxisB = 3
|
|
1025
|
+
b3_edgePairAxis = 4
|
|
1026
|
+
b3_closestPointsAxis = 5
|
|
1027
|
+
b3_manualFaceAxisA = 6
|
|
1028
|
+
b3_manualFaceAxisB = 7
|
|
1029
|
+
b3_manualEdgePairAxis = 8
|
|
1030
|
+
|
|
1031
|
+
enum b3TriangleFeature: int
|
|
1032
|
+
b3_featureNone = 0
|
|
1033
|
+
b3_featureTriangleFace = 1
|
|
1034
|
+
b3_featureHullFace = 2
|
|
1035
|
+
b3_featureEdge1 = 3
|
|
1036
|
+
b3_featureEdge2 = 4
|
|
1037
|
+
b3_featureEdge3 = 5
|
|
1038
|
+
b3_featureVertex1 = 6
|
|
1039
|
+
b3_featureVertex2 = 7
|
|
1040
|
+
b3_featureVertex3 = 8
|
|
1041
|
+
|
|
1042
|
+
struct b3SATCache:
|
|
1043
|
+
separation: float
|
|
1044
|
+
type: ubyte
|
|
1045
|
+
indexA: ubyte
|
|
1046
|
+
indexB: ubyte
|
|
1047
|
+
hit: ubyte
|
|
1048
|
+
|
|
1049
|
+
struct b3FeaturePair:
|
|
1050
|
+
owner1: ubyte
|
|
1051
|
+
index1: ubyte
|
|
1052
|
+
owner2: ubyte
|
|
1053
|
+
index2: ubyte
|
|
1054
|
+
|
|
1055
|
+
struct b3LocalManifoldPoint:
|
|
1056
|
+
point: b3Vec3
|
|
1057
|
+
separation: float
|
|
1058
|
+
pair: b3FeaturePair
|
|
1059
|
+
triangleIndex: int
|
|
1060
|
+
|
|
1061
|
+
struct b3LocalManifold:
|
|
1062
|
+
normal: b3Vec3
|
|
1063
|
+
triangleNormal: b3Vec3
|
|
1064
|
+
points: ptr[b3LocalManifoldPoint]
|
|
1065
|
+
pointCount: int
|
|
1066
|
+
triangleIndex: int
|
|
1067
|
+
i1: int
|
|
1068
|
+
i2: int
|
|
1069
|
+
i3: int
|
|
1070
|
+
squaredDistance: float
|
|
1071
|
+
feature: b3TriangleFeature
|
|
1072
|
+
triangleFlags: int
|
|
1073
|
+
|
|
1074
|
+
enum b3HexColor: int
|
|
1075
|
+
b3_colorAliceBlue = 15792383
|
|
1076
|
+
b3_colorAntiqueWhite = 16444375
|
|
1077
|
+
b3_colorAqua = 65535
|
|
1078
|
+
b3_colorAquamarine = 8388564
|
|
1079
|
+
b3_colorAzure = 15794175
|
|
1080
|
+
b3_colorBeige = 16119260
|
|
1081
|
+
b3_colorBisque = 16770244
|
|
1082
|
+
b3_colorBlack = 0
|
|
1083
|
+
b3_colorBlanchedAlmond = 16772045
|
|
1084
|
+
b3_colorBlue = 255
|
|
1085
|
+
b3_colorBlueViolet = 9055202
|
|
1086
|
+
b3_colorBrown = 10824234
|
|
1087
|
+
b3_colorBurlywood = 14596231
|
|
1088
|
+
b3_colorCadetBlue = 6266528
|
|
1089
|
+
b3_colorChartreuse = 8388352
|
|
1090
|
+
b3_colorChocolate = 13789470
|
|
1091
|
+
b3_colorCoral = 16744272
|
|
1092
|
+
b3_colorCornflowerBlue = 6591981
|
|
1093
|
+
b3_colorCornsilk = 16775388
|
|
1094
|
+
b3_colorCrimson = 14423100
|
|
1095
|
+
b3_colorCyan = 65535
|
|
1096
|
+
b3_colorDarkBlue = 139
|
|
1097
|
+
b3_colorDarkCyan = 35723
|
|
1098
|
+
b3_colorDarkGoldenRod = 12092939
|
|
1099
|
+
b3_colorDarkGray = 11119017
|
|
1100
|
+
b3_colorDarkGreen = 25600
|
|
1101
|
+
b3_colorDarkKhaki = 12433259
|
|
1102
|
+
b3_colorDarkMagenta = 9109643
|
|
1103
|
+
b3_colorDarkOliveGreen = 5597999
|
|
1104
|
+
b3_colorDarkOrange = 16747520
|
|
1105
|
+
b3_colorDarkOrchid = 10040012
|
|
1106
|
+
b3_colorDarkRed = 9109504
|
|
1107
|
+
b3_colorDarkSalmon = 15308410
|
|
1108
|
+
b3_colorDarkSeaGreen = 9419919
|
|
1109
|
+
b3_colorDarkSlateBlue = 4734347
|
|
1110
|
+
b3_colorDarkSlateGray = 3100495
|
|
1111
|
+
b3_colorDarkTurquoise = 52945
|
|
1112
|
+
b3_colorDarkViolet = 9699539
|
|
1113
|
+
b3_colorDeepPink = 16716947
|
|
1114
|
+
b3_colorDeepSkyBlue = 49151
|
|
1115
|
+
b3_colorDimGray = 6908265
|
|
1116
|
+
b3_colorDodgerBlue = 2003199
|
|
1117
|
+
b3_colorFireBrick = 11674146
|
|
1118
|
+
b3_colorFloralWhite = 16775920
|
|
1119
|
+
b3_colorForestGreen = 2263842
|
|
1120
|
+
b3_colorFuchsia = 16711935
|
|
1121
|
+
b3_colorGainsboro = 14474460
|
|
1122
|
+
b3_colorGhostWhite = 16316671
|
|
1123
|
+
b3_colorGold = 16766720
|
|
1124
|
+
b3_colorGoldenRod = 14329120
|
|
1125
|
+
b3_colorGray = 8421504
|
|
1126
|
+
b3_colorGreen = 32768
|
|
1127
|
+
b3_colorGreenYellow = 11403055
|
|
1128
|
+
b3_colorHoneyDew = 15794160
|
|
1129
|
+
b3_colorHotPink = 16738740
|
|
1130
|
+
b3_colorIndianRed = 13458524
|
|
1131
|
+
b3_colorIndigo = 4915330
|
|
1132
|
+
b3_colorIvory = 16777200
|
|
1133
|
+
b3_colorKhaki = 15787660
|
|
1134
|
+
b3_colorLavender = 15132410
|
|
1135
|
+
b3_colorLavenderBlush = 16773365
|
|
1136
|
+
b3_colorLawnGreen = 8190976
|
|
1137
|
+
b3_colorLemonChiffon = 16775885
|
|
1138
|
+
b3_colorLightBlue = 11393254
|
|
1139
|
+
b3_colorLightCoral = 15761536
|
|
1140
|
+
b3_colorLightCyan = 14745599
|
|
1141
|
+
b3_colorLightGoldenRodYellow = 16448210
|
|
1142
|
+
b3_colorLightGray = 13882323
|
|
1143
|
+
b3_colorLightGreen = 9498256
|
|
1144
|
+
b3_colorLightPink = 16758465
|
|
1145
|
+
b3_colorLightSalmon = 16752762
|
|
1146
|
+
b3_colorLightSeaGreen = 2142890
|
|
1147
|
+
b3_colorLightSkyBlue = 8900346
|
|
1148
|
+
b3_colorLightSlateGray = 7833753
|
|
1149
|
+
b3_colorLightSteelBlue = 11584734
|
|
1150
|
+
b3_colorLightYellow = 16777184
|
|
1151
|
+
b3_colorLime = 65280
|
|
1152
|
+
b3_colorLimeGreen = 3329330
|
|
1153
|
+
b3_colorLinen = 16445670
|
|
1154
|
+
b3_colorMagenta = 16711935
|
|
1155
|
+
b3_colorMaroon = 8388608
|
|
1156
|
+
b3_colorMediumAquaMarine = 6737322
|
|
1157
|
+
b3_colorMediumBlue = 205
|
|
1158
|
+
b3_colorMediumOrchid = 12211667
|
|
1159
|
+
b3_colorMediumPurple = 9662683
|
|
1160
|
+
b3_colorMediumSeaGreen = 3978097
|
|
1161
|
+
b3_colorMediumSlateBlue = 8087790
|
|
1162
|
+
b3_colorMediumSpringGreen = 64154
|
|
1163
|
+
b3_colorMediumTurquoise = 4772300
|
|
1164
|
+
b3_colorMediumVioletRed = 13047173
|
|
1165
|
+
b3_colorMidnightBlue = 1644912
|
|
1166
|
+
b3_colorMintCream = 16121850
|
|
1167
|
+
b3_colorMistyRose = 16770273
|
|
1168
|
+
b3_colorMoccasin = 16770229
|
|
1169
|
+
b3_colorNavajoWhite = 16768685
|
|
1170
|
+
b3_colorNavy = 128
|
|
1171
|
+
b3_colorOldLace = 16643558
|
|
1172
|
+
b3_colorOlive = 8421376
|
|
1173
|
+
b3_colorOliveDrab = 7048739
|
|
1174
|
+
b3_colorOrange = 16753920
|
|
1175
|
+
b3_colorOrangeRed = 16729344
|
|
1176
|
+
b3_colorOrchid = 14315734
|
|
1177
|
+
b3_colorPaleGoldenRod = 15657130
|
|
1178
|
+
b3_colorPaleGreen = 10025880
|
|
1179
|
+
b3_colorPaleTurquoise = 11529966
|
|
1180
|
+
b3_colorPaleVioletRed = 14381203
|
|
1181
|
+
b3_colorPapayaWhip = 16773077
|
|
1182
|
+
b3_colorPeachPuff = 16767673
|
|
1183
|
+
b3_colorPeru = 13468991
|
|
1184
|
+
b3_colorPink = 16761035
|
|
1185
|
+
b3_colorPlum = 14524637
|
|
1186
|
+
b3_colorPowderBlue = 11591910
|
|
1187
|
+
b3_colorPurple = 8388736
|
|
1188
|
+
b3_colorRebeccaPurple = 6697881
|
|
1189
|
+
b3_colorRed = 16711680
|
|
1190
|
+
b3_colorRosyBrown = 12357519
|
|
1191
|
+
b3_colorRoyalBlue = 4286945
|
|
1192
|
+
b3_colorSaddleBrown = 9127187
|
|
1193
|
+
b3_colorSalmon = 16416882
|
|
1194
|
+
b3_colorSandyBrown = 16032864
|
|
1195
|
+
b3_colorSeaGreen = 3050327
|
|
1196
|
+
b3_colorSeaShell = 16774638
|
|
1197
|
+
b3_colorSienna = 10506797
|
|
1198
|
+
b3_colorSilver = 12632256
|
|
1199
|
+
b3_colorSkyBlue = 8900331
|
|
1200
|
+
b3_colorSlateBlue = 6970061
|
|
1201
|
+
b3_colorSlateGray = 7372944
|
|
1202
|
+
b3_colorSnow = 16775930
|
|
1203
|
+
b3_colorSpringGreen = 65407
|
|
1204
|
+
b3_colorSteelBlue = 4620980
|
|
1205
|
+
b3_colorTan = 13808780
|
|
1206
|
+
b3_colorTeal = 32896
|
|
1207
|
+
b3_colorThistle = 14204888
|
|
1208
|
+
b3_colorTomato = 16737095
|
|
1209
|
+
b3_colorTurquoise = 4251856
|
|
1210
|
+
b3_colorViolet = 15631086
|
|
1211
|
+
b3_colorWheat = 16113331
|
|
1212
|
+
b3_colorWhite = 16777215
|
|
1213
|
+
b3_colorWhiteSmoke = 16119285
|
|
1214
|
+
b3_colorYellow = 16776960
|
|
1215
|
+
b3_colorYellowGreen = 10145074
|
|
1216
|
+
b3_colorBox2DRed = 14430514
|
|
1217
|
+
b3_colorBox2DBlue = 3190463
|
|
1218
|
+
b3_colorBox2DGreen = 9226532
|
|
1219
|
+
b3_colorBox2DYellow = 16772748
|
|
1220
|
+
|
|
1221
|
+
enum b3DebugMaterial: int
|
|
1222
|
+
b3_debugMaterialDefault = 0
|
|
1223
|
+
b3_debugMaterialMatte = 1
|
|
1224
|
+
b3_debugMaterialSoft = 2
|
|
1225
|
+
b3_debugMaterialDead = 3
|
|
1226
|
+
b3_debugMaterialGlossy = 4
|
|
1227
|
+
b3_debugMaterialMetallic = 5
|
|
1228
|
+
|
|
1229
|
+
external function b3GetGraphColor(index: int) -> b3HexColor
|
|
1230
|
+
|
|
1231
|
+
struct b3DebugShape:
|
|
1232
|
+
shapeId: b3ShapeId
|
|
1233
|
+
type: b3ShapeType
|
|
1234
|
+
capsule: const_ptr[b3Capsule]
|
|
1235
|
+
compound: const_ptr[b3CompoundData]
|
|
1236
|
+
heightField: const_ptr[b3HeightFieldData]
|
|
1237
|
+
hull: const_ptr[b3HullData]
|
|
1238
|
+
mesh: const_ptr[b3Mesh]
|
|
1239
|
+
sphere: const_ptr[b3Sphere]
|
|
1240
|
+
|
|
1241
|
+
struct b3DebugDraw:
|
|
1242
|
+
DrawShapeFcn: fn(arg0: ptr[void], arg1: b3WorldTransform, arg2: b3HexColor, arg3: ptr[void]) -> void
|
|
1243
|
+
DrawSegmentFcn: fn(arg0: b3Pos, arg1: b3Pos, arg2: b3HexColor, arg3: ptr[void]) -> void
|
|
1244
|
+
DrawTransformFcn: fn(arg0: b3WorldTransform, arg1: ptr[void]) -> void
|
|
1245
|
+
DrawPointFcn: fn(arg0: b3Pos, arg1: float, arg2: b3HexColor, arg3: ptr[void]) -> void
|
|
1246
|
+
DrawSphereFcn: fn(arg0: b3Pos, arg1: float, arg2: b3HexColor, arg3: float, arg4: ptr[void]) -> void
|
|
1247
|
+
DrawCapsuleFcn: fn(arg0: b3Pos, arg1: b3Pos, arg2: float, arg3: b3HexColor, arg4: float, arg5: ptr[void]) -> void
|
|
1248
|
+
DrawBoundsFcn: fn(arg0: b3AABB, arg1: b3HexColor, arg2: ptr[void]) -> void
|
|
1249
|
+
DrawBoxFcn: fn(arg0: b3Vec3, arg1: b3WorldTransform, arg2: b3HexColor, arg3: ptr[void]) -> void
|
|
1250
|
+
DrawStringFcn: fn(arg0: b3Pos, arg1: cstr, arg2: b3HexColor, arg3: ptr[void]) -> void
|
|
1251
|
+
drawingBounds: b3AABB
|
|
1252
|
+
forceScale: float
|
|
1253
|
+
jointScale: float
|
|
1254
|
+
drawShapes: bool
|
|
1255
|
+
drawJoints: bool
|
|
1256
|
+
drawJointExtras: bool
|
|
1257
|
+
drawBounds: bool
|
|
1258
|
+
drawMass: bool
|
|
1259
|
+
drawSleep: bool
|
|
1260
|
+
drawBodyNames: bool
|
|
1261
|
+
drawContacts: bool
|
|
1262
|
+
drawAnchorA: bool
|
|
1263
|
+
drawGraphColors: bool
|
|
1264
|
+
drawContactFeatures: bool
|
|
1265
|
+
drawContactNormals: bool
|
|
1266
|
+
drawContactForces: bool
|
|
1267
|
+
drawIslands: bool
|
|
1268
|
+
context: ptr[void]
|
|
1269
|
+
|
|
1270
|
+
external function b3DefaultDebugDraw() -> b3DebugDraw
|
|
1271
|
+
external function b3DynamicTree_Create(proxyCapacity: int) -> b3DynamicTree
|
|
1272
|
+
external function b3DynamicTree_Destroy(tree: ptr[b3DynamicTree]) -> void
|
|
1273
|
+
external function b3DynamicTree_CreateProxy(tree: ptr[b3DynamicTree], aabb: b3AABB, categoryBits: ptr_uint, userData: ptr_uint) -> int
|
|
1274
|
+
external function b3DynamicTree_DestroyProxy(tree: ptr[b3DynamicTree], proxyId: int) -> void
|
|
1275
|
+
external function b3DynamicTree_MoveProxy(tree: ptr[b3DynamicTree], proxyId: int, aabb: b3AABB) -> void
|
|
1276
|
+
external function b3DynamicTree_EnlargeProxy(tree: ptr[b3DynamicTree], proxyId: int, aabb: b3AABB) -> void
|
|
1277
|
+
external function b3DynamicTree_SetCategoryBits(tree: ptr[b3DynamicTree], proxyId: int, categoryBits: ptr_uint) -> void
|
|
1278
|
+
external function b3DynamicTree_GetCategoryBits(tree: ptr[b3DynamicTree], proxyId: int) -> ulong
|
|
1279
|
+
external function b3DynamicTree_Query(tree: const_ptr[b3DynamicTree], aabb: b3AABB, maskBits: ptr_uint, requireAllBits: bool, callback: b3TreeQueryCallbackFcn, context: ptr[void]) -> b3TreeStats
|
|
1280
|
+
external function b3DynamicTree_QueryClosest(tree: const_ptr[b3DynamicTree], point: b3Vec3, maskBits: ptr_uint, requireAllBits: bool, callback: b3TreeQueryClosestCallbackFcn, context: ptr[void], minDistanceSqr: ptr[float]) -> b3TreeStats
|
|
1281
|
+
external function b3DynamicTree_RayCast(tree: const_ptr[b3DynamicTree], input: const_ptr[b3RayCastInput], maskBits: ptr_uint, requireAllBits: bool, callback: b3TreeRayCastCallbackFcn, context: ptr[void]) -> b3TreeStats
|
|
1282
|
+
external function b3DynamicTree_BoxCast(tree: const_ptr[b3DynamicTree], input: const_ptr[b3BoxCastInput], maskBits: ptr_uint, requireAllBits: bool, callback: b3TreeBoxCastCallbackFcn, context: ptr[void]) -> b3TreeStats
|
|
1283
|
+
external function b3DynamicTree_GetHeight(tree: const_ptr[b3DynamicTree]) -> int
|
|
1284
|
+
external function b3DynamicTree_GetAreaRatio(tree: const_ptr[b3DynamicTree]) -> float
|
|
1285
|
+
external function b3DynamicTree_GetRootBounds(tree: const_ptr[b3DynamicTree]) -> b3AABB
|
|
1286
|
+
external function b3DynamicTree_GetProxyCount(tree: const_ptr[b3DynamicTree]) -> int
|
|
1287
|
+
external function b3DynamicTree_Rebuild(tree: ptr[b3DynamicTree], fullBuild: bool) -> int
|
|
1288
|
+
external function b3DynamicTree_GetByteCount(tree: const_ptr[b3DynamicTree]) -> int
|
|
1289
|
+
external function b3DynamicTree_Validate(tree: const_ptr[b3DynamicTree]) -> void
|
|
1290
|
+
external function b3DynamicTree_ValidateNoEnlarged(tree: const_ptr[b3DynamicTree]) -> void
|
|
1291
|
+
external function b3DynamicTree_Save(tree: const_ptr[b3DynamicTree], fileName: cstr) -> void
|
|
1292
|
+
external function b3DynamicTree_Load(fileName: cstr, scale: float) -> b3DynamicTree
|
|
1293
|
+
external function b3CreateCylinder(height: float, radius: float, yOffset: float, sides: int) -> ptr[b3HullData]
|
|
1294
|
+
external function b3CreateCone(height: float, radius1: float, radius2: float, slices: int) -> ptr[b3HullData]
|
|
1295
|
+
external function b3CreateRock(radius: float) -> ptr[b3HullData]
|
|
1296
|
+
external function b3CreateHull(points: const_ptr[b3Vec3], pointCount: int, maxVertexCount: int) -> ptr[b3HullData]
|
|
1297
|
+
external function b3CloneHull(hull: const_ptr[b3HullData]) -> ptr[b3HullData]
|
|
1298
|
+
external function b3CloneAndTransformHull(original: const_ptr[b3HullData], transform: b3Transform, scale: b3Vec3) -> ptr[b3HullData]
|
|
1299
|
+
external function b3DestroyHull(hull: ptr[b3HullData]) -> void
|
|
1300
|
+
external function b3MakeCubeHull(halfWidth: float) -> b3BoxHull
|
|
1301
|
+
external function b3MakeBoxHull(hx: float, hy: float, hz: float) -> b3BoxHull
|
|
1302
|
+
external function b3MakeOffsetBoxHull(hx: float, hy: float, hz: float, offset: b3Vec3) -> b3BoxHull
|
|
1303
|
+
external function b3MakeTransformedBoxHull(hx: float, hy: float, hz: float, transform: b3Transform) -> b3BoxHull
|
|
1304
|
+
external function b3MakeScaledBoxHull(halfWidths: b3Vec3, transform: b3Transform, postScale: b3Vec3) -> b3BoxHull
|
|
1305
|
+
external function b3ScaleBox(halfWidths: ptr[b3Vec3], transform: ptr[b3Transform], postScale: b3Vec3, minHalfWidth: float) -> void
|
|
1306
|
+
external function b3CreateGridMesh(xCount: int, zCount: int, cellWidth: float, materialCount: int, identifyEdges: bool) -> ptr[b3MeshData]
|
|
1307
|
+
external function b3CreateWaveMesh(xCount: int, zCount: int, cellWidth: float, amplitude: float, rowFrequency: float, columnFrequency: float) -> ptr[b3MeshData]
|
|
1308
|
+
external function b3CreateTorusMesh(radialResolution: int, tubularResolution: int, radius: float, thickness: float) -> ptr[b3MeshData]
|
|
1309
|
+
external function b3CreateBoxMesh(center: b3Vec3, extent: b3Vec3, identifyEdges: bool) -> ptr[b3MeshData]
|
|
1310
|
+
external function b3CreateHollowBoxMesh(center: b3Vec3, extent: b3Vec3) -> ptr[b3MeshData]
|
|
1311
|
+
external function b3CreatePlatformMesh(center: b3Vec3, height: float, topWidth: float, bottomWidth: float) -> ptr[b3MeshData]
|
|
1312
|
+
external function b3CreateMesh(def: const_ptr[b3MeshDef], degenerateTriangleIndices: ptr[int], degenerateCapacity: int) -> ptr[b3MeshData]
|
|
1313
|
+
external function b3DestroyMesh(mesh: ptr[b3MeshData]) -> void
|
|
1314
|
+
external function b3GetHeight(mesh: const_ptr[b3MeshData]) -> int
|
|
1315
|
+
external function b3CreateHeightField(data: const_ptr[b3HeightFieldDef]) -> ptr[b3HeightFieldData]
|
|
1316
|
+
external function b3CreateGrid(rowCount: int, columnCount: int, scale: b3Vec3, makeHoles: bool) -> ptr[b3HeightFieldData]
|
|
1317
|
+
external function b3CreateWave(rowCount: int, columnCount: int, scale: b3Vec3, rowFrequency: float, columnFrequency: float, makeHoles: bool) -> ptr[b3HeightFieldData]
|
|
1318
|
+
external function b3DestroyHeightField(heightField: ptr[b3HeightFieldData]) -> void
|
|
1319
|
+
external function b3DumpHeightData(data: const_ptr[b3HeightFieldDef], fileName: cstr) -> void
|
|
1320
|
+
external function b3LoadHeightField(fileName: cstr) -> ptr[b3HeightFieldData]
|
|
1321
|
+
external function b3GetCompoundChild(compound: const_ptr[b3CompoundData], childIndex: int) -> b3ChildShape
|
|
1322
|
+
external function b3QueryCompound(compound: const_ptr[b3CompoundData], aabb: b3AABB, fcn: b3CompoundQueryFcn, context: ptr[void]) -> void
|
|
1323
|
+
external function b3GetCompoundCapsule(compound: const_ptr[b3CompoundData], index: int) -> b3CompoundCapsule
|
|
1324
|
+
external function b3GetCompoundHull(compound: const_ptr[b3CompoundData], index: int) -> b3CompoundHull
|
|
1325
|
+
external function b3GetCompoundMesh(compound: const_ptr[b3CompoundData], index: int) -> b3CompoundMesh
|
|
1326
|
+
external function b3GetCompoundSphere(compound: const_ptr[b3CompoundData], index: int) -> b3CompoundSphere
|
|
1327
|
+
external function b3GetCompoundMaterials(compound: const_ptr[b3CompoundData]) -> const_ptr[b3SurfaceMaterial]
|
|
1328
|
+
external function b3CreateCompound(def: const_ptr[b3CompoundDef]) -> ptr[b3CompoundData]
|
|
1329
|
+
external function b3DestroyCompound(compound: ptr[b3CompoundData]) -> void
|
|
1330
|
+
external function b3ConvertCompoundToBytes(compound: ptr[b3CompoundData]) -> ptr[ubyte]
|
|
1331
|
+
external function b3ConvertBytesToCompound(bytes: ptr[ubyte], byteCount: int) -> ptr[b3CompoundData]
|
|
1332
|
+
external function b3ComputeSphereMass(shape: const_ptr[b3Sphere], density: float) -> b3MassData
|
|
1333
|
+
external function b3ComputeCapsuleMass(shape: const_ptr[b3Capsule], density: float) -> b3MassData
|
|
1334
|
+
external function b3ComputeHullMass(shape: const_ptr[b3HullData], density: float) -> b3MassData
|
|
1335
|
+
external function b3ComputeSphereAABB(shape: const_ptr[b3Sphere], transform: b3Transform) -> b3AABB
|
|
1336
|
+
external function b3ComputeCapsuleAABB(shape: const_ptr[b3Capsule], transform: b3Transform) -> b3AABB
|
|
1337
|
+
external function b3ComputeHullAABB(shape: const_ptr[b3HullData], transform: b3Transform) -> b3AABB
|
|
1338
|
+
external function b3ComputeMeshAABB(shape: const_ptr[b3MeshData], transform: b3Transform, scale: b3Vec3) -> b3AABB
|
|
1339
|
+
external function b3ComputeHeightFieldAABB(shape: const_ptr[b3HeightFieldData], transform: b3Transform) -> b3AABB
|
|
1340
|
+
external function b3ComputeCompoundAABB(shape: const_ptr[b3CompoundData], transform: b3Transform) -> b3AABB
|
|
1341
|
+
external function b3IsValidRay(input: const_ptr[b3RayCastInput]) -> bool
|
|
1342
|
+
external function b3OverlapCapsule(shape: const_ptr[b3Capsule], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1343
|
+
external function b3OverlapCompound(shape: const_ptr[b3CompoundData], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1344
|
+
external function b3OverlapHeightField(shape: const_ptr[b3HeightFieldData], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1345
|
+
external function b3OverlapHull(shape: const_ptr[b3HullData], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1346
|
+
external function b3OverlapMesh(shape: const_ptr[b3Mesh], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1347
|
+
external function b3OverlapSphere(shape: const_ptr[b3Sphere], shapeTransform: b3Transform, proxy: const_ptr[b3ShapeProxy]) -> bool
|
|
1348
|
+
external function b3RayCastSphere(shape: const_ptr[b3Sphere], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1349
|
+
external function b3RayCastHollowSphere(shape: const_ptr[b3Sphere], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1350
|
+
external function b3RayCastCapsule(shape: const_ptr[b3Capsule], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1351
|
+
external function b3RayCastCompound(shape: const_ptr[b3CompoundData], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1352
|
+
external function b3RayCastHull(shape: const_ptr[b3HullData], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1353
|
+
external function b3RayCastMesh(shape: const_ptr[b3Mesh], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1354
|
+
external function b3RayCastHeightField(shape: const_ptr[b3HeightFieldData], input: const_ptr[b3RayCastInput]) -> b3CastOutput
|
|
1355
|
+
external function b3ShapeCastSphere(shape: const_ptr[b3Sphere], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1356
|
+
external function b3ShapeCastCapsule(shape: const_ptr[b3Capsule], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1357
|
+
external function b3ShapeCastCompound(shape: const_ptr[b3CompoundData], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1358
|
+
external function b3ShapeCastHull(shape: const_ptr[b3HullData], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1359
|
+
external function b3ShapeCastMesh(shape: const_ptr[b3Mesh], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1360
|
+
external function b3ShapeCastHeightField(shape: const_ptr[b3HeightFieldData], input: const_ptr[b3ShapeCastInput]) -> b3CastOutput
|
|
1361
|
+
|
|
1362
|
+
type b3MeshQueryFcn = fn(arg0: b3Vec3, arg1: b3Vec3, arg2: b3Vec3, arg3: int, arg4: ptr[void]) -> bool
|
|
1363
|
+
|
|
1364
|
+
external function b3QueryMesh(mesh: const_ptr[b3Mesh], bounds: b3AABB, fcn: b3MeshQueryFcn, context: ptr[void]) -> void
|
|
1365
|
+
external function b3QueryHeightField(heightField: const_ptr[b3HeightFieldData], bounds: b3AABB, fcn: b3MeshQueryFcn, context: ptr[void]) -> void
|
|
1366
|
+
external function b3ShapeDistance(input: const_ptr[b3DistanceInput], cache: ptr[b3SimplexCache], simplexes: ptr[b3Simplex], simplexCapacity: int) -> b3DistanceOutput
|
|
1367
|
+
external function b3ShapeCast(input: const_ptr[b3ShapeCastPairInput]) -> b3CastOutput
|
|
1368
|
+
external function b3GetSweepTransform(sweep: const_ptr[b3Sweep], time: float) -> b3Transform
|
|
1369
|
+
external function b3TimeOfImpact(input: const_ptr[b3TOIInput]) -> b3TOIOutput
|
|
1370
|
+
external function b3CollideSpheres(manifold: ptr[b3LocalManifold], capacity: int, sphereA: const_ptr[b3Sphere], sphereB: const_ptr[b3Sphere], transformBtoA: b3Transform) -> void
|
|
1371
|
+
external function b3CollideCapsuleAndSphere(manifold: ptr[b3LocalManifold], capacity: int, capsuleA: const_ptr[b3Capsule], sphereB: const_ptr[b3Sphere], transformBtoA: b3Transform) -> void
|
|
1372
|
+
external function b3CollideHullAndSphere(manifold: ptr[b3LocalManifold], capacity: int, hullA: const_ptr[b3HullData], sphereB: const_ptr[b3Sphere], transformBtoA: b3Transform, cache: ptr[b3SimplexCache]) -> void
|
|
1373
|
+
external function b3CollideCapsules(manifold: ptr[b3LocalManifold], capacity: int, capsuleA: const_ptr[b3Capsule], capsuleB: const_ptr[b3Capsule], transformBtoA: b3Transform) -> void
|
|
1374
|
+
external function b3CollideHullAndCapsule(manifold: ptr[b3LocalManifold], capacity: int, hullA: const_ptr[b3HullData], capsuleB: const_ptr[b3Capsule], transformBtoA: b3Transform, cache: ptr[b3SimplexCache]) -> void
|
|
1375
|
+
external function b3CollideHulls(manifold: ptr[b3LocalManifold], capacity: int, hullA: const_ptr[b3HullData], hullB: const_ptr[b3HullData], transformBtoA: b3Transform, cache: ptr[b3SATCache]) -> void
|
|
1376
|
+
external function b3CollideTriangleAndCapsule(manifold: ptr[b3LocalManifold], capacity: int, triangleA: const_ptr[b3Vec3], capsuleB: const_ptr[b3Capsule], cache: ptr[b3SimplexCache]) -> void
|
|
1377
|
+
external function b3CollideTriangleAndHull(manifold: ptr[b3LocalManifold], capacity: int, v1: b3Vec3, v2: b3Vec3, v3: b3Vec3, triangleFlags: int, hullB: const_ptr[b3HullData], cache: ptr[b3SATCache], enableSpeculative: bool) -> void
|
|
1378
|
+
external function b3CollideTriangleAndSphere(manifold: ptr[b3LocalManifold], capacity: int, triangleA: const_ptr[b3Vec3], sphereB: const_ptr[b3Sphere]) -> void
|
|
1379
|
+
external function b3SolvePlanes(targetDelta: b3Vec3, planes: ptr[b3CollisionPlane], count: int) -> b3PlaneSolverResult
|
|
1380
|
+
external function b3ClipVector(vector: b3Vec3, planes: const_ptr[b3CollisionPlane], count: int) -> b3Vec3
|
|
1381
|
+
external function b3CreateWorld(def: const_ptr[b3WorldDef]) -> b3WorldId
|
|
1382
|
+
external function b3DestroyWorld(worldId: b3WorldId) -> void
|
|
1383
|
+
external function b3GetWorldCount() -> int
|
|
1384
|
+
external function b3GetMaxWorldCount() -> int
|
|
1385
|
+
external function b3World_IsValid(id: b3WorldId) -> bool
|
|
1386
|
+
external function b3World_Step(worldId: b3WorldId, timeStep: float, subStepCount: int) -> void
|
|
1387
|
+
external function b3World_Draw(worldId: b3WorldId, draw: ptr[b3DebugDraw], maskBits: ptr_uint) -> void
|
|
1388
|
+
external function b3World_GetBounds(worldId: b3WorldId) -> b3AABB
|
|
1389
|
+
external function b3World_GetBodyEvents(worldId: b3WorldId) -> b3BodyEvents
|
|
1390
|
+
external function b3World_GetSensorEvents(worldId: b3WorldId) -> b3SensorEvents
|
|
1391
|
+
external function b3World_GetContactEvents(worldId: b3WorldId) -> b3ContactEvents
|
|
1392
|
+
external function b3World_GetJointEvents(worldId: b3WorldId) -> b3JointEvents
|
|
1393
|
+
external function b3World_OverlapAABB(worldId: b3WorldId, aabb: b3AABB, filter: b3QueryFilter, fcn: b3OverlapResultFcn, context: ptr[void]) -> b3TreeStats
|
|
1394
|
+
external function b3World_OverlapShape(worldId: b3WorldId, origin: b3Vec3, proxy: const_ptr[b3ShapeProxy], filter: b3QueryFilter, fcn: b3OverlapResultFcn, context: ptr[void]) -> b3TreeStats
|
|
1395
|
+
external function b3World_CastRay(worldId: b3WorldId, origin: b3Vec3, translation: b3Vec3, filter: b3QueryFilter, fcn: b3CastResultFcn, context: ptr[void]) -> b3TreeStats
|
|
1396
|
+
external function b3World_CastRayClosest(worldId: b3WorldId, origin: b3Vec3, translation: b3Vec3, filter: b3QueryFilter) -> b3RayResult
|
|
1397
|
+
external function b3World_CastShape(worldId: b3WorldId, origin: b3Vec3, proxy: const_ptr[b3ShapeProxy], translation: b3Vec3, filter: b3QueryFilter, fcn: b3CastResultFcn, context: ptr[void]) -> b3TreeStats
|
|
1398
|
+
external function b3World_CastMover(worldId: b3WorldId, origin: b3Vec3, mover: const_ptr[b3Capsule], translation: b3Vec3, filter: b3QueryFilter, fcn: b3MoverFilterFcn, context: ptr[void]) -> float
|
|
1399
|
+
external function b3World_CollideMover(worldId: b3WorldId, origin: b3Vec3, mover: const_ptr[b3Capsule], filter: b3QueryFilter, fcn: b3PlaneResultFcn, context: ptr[void]) -> void
|
|
1400
|
+
external function b3World_EnableSleeping(worldId: b3WorldId, flag: bool) -> void
|
|
1401
|
+
external function b3World_IsSleepingEnabled(worldId: b3WorldId) -> bool
|
|
1402
|
+
external function b3World_EnableContinuous(worldId: b3WorldId, flag: bool) -> void
|
|
1403
|
+
external function b3World_IsContinuousEnabled(worldId: b3WorldId) -> bool
|
|
1404
|
+
external function b3World_SetRestitutionThreshold(worldId: b3WorldId, value: float) -> void
|
|
1405
|
+
external function b3World_GetRestitutionThreshold(worldId: b3WorldId) -> float
|
|
1406
|
+
external function b3World_SetHitEventThreshold(worldId: b3WorldId, value: float) -> void
|
|
1407
|
+
external function b3World_GetHitEventThreshold(worldId: b3WorldId) -> float
|
|
1408
|
+
external function b3World_SetCustomFilterCallback(worldId: b3WorldId, fcn: b3CustomFilterFcn, context: ptr[void]) -> void
|
|
1409
|
+
external function b3World_SetPreSolveCallback(worldId: b3WorldId, fcn: b3PreSolveFcn, context: ptr[void]) -> void
|
|
1410
|
+
external function b3World_SetGravity(worldId: b3WorldId, gravity: b3Vec3) -> void
|
|
1411
|
+
external function b3World_GetGravity(worldId: b3WorldId) -> b3Vec3
|
|
1412
|
+
external function b3World_Explode(worldId: b3WorldId, explosionDef: const_ptr[b3ExplosionDef]) -> void
|
|
1413
|
+
external function b3World_SetContactTuning(worldId: b3WorldId, hertz: float, dampingRatio: float, contactSpeed: float) -> void
|
|
1414
|
+
external function b3World_SetContactRecycleDistance(worldId: b3WorldId, recycleDistance: float) -> void
|
|
1415
|
+
external function b3World_GetContactRecycleDistance(worldId: b3WorldId) -> float
|
|
1416
|
+
external function b3World_SetMaximumLinearSpeed(worldId: b3WorldId, maximumLinearSpeed: float) -> void
|
|
1417
|
+
external function b3World_GetMaximumLinearSpeed(worldId: b3WorldId) -> float
|
|
1418
|
+
external function b3World_EnableWarmStarting(worldId: b3WorldId, flag: bool) -> void
|
|
1419
|
+
external function b3World_IsWarmStartingEnabled(worldId: b3WorldId) -> bool
|
|
1420
|
+
external function b3World_GetAwakeBodyCount(worldId: b3WorldId) -> int
|
|
1421
|
+
external function b3World_GetProfile(worldId: b3WorldId) -> b3Profile
|
|
1422
|
+
external function b3World_GetCounters(worldId: b3WorldId) -> b3Counters
|
|
1423
|
+
external function b3World_GetMaxCapacity(worldId: b3WorldId) -> b3Capacity
|
|
1424
|
+
external function b3World_SetUserData(worldId: b3WorldId, userData: ptr[void]) -> void
|
|
1425
|
+
external function b3World_GetUserData(worldId: b3WorldId) -> ptr[void]
|
|
1426
|
+
external function b3World_SetFrictionCallback(worldId: b3WorldId, callback: b3FrictionCallback) -> void
|
|
1427
|
+
external function b3World_SetRestitutionCallback(worldId: b3WorldId, callback: b3RestitutionCallback) -> void
|
|
1428
|
+
external function b3World_SetWorkerCount(worldId: b3WorldId, count: int) -> void
|
|
1429
|
+
external function b3World_GetWorkerCount(worldId: b3WorldId) -> int
|
|
1430
|
+
external function b3World_DumpMemoryStats(worldId: b3WorldId) -> void
|
|
1431
|
+
external function b3World_DumpShapeBounds(worldId: b3WorldId, type_: b3BodyType) -> void
|
|
1432
|
+
external function b3World_RebuildStaticTree(worldId: b3WorldId) -> void
|
|
1433
|
+
external function b3World_EnableSpeculative(worldId: b3WorldId, flag: bool) -> void
|
|
1434
|
+
|
|
1435
|
+
opaque b3Recording = c"b3Recording"
|
|
1436
|
+
|
|
1437
|
+
external function b3CreateRecording(byteCapacity: int) -> ptr[b3Recording]
|
|
1438
|
+
external function b3DestroyRecording(recording: ptr[b3Recording]) -> void
|
|
1439
|
+
external function b3Recording_GetData(recording: const_ptr[b3Recording]) -> const_ptr[ubyte]
|
|
1440
|
+
external function b3Recording_GetSize(recording: const_ptr[b3Recording]) -> int
|
|
1441
|
+
external function b3World_StartRecording(worldId: b3WorldId, recording: ptr[b3Recording]) -> void
|
|
1442
|
+
external function b3World_StopRecording(worldId: b3WorldId) -> void
|
|
1443
|
+
external function b3SaveRecordingToFile(recording: const_ptr[b3Recording], path: cstr) -> bool
|
|
1444
|
+
external function b3LoadRecordingFromFile(path: cstr) -> ptr[b3Recording]
|
|
1445
|
+
external function b3ValidateReplay(data: const_ptr[void], size: int, workerCount: int) -> bool
|
|
1446
|
+
|
|
1447
|
+
opaque b3RecPlayer = c"b3RecPlayer"
|
|
1448
|
+
|
|
1449
|
+
struct b3RecPlayerInfo:
|
|
1450
|
+
frameCount: int
|
|
1451
|
+
workerCount: int
|
|
1452
|
+
timeStep: float
|
|
1453
|
+
subStepCount: int
|
|
1454
|
+
lengthScale: float
|
|
1455
|
+
bounds: b3AABB
|
|
1456
|
+
|
|
1457
|
+
external function b3CreatePlayer(data: const_ptr[void], size: int, workerCount: int) -> ptr[b3RecPlayer]
|
|
1458
|
+
external function b3DestroyPlayer(player: ptr[b3RecPlayer]) -> void
|
|
1459
|
+
external function b3RecPlayer_StepFrame(player: ptr[b3RecPlayer]) -> bool
|
|
1460
|
+
external function b3RecPlayer_SubStepFrame(player: ptr[b3RecPlayer]) -> void
|
|
1461
|
+
external function b3RecPlayer_Restart(player: ptr[b3RecPlayer]) -> void
|
|
1462
|
+
external function b3RecPlayer_SeekFrame(player: ptr[b3RecPlayer], targetFrame: int) -> void
|
|
1463
|
+
external function b3RecPlayer_GetWorldId(player: const_ptr[b3RecPlayer]) -> b3WorldId
|
|
1464
|
+
external function b3RecPlayer_GetFrame(player: const_ptr[b3RecPlayer]) -> int
|
|
1465
|
+
external function b3RecPlayer_GetFrameCount(player: const_ptr[b3RecPlayer]) -> int
|
|
1466
|
+
external function b3RecPlayer_IsAtEnd(player: const_ptr[b3RecPlayer]) -> bool
|
|
1467
|
+
external function b3RecPlayer_IsAtPreStep(player: const_ptr[b3RecPlayer]) -> bool
|
|
1468
|
+
external function b3RecPlayer_HasDiverged(player: const_ptr[b3RecPlayer]) -> bool
|
|
1469
|
+
external function b3RecPlayer_GetInfo(player: const_ptr[b3RecPlayer]) -> b3RecPlayerInfo
|
|
1470
|
+
external function b3RecPlayer_GetDivergeFrame(player: const_ptr[b3RecPlayer]) -> int
|
|
1471
|
+
external function b3RecPlayer_SetWorkerCount(player: ptr[b3RecPlayer], count: int) -> void
|
|
1472
|
+
external function b3RecPlayer_SetKeyframePolicy(player: ptr[b3RecPlayer], budgetBytes: ptr_uint, minIntervalFrames: int) -> void
|
|
1473
|
+
external function b3RecPlayer_GetKeyframeBudget(player: const_ptr[b3RecPlayer]) -> ptr_uint
|
|
1474
|
+
external function b3RecPlayer_GetKeyframeMinInterval(player: const_ptr[b3RecPlayer]) -> int
|
|
1475
|
+
external function b3RecPlayer_GetKeyframeInterval(player: const_ptr[b3RecPlayer]) -> int
|
|
1476
|
+
external function b3RecPlayer_GetKeyframeBytes(player: const_ptr[b3RecPlayer]) -> ptr_uint
|
|
1477
|
+
external function b3RecPlayer_GetBodyCount(player: const_ptr[b3RecPlayer]) -> int
|
|
1478
|
+
external function b3RecPlayer_GetBodyId(player: const_ptr[b3RecPlayer], index: int) -> b3BodyId
|
|
1479
|
+
external function b3RecPlayer_SetDebugShapeCallbacks(player: ptr[b3RecPlayer], createDebugShape: b3CreateDebugShapeCallback, destroyDebugShape: b3DestroyDebugShapeCallback, context: ptr[void]) -> void
|
|
1480
|
+
external function b3RecPlayer_DrawFrameQueries(player: ptr[b3RecPlayer], draw: ptr[b3DebugDraw], queryIndex: int, selectedIndex: int) -> void
|
|
1481
|
+
|
|
1482
|
+
enum b3RecQueryType: int
|
|
1483
|
+
b3_recQueryOverlapAABB = 0
|
|
1484
|
+
b3_recQueryOverlapShape = 1
|
|
1485
|
+
b3_recQueryCastRay = 2
|
|
1486
|
+
b3_recQueryCastShape = 3
|
|
1487
|
+
b3_recQueryCastRayClosest = 4
|
|
1488
|
+
b3_recQueryCastMover = 5
|
|
1489
|
+
b3_recQueryCollideMover = 6
|
|
1490
|
+
|
|
1491
|
+
struct b3RecQueryInfo:
|
|
1492
|
+
type: b3RecQueryType
|
|
1493
|
+
filter: b3QueryFilter
|
|
1494
|
+
aabb: b3AABB
|
|
1495
|
+
origin: b3Vec3
|
|
1496
|
+
translation: b3Vec3
|
|
1497
|
+
hitCount: int
|
|
1498
|
+
key: ptr_uint
|
|
1499
|
+
id: ptr_uint
|
|
1500
|
+
name: cstr
|
|
1501
|
+
|
|
1502
|
+
struct b3RecQueryHit:
|
|
1503
|
+
shape: b3ShapeId
|
|
1504
|
+
point: b3Vec3
|
|
1505
|
+
normal: b3Vec3
|
|
1506
|
+
fraction: float
|
|
1507
|
+
|
|
1508
|
+
external function b3RecPlayer_GetFrameQueryCount(player: const_ptr[b3RecPlayer]) -> int
|
|
1509
|
+
external function b3RecPlayer_GetFrameQuery(player: const_ptr[b3RecPlayer], index: int) -> b3RecQueryInfo
|
|
1510
|
+
external function b3RecPlayer_GetFrameQueryHit(player: const_ptr[b3RecPlayer], queryIndex: int, hitIndex: int) -> b3RecQueryHit
|
|
1511
|
+
external function b3CreateBody(worldId: b3WorldId, def: const_ptr[b3BodyDef]) -> b3BodyId
|
|
1512
|
+
external function b3DestroyBody(bodyId: b3BodyId) -> void
|
|
1513
|
+
external function b3Body_IsValid(id: b3BodyId) -> bool
|
|
1514
|
+
external function b3Body_GetType(bodyId: b3BodyId) -> b3BodyType
|
|
1515
|
+
external function b3Body_SetType(bodyId: b3BodyId, type_: b3BodyType) -> void
|
|
1516
|
+
external function b3Body_SetName(bodyId: b3BodyId, name: cstr) -> void
|
|
1517
|
+
external function b3Body_GetName(bodyId: b3BodyId) -> cstr
|
|
1518
|
+
external function b3Body_SetUserData(bodyId: b3BodyId, userData: ptr[void]) -> void
|
|
1519
|
+
external function b3Body_GetUserData(bodyId: b3BodyId) -> ptr[void]
|
|
1520
|
+
external function b3Body_GetPosition(bodyId: b3BodyId) -> b3Pos
|
|
1521
|
+
external function b3Body_GetRotation(bodyId: b3BodyId) -> b3Quat
|
|
1522
|
+
external function b3Body_GetTransform(bodyId: b3BodyId) -> b3WorldTransform
|
|
1523
|
+
external function b3Body_SetTransform(bodyId: b3BodyId, position: b3Vec3, rotation: b3Quat) -> void
|
|
1524
|
+
external function b3Body_GetLocalPoint(bodyId: b3BodyId, worldPoint: b3Vec3) -> b3Vec3
|
|
1525
|
+
external function b3Body_GetWorldPoint(bodyId: b3BodyId, localPoint: b3Vec3) -> b3Pos
|
|
1526
|
+
external function b3Body_GetLocalVector(bodyId: b3BodyId, worldVector: b3Vec3) -> b3Vec3
|
|
1527
|
+
external function b3Body_GetWorldVector(bodyId: b3BodyId, localVector: b3Vec3) -> b3Vec3
|
|
1528
|
+
external function b3Body_GetLinearVelocity(bodyId: b3BodyId) -> b3Vec3
|
|
1529
|
+
external function b3Body_GetAngularVelocity(bodyId: b3BodyId) -> b3Vec3
|
|
1530
|
+
external function b3Body_SetLinearVelocity(bodyId: b3BodyId, linearVelocity: b3Vec3) -> void
|
|
1531
|
+
external function b3Body_SetAngularVelocity(bodyId: b3BodyId, angularVelocity: b3Vec3) -> void
|
|
1532
|
+
external function b3Body_SetTargetTransform(bodyId: b3BodyId, target: b3Transform, timeStep: float, wake: bool) -> void
|
|
1533
|
+
external function b3Body_GetLocalPointVelocity(bodyId: b3BodyId, localPoint: b3Vec3) -> b3Vec3
|
|
1534
|
+
external function b3Body_GetWorldPointVelocity(bodyId: b3BodyId, worldPoint: b3Vec3) -> b3Vec3
|
|
1535
|
+
external function b3Body_ApplyForce(bodyId: b3BodyId, force: b3Vec3, point: b3Vec3, wake: bool) -> void
|
|
1536
|
+
external function b3Body_ApplyForceToCenter(bodyId: b3BodyId, force: b3Vec3, wake: bool) -> void
|
|
1537
|
+
external function b3Body_ApplyTorque(bodyId: b3BodyId, torque: b3Vec3, wake: bool) -> void
|
|
1538
|
+
external function b3Body_ApplyLinearImpulse(bodyId: b3BodyId, impulse: b3Vec3, point: b3Vec3, wake: bool) -> void
|
|
1539
|
+
external function b3Body_ApplyLinearImpulseToCenter(bodyId: b3BodyId, impulse: b3Vec3, wake: bool) -> void
|
|
1540
|
+
external function b3Body_ApplyAngularImpulse(bodyId: b3BodyId, impulse: b3Vec3, wake: bool) -> void
|
|
1541
|
+
external function b3Body_GetMass(bodyId: b3BodyId) -> float
|
|
1542
|
+
external function b3Body_GetLocalRotationalInertia(bodyId: b3BodyId) -> b3Matrix3
|
|
1543
|
+
external function b3Body_GetInverseMass(bodyId: b3BodyId) -> float
|
|
1544
|
+
external function b3Body_GetWorldInverseRotationalInertia(bodyId: b3BodyId) -> b3Matrix3
|
|
1545
|
+
external function b3Body_GetLocalCenter(bodyId: b3BodyId) -> b3Vec3
|
|
1546
|
+
external function b3Body_GetWorldCenter(bodyId: b3BodyId) -> b3Pos
|
|
1547
|
+
external function b3Body_SetMassData(bodyId: b3BodyId, massData: b3MassData) -> void
|
|
1548
|
+
external function b3Body_GetMassData(bodyId: b3BodyId) -> b3MassData
|
|
1549
|
+
external function b3Body_ApplyMassFromShapes(bodyId: b3BodyId) -> void
|
|
1550
|
+
external function b3Body_SetLinearDamping(bodyId: b3BodyId, linearDamping: float) -> void
|
|
1551
|
+
external function b3Body_GetLinearDamping(bodyId: b3BodyId) -> float
|
|
1552
|
+
external function b3Body_SetAngularDamping(bodyId: b3BodyId, angularDamping: float) -> void
|
|
1553
|
+
external function b3Body_GetAngularDamping(bodyId: b3BodyId) -> float
|
|
1554
|
+
external function b3Body_SetGravityScale(bodyId: b3BodyId, gravityScale: float) -> void
|
|
1555
|
+
external function b3Body_GetGravityScale(bodyId: b3BodyId) -> float
|
|
1556
|
+
external function b3Body_IsAwake(bodyId: b3BodyId) -> bool
|
|
1557
|
+
external function b3Body_SetAwake(bodyId: b3BodyId, awake: bool) -> void
|
|
1558
|
+
external function b3Body_EnableSleep(bodyId: b3BodyId, enableSleep: bool) -> void
|
|
1559
|
+
external function b3Body_IsSleepEnabled(bodyId: b3BodyId) -> bool
|
|
1560
|
+
external function b3Body_SetSleepThreshold(bodyId: b3BodyId, sleepThreshold: float) -> void
|
|
1561
|
+
external function b3Body_GetSleepThreshold(bodyId: b3BodyId) -> float
|
|
1562
|
+
external function b3Body_IsEnabled(bodyId: b3BodyId) -> bool
|
|
1563
|
+
external function b3Body_Disable(bodyId: b3BodyId) -> void
|
|
1564
|
+
external function b3Body_Enable(bodyId: b3BodyId) -> void
|
|
1565
|
+
external function b3Body_SetMotionLocks(bodyId: b3BodyId, locks: b3MotionLocks) -> void
|
|
1566
|
+
external function b3Body_GetMotionLocks(bodyId: b3BodyId) -> b3MotionLocks
|
|
1567
|
+
external function b3Body_SetBullet(bodyId: b3BodyId, flag: bool) -> void
|
|
1568
|
+
external function b3Body_IsBullet(bodyId: b3BodyId) -> bool
|
|
1569
|
+
external function b3Body_AllowFastRotation(bodyId: b3BodyId, flag: bool) -> void
|
|
1570
|
+
external function b3Body_IsFastRotationAllowed(bodyId: b3BodyId) -> bool
|
|
1571
|
+
external function b3Body_EnableContactRecycling(bodyId: b3BodyId, flag: bool) -> void
|
|
1572
|
+
external function b3Body_IsContactRecyclingEnabled(bodyId: b3BodyId) -> bool
|
|
1573
|
+
external function b3Body_EnableHitEvents(bodyId: b3BodyId, flag: bool) -> void
|
|
1574
|
+
external function b3Body_GetWorld(bodyId: b3BodyId) -> b3WorldId
|
|
1575
|
+
external function b3Body_GetShapeCount(bodyId: b3BodyId) -> int
|
|
1576
|
+
external function b3Body_GetShapes(bodyId: b3BodyId, shapeArray: ptr[b3ShapeId], capacity: int) -> int
|
|
1577
|
+
external function b3Body_GetJointCount(bodyId: b3BodyId) -> int
|
|
1578
|
+
external function b3Body_GetJoints(bodyId: b3BodyId, jointArray: ptr[b3JointId], capacity: int) -> int
|
|
1579
|
+
external function b3Body_GetContactCapacity(bodyId: b3BodyId) -> int
|
|
1580
|
+
external function b3Body_GetContactData(bodyId: b3BodyId, contactData: ptr[b3ContactData], capacity: int) -> int
|
|
1581
|
+
external function b3Body_ComputeAABB(bodyId: b3BodyId) -> b3AABB
|
|
1582
|
+
external function b3Body_GetClosestPoint(bodyId: b3BodyId, result: ptr[b3Vec3], target: b3Vec3) -> float
|
|
1583
|
+
external function b3Body_CastRay(bodyId: b3BodyId, origin: b3Vec3, translation: b3Vec3, filter: b3QueryFilter, maxFraction: float, bodyTransform: b3Transform) -> b3BodyCastResult
|
|
1584
|
+
external function b3Body_CastShape(bodyId: b3BodyId, origin: b3Vec3, proxy: const_ptr[b3ShapeProxy], translation: b3Vec3, filter: b3QueryFilter, maxFraction: float, canEncroach: bool, bodyTransform: b3Transform) -> b3BodyCastResult
|
|
1585
|
+
external function b3Body_OverlapShape(bodyId: b3BodyId, origin: b3Vec3, proxy: const_ptr[b3ShapeProxy], filter: b3QueryFilter, bodyTransform: b3Transform) -> bool
|
|
1586
|
+
external function b3Body_CollideMover(bodyId: b3BodyId, bodyPlanes: ptr[b3BodyPlaneResult], planeCapacity: int, origin: b3Vec3, mover: const_ptr[b3Capsule], filter: b3QueryFilter, bodyTransform: b3Transform) -> int
|
|
1587
|
+
external function b3CreateSphereShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], sphere: const_ptr[b3Sphere]) -> b3ShapeId
|
|
1588
|
+
external function b3CreateCapsuleShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], capsule: const_ptr[b3Capsule]) -> b3ShapeId
|
|
1589
|
+
external function b3CreateHullShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], hull: const_ptr[b3HullData]) -> b3ShapeId
|
|
1590
|
+
external function b3CreateTransformedHullShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], hull: const_ptr[b3HullData], transform: b3Transform, scale: b3Vec3) -> b3ShapeId
|
|
1591
|
+
external function b3CreateMeshShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], mesh: const_ptr[b3MeshData], scale: b3Vec3) -> b3ShapeId
|
|
1592
|
+
external function b3CreateHeightFieldShape(bodyId: b3BodyId, def: const_ptr[b3ShapeDef], heightField: const_ptr[b3HeightFieldData]) -> b3ShapeId
|
|
1593
|
+
external function b3CreateBakedCompoundShape(bodyId: b3BodyId, def: ptr[b3ShapeDef], compound: const_ptr[b3CompoundData]) -> b3ShapeId
|
|
1594
|
+
external function b3DestroyShape(shapeId: b3ShapeId, updateBodyMass: bool) -> void
|
|
1595
|
+
external function b3Shape_IsValid(id: b3ShapeId) -> bool
|
|
1596
|
+
external function b3Shape_GetType(shapeId: b3ShapeId) -> b3ShapeType
|
|
1597
|
+
external function b3Shape_GetBody(shapeId: b3ShapeId) -> b3BodyId
|
|
1598
|
+
external function b3Shape_GetWorld(shapeId: b3ShapeId) -> b3WorldId
|
|
1599
|
+
external function b3Shape_IsSensor(shapeId: b3ShapeId) -> bool
|
|
1600
|
+
external function b3Shape_SetName(shapeId: b3ShapeId, name: cstr) -> void
|
|
1601
|
+
external function b3Shape_GetName(shapeId: b3ShapeId) -> cstr
|
|
1602
|
+
external function b3Shape_SetUserData(shapeId: b3ShapeId, userData: ptr[void]) -> void
|
|
1603
|
+
external function b3Shape_GetUserData(shapeId: b3ShapeId) -> ptr[void]
|
|
1604
|
+
external function b3Shape_SetDensity(shapeId: b3ShapeId, density: float, updateBodyMass: bool) -> void
|
|
1605
|
+
external function b3Shape_GetDensity(shapeId: b3ShapeId) -> float
|
|
1606
|
+
external function b3Shape_SetFriction(shapeId: b3ShapeId, friction: float) -> void
|
|
1607
|
+
external function b3Shape_GetFriction(shapeId: b3ShapeId) -> float
|
|
1608
|
+
external function b3Shape_SetRestitution(shapeId: b3ShapeId, restitution: float) -> void
|
|
1609
|
+
external function b3Shape_GetRestitution(shapeId: b3ShapeId) -> float
|
|
1610
|
+
external function b3Shape_SetSurfaceMaterial(shapeId: b3ShapeId, surfaceMaterial: b3SurfaceMaterial) -> void
|
|
1611
|
+
external function b3Shape_GetSurfaceMaterial(shapeId: b3ShapeId) -> b3SurfaceMaterial
|
|
1612
|
+
external function b3Shape_GetMeshMaterialCount(shapeId: b3ShapeId) -> int
|
|
1613
|
+
external function b3Shape_SetMeshMaterial(shapeId: b3ShapeId, surfaceMaterial: b3SurfaceMaterial, index: int) -> void
|
|
1614
|
+
external function b3Shape_GetMeshSurfaceMaterial(shapeId: b3ShapeId, index: int) -> b3SurfaceMaterial
|
|
1615
|
+
external function b3Shape_GetFilter(shapeId: b3ShapeId) -> b3Filter
|
|
1616
|
+
external function b3Shape_SetFilter(shapeId: b3ShapeId, filter: b3Filter, invokeContacts: bool) -> void
|
|
1617
|
+
external function b3Shape_EnableSensorEvents(shapeId: b3ShapeId, flag: bool) -> void
|
|
1618
|
+
external function b3Shape_AreSensorEventsEnabled(shapeId: b3ShapeId) -> bool
|
|
1619
|
+
external function b3Shape_EnableContactEvents(shapeId: b3ShapeId, flag: bool) -> void
|
|
1620
|
+
external function b3Shape_AreContactEventsEnabled(shapeId: b3ShapeId) -> bool
|
|
1621
|
+
external function b3Shape_EnablePreSolveEvents(shapeId: b3ShapeId, flag: bool) -> void
|
|
1622
|
+
external function b3Shape_ArePreSolveEventsEnabled(shapeId: b3ShapeId) -> bool
|
|
1623
|
+
external function b3Shape_EnableHitEvents(shapeId: b3ShapeId, flag: bool) -> void
|
|
1624
|
+
external function b3Shape_AreHitEventsEnabled(shapeId: b3ShapeId) -> bool
|
|
1625
|
+
external function b3Shape_RayCast(shapeId: b3ShapeId, origin: b3Vec3, translation: b3Vec3) -> b3WorldCastOutput
|
|
1626
|
+
external function b3Shape_GetSphere(shapeId: b3ShapeId) -> b3Sphere
|
|
1627
|
+
external function b3Shape_GetCapsule(shapeId: b3ShapeId) -> b3Capsule
|
|
1628
|
+
external function b3Shape_GetHull(shapeId: b3ShapeId) -> const_ptr[b3HullData]
|
|
1629
|
+
external function b3Shape_GetMesh(shapeId: b3ShapeId) -> b3Mesh
|
|
1630
|
+
external function b3Shape_GetHeightField(shapeId: b3ShapeId) -> const_ptr[b3HeightFieldData]
|
|
1631
|
+
external function b3Shape_SetSphere(shapeId: b3ShapeId, sphere: const_ptr[b3Sphere]) -> void
|
|
1632
|
+
external function b3Shape_SetCapsule(shapeId: b3ShapeId, capsule: const_ptr[b3Capsule]) -> void
|
|
1633
|
+
external function b3Shape_SetHull(shapeId: b3ShapeId, hull: const_ptr[b3HullData]) -> void
|
|
1634
|
+
external function b3Shape_SetMesh(shapeId: b3ShapeId, meshData: const_ptr[b3MeshData], scale: b3Vec3) -> void
|
|
1635
|
+
external function b3Shape_GetContactCapacity(shapeId: b3ShapeId) -> int
|
|
1636
|
+
external function b3Shape_GetContactData(shapeId: b3ShapeId, contactData: ptr[b3ContactData], capacity: int) -> int
|
|
1637
|
+
external function b3Shape_GetSensorCapacity(shapeId: b3ShapeId) -> int
|
|
1638
|
+
external function b3Shape_GetSensorData(shapeId: b3ShapeId, visitorIds: ptr[b3ShapeId], capacity: int) -> int
|
|
1639
|
+
external function b3Shape_GetAABB(shapeId: b3ShapeId) -> b3AABB
|
|
1640
|
+
external function b3Shape_ComputeMassData(shapeId: b3ShapeId) -> b3MassData
|
|
1641
|
+
external function b3Shape_GetClosestPoint(shapeId: b3ShapeId, target: b3Vec3) -> b3Vec3
|
|
1642
|
+
external function b3Shape_ApplyWind(shapeId: b3ShapeId, wind: b3Vec3, drag: float, lift: float, maxSpeed: float, wake: bool) -> void
|
|
1643
|
+
external function b3DestroyJoint(jointId: b3JointId, wakeAttached: bool) -> void
|
|
1644
|
+
external function b3Joint_IsValid(id: b3JointId) -> bool
|
|
1645
|
+
external function b3Joint_GetType(jointId: b3JointId) -> b3JointType
|
|
1646
|
+
external function b3Joint_GetBodyA(jointId: b3JointId) -> b3BodyId
|
|
1647
|
+
external function b3Joint_GetBodyB(jointId: b3JointId) -> b3BodyId
|
|
1648
|
+
external function b3Joint_GetWorld(jointId: b3JointId) -> b3WorldId
|
|
1649
|
+
external function b3Joint_SetLocalFrameA(jointId: b3JointId, localFrame: b3Transform) -> void
|
|
1650
|
+
external function b3Joint_GetLocalFrameA(jointId: b3JointId) -> b3Transform
|
|
1651
|
+
external function b3Joint_SetLocalFrameB(jointId: b3JointId, localFrame: b3Transform) -> void
|
|
1652
|
+
external function b3Joint_GetLocalFrameB(jointId: b3JointId) -> b3Transform
|
|
1653
|
+
external function b3Joint_SetCollideConnected(jointId: b3JointId, shouldCollide: bool) -> void
|
|
1654
|
+
external function b3Joint_GetCollideConnected(jointId: b3JointId) -> bool
|
|
1655
|
+
external function b3Joint_SetUserData(jointId: b3JointId, userData: ptr[void]) -> void
|
|
1656
|
+
external function b3Joint_GetUserData(jointId: b3JointId) -> ptr[void]
|
|
1657
|
+
external function b3Joint_WakeBodies(jointId: b3JointId) -> void
|
|
1658
|
+
external function b3Joint_GetConstraintForce(jointId: b3JointId) -> b3Vec3
|
|
1659
|
+
external function b3Joint_GetConstraintTorque(jointId: b3JointId) -> b3Vec3
|
|
1660
|
+
external function b3Joint_GetLinearSeparation(jointId: b3JointId) -> float
|
|
1661
|
+
external function b3Joint_GetAngularSeparation(jointId: b3JointId) -> float
|
|
1662
|
+
external function b3Joint_SetConstraintTuning(jointId: b3JointId, hertz: float, dampingRatio: float) -> void
|
|
1663
|
+
external function b3Joint_GetConstraintTuning(jointId: b3JointId, hertz: ptr[float], dampingRatio: ptr[float]) -> void
|
|
1664
|
+
external function b3Joint_SetForceThreshold(jointId: b3JointId, threshold: float) -> void
|
|
1665
|
+
external function b3Joint_GetForceThreshold(jointId: b3JointId) -> float
|
|
1666
|
+
external function b3Joint_SetTorqueThreshold(jointId: b3JointId, threshold: float) -> void
|
|
1667
|
+
external function b3Joint_GetTorqueThreshold(jointId: b3JointId) -> float
|
|
1668
|
+
external function b3CreateParallelJoint(worldId: b3WorldId, def: const_ptr[b3ParallelJointDef]) -> b3JointId
|
|
1669
|
+
external function b3ParallelJoint_SetSpringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1670
|
+
external function b3ParallelJoint_SetSpringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1671
|
+
external function b3ParallelJoint_GetSpringHertz(jointId: b3JointId) -> float
|
|
1672
|
+
external function b3ParallelJoint_GetSpringDampingRatio(jointId: b3JointId) -> float
|
|
1673
|
+
external function b3ParallelJoint_SetMaxTorque(jointId: b3JointId, force: float) -> void
|
|
1674
|
+
external function b3ParallelJoint_GetMaxTorque(jointId: b3JointId) -> float
|
|
1675
|
+
external function b3CreateDistanceJoint(worldId: b3WorldId, def: const_ptr[b3DistanceJointDef]) -> b3JointId
|
|
1676
|
+
external function b3DistanceJoint_SetLength(jointId: b3JointId, length: float) -> void
|
|
1677
|
+
external function b3DistanceJoint_GetLength(jointId: b3JointId) -> float
|
|
1678
|
+
external function b3DistanceJoint_EnableSpring(jointId: b3JointId, enableSpring: bool) -> void
|
|
1679
|
+
external function b3DistanceJoint_IsSpringEnabled(jointId: b3JointId) -> bool
|
|
1680
|
+
external function b3DistanceJoint_SetSpringForceRange(jointId: b3JointId, lowerForce: float, upperForce: float) -> void
|
|
1681
|
+
external function b3DistanceJoint_GetSpringForceRange(jointId: b3JointId, lowerForce: ptr[float], upperForce: ptr[float]) -> void
|
|
1682
|
+
external function b3DistanceJoint_SetSpringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1683
|
+
external function b3DistanceJoint_SetSpringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1684
|
+
external function b3DistanceJoint_GetSpringHertz(jointId: b3JointId) -> float
|
|
1685
|
+
external function b3DistanceJoint_GetSpringDampingRatio(jointId: b3JointId) -> float
|
|
1686
|
+
external function b3DistanceJoint_EnableLimit(jointId: b3JointId, enableLimit: bool) -> void
|
|
1687
|
+
external function b3DistanceJoint_IsLimitEnabled(jointId: b3JointId) -> bool
|
|
1688
|
+
external function b3DistanceJoint_SetLengthRange(jointId: b3JointId, minLength: float, maxLength: float) -> void
|
|
1689
|
+
external function b3DistanceJoint_GetMinLength(jointId: b3JointId) -> float
|
|
1690
|
+
external function b3DistanceJoint_GetMaxLength(jointId: b3JointId) -> float
|
|
1691
|
+
external function b3DistanceJoint_GetCurrentLength(jointId: b3JointId) -> float
|
|
1692
|
+
external function b3DistanceJoint_EnableMotor(jointId: b3JointId, enableMotor: bool) -> void
|
|
1693
|
+
external function b3DistanceJoint_IsMotorEnabled(jointId: b3JointId) -> bool
|
|
1694
|
+
external function b3DistanceJoint_SetMotorSpeed(jointId: b3JointId, motorSpeed: float) -> void
|
|
1695
|
+
external function b3DistanceJoint_GetMotorSpeed(jointId: b3JointId) -> float
|
|
1696
|
+
external function b3DistanceJoint_SetMaxMotorForce(jointId: b3JointId, force: float) -> void
|
|
1697
|
+
external function b3DistanceJoint_GetMaxMotorForce(jointId: b3JointId) -> float
|
|
1698
|
+
external function b3DistanceJoint_GetMotorForce(jointId: b3JointId) -> float
|
|
1699
|
+
external function b3CreateMotorJoint(worldId: b3WorldId, def: const_ptr[b3MotorJointDef]) -> b3JointId
|
|
1700
|
+
external function b3MotorJoint_SetLinearVelocity(jointId: b3JointId, velocity: b3Vec3) -> void
|
|
1701
|
+
external function b3MotorJoint_GetLinearVelocity(jointId: b3JointId) -> b3Vec3
|
|
1702
|
+
external function b3MotorJoint_SetAngularVelocity(jointId: b3JointId, velocity: b3Vec3) -> void
|
|
1703
|
+
external function b3MotorJoint_GetAngularVelocity(jointId: b3JointId) -> b3Vec3
|
|
1704
|
+
external function b3MotorJoint_SetMaxVelocityForce(jointId: b3JointId, maxForce: float) -> void
|
|
1705
|
+
external function b3MotorJoint_GetMaxVelocityForce(jointId: b3JointId) -> float
|
|
1706
|
+
external function b3MotorJoint_SetMaxVelocityTorque(jointId: b3JointId, maxTorque: float) -> void
|
|
1707
|
+
external function b3MotorJoint_GetMaxVelocityTorque(jointId: b3JointId) -> float
|
|
1708
|
+
external function b3MotorJoint_SetLinearHertz(jointId: b3JointId, hertz: float) -> void
|
|
1709
|
+
external function b3MotorJoint_GetLinearHertz(jointId: b3JointId) -> float
|
|
1710
|
+
external function b3MotorJoint_SetLinearDampingRatio(jointId: b3JointId, damping: float) -> void
|
|
1711
|
+
external function b3MotorJoint_GetLinearDampingRatio(jointId: b3JointId) -> float
|
|
1712
|
+
external function b3MotorJoint_SetAngularHertz(jointId: b3JointId, hertz: float) -> void
|
|
1713
|
+
external function b3MotorJoint_GetAngularHertz(jointId: b3JointId) -> float
|
|
1714
|
+
external function b3MotorJoint_SetAngularDampingRatio(jointId: b3JointId, damping: float) -> void
|
|
1715
|
+
external function b3MotorJoint_GetAngularDampingRatio(jointId: b3JointId) -> float
|
|
1716
|
+
external function b3MotorJoint_SetMaxSpringForce(jointId: b3JointId, maxForce: float) -> void
|
|
1717
|
+
external function b3MotorJoint_GetMaxSpringForce(jointId: b3JointId) -> float
|
|
1718
|
+
external function b3MotorJoint_SetMaxSpringTorque(jointId: b3JointId, maxTorque: float) -> void
|
|
1719
|
+
external function b3MotorJoint_GetMaxSpringTorque(jointId: b3JointId) -> float
|
|
1720
|
+
external function b3CreateFilterJoint(worldId: b3WorldId, def: const_ptr[b3FilterJointDef]) -> b3JointId
|
|
1721
|
+
external function b3CreatePrismaticJoint(worldId: b3WorldId, def: const_ptr[b3PrismaticJointDef]) -> b3JointId
|
|
1722
|
+
external function b3PrismaticJoint_EnableSpring(jointId: b3JointId, enableSpring: bool) -> void
|
|
1723
|
+
external function b3PrismaticJoint_IsSpringEnabled(jointId: b3JointId) -> bool
|
|
1724
|
+
external function b3PrismaticJoint_SetSpringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1725
|
+
external function b3PrismaticJoint_GetSpringHertz(jointId: b3JointId) -> float
|
|
1726
|
+
external function b3PrismaticJoint_SetSpringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1727
|
+
external function b3PrismaticJoint_GetSpringDampingRatio(jointId: b3JointId) -> float
|
|
1728
|
+
external function b3PrismaticJoint_SetTargetTranslation(jointId: b3JointId, targetTranslation: float) -> void
|
|
1729
|
+
external function b3PrismaticJoint_GetTargetTranslation(jointId: b3JointId) -> float
|
|
1730
|
+
external function b3PrismaticJoint_EnableLimit(jointId: b3JointId, enableLimit: bool) -> void
|
|
1731
|
+
external function b3PrismaticJoint_IsLimitEnabled(jointId: b3JointId) -> bool
|
|
1732
|
+
external function b3PrismaticJoint_GetLowerLimit(jointId: b3JointId) -> float
|
|
1733
|
+
external function b3PrismaticJoint_GetUpperLimit(jointId: b3JointId) -> float
|
|
1734
|
+
external function b3PrismaticJoint_SetLimits(jointId: b3JointId, lower: float, upper: float) -> void
|
|
1735
|
+
external function b3PrismaticJoint_EnableMotor(jointId: b3JointId, enableMotor: bool) -> void
|
|
1736
|
+
external function b3PrismaticJoint_IsMotorEnabled(jointId: b3JointId) -> bool
|
|
1737
|
+
external function b3PrismaticJoint_SetMotorSpeed(jointId: b3JointId, motorSpeed: float) -> void
|
|
1738
|
+
external function b3PrismaticJoint_GetMotorSpeed(jointId: b3JointId) -> float
|
|
1739
|
+
external function b3PrismaticJoint_SetMaxMotorForce(jointId: b3JointId, force: float) -> void
|
|
1740
|
+
external function b3PrismaticJoint_GetMaxMotorForce(jointId: b3JointId) -> float
|
|
1741
|
+
external function b3PrismaticJoint_GetMotorForce(jointId: b3JointId) -> float
|
|
1742
|
+
external function b3PrismaticJoint_GetTranslation(jointId: b3JointId) -> float
|
|
1743
|
+
external function b3PrismaticJoint_GetSpeed(jointId: b3JointId) -> float
|
|
1744
|
+
external function b3CreateRevoluteJoint(worldId: b3WorldId, def: const_ptr[b3RevoluteJointDef]) -> b3JointId
|
|
1745
|
+
external function b3RevoluteJoint_EnableSpring(jointId: b3JointId, enableSpring: bool) -> void
|
|
1746
|
+
external function b3RevoluteJoint_IsSpringEnabled(jointId: b3JointId) -> bool
|
|
1747
|
+
external function b3RevoluteJoint_SetSpringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1748
|
+
external function b3RevoluteJoint_GetSpringHertz(jointId: b3JointId) -> float
|
|
1749
|
+
external function b3RevoluteJoint_SetSpringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1750
|
+
external function b3RevoluteJoint_GetSpringDampingRatio(jointId: b3JointId) -> float
|
|
1751
|
+
external function b3RevoluteJoint_SetTargetAngle(jointId: b3JointId, targetRadians: float) -> void
|
|
1752
|
+
external function b3RevoluteJoint_GetTargetAngle(jointId: b3JointId) -> float
|
|
1753
|
+
external function b3RevoluteJoint_GetAngle(jointId: b3JointId) -> float
|
|
1754
|
+
external function b3RevoluteJoint_EnableLimit(jointId: b3JointId, enableLimit: bool) -> void
|
|
1755
|
+
external function b3RevoluteJoint_IsLimitEnabled(jointId: b3JointId) -> bool
|
|
1756
|
+
external function b3RevoluteJoint_GetLowerLimit(jointId: b3JointId) -> float
|
|
1757
|
+
external function b3RevoluteJoint_GetUpperLimit(jointId: b3JointId) -> float
|
|
1758
|
+
external function b3RevoluteJoint_SetLimits(jointId: b3JointId, lowerLimitRadians: float, upperLimitRadians: float) -> void
|
|
1759
|
+
external function b3RevoluteJoint_EnableMotor(jointId: b3JointId, enableMotor: bool) -> void
|
|
1760
|
+
external function b3RevoluteJoint_IsMotorEnabled(jointId: b3JointId) -> bool
|
|
1761
|
+
external function b3RevoluteJoint_SetMotorSpeed(jointId: b3JointId, motorSpeed: float) -> void
|
|
1762
|
+
external function b3RevoluteJoint_GetMotorSpeed(jointId: b3JointId) -> float
|
|
1763
|
+
external function b3RevoluteJoint_GetMotorTorque(jointId: b3JointId) -> float
|
|
1764
|
+
external function b3RevoluteJoint_SetMaxMotorTorque(jointId: b3JointId, torque: float) -> void
|
|
1765
|
+
external function b3RevoluteJoint_GetMaxMotorTorque(jointId: b3JointId) -> float
|
|
1766
|
+
external function b3CreateSphericalJoint(worldId: b3WorldId, def: const_ptr[b3SphericalJointDef]) -> b3JointId
|
|
1767
|
+
external function b3SphericalJoint_EnableConeLimit(jointId: b3JointId, enableLimit: bool) -> void
|
|
1768
|
+
external function b3SphericalJoint_IsConeLimitEnabled(jointId: b3JointId) -> bool
|
|
1769
|
+
external function b3SphericalJoint_GetConeLimit(jointId: b3JointId) -> float
|
|
1770
|
+
external function b3SphericalJoint_SetConeLimit(jointId: b3JointId, angleRadians: float) -> void
|
|
1771
|
+
external function b3SphericalJoint_GetConeAngle(jointId: b3JointId) -> float
|
|
1772
|
+
external function b3SphericalJoint_EnableTwistLimit(jointId: b3JointId, enableLimit: bool) -> void
|
|
1773
|
+
external function b3SphericalJoint_IsTwistLimitEnabled(jointId: b3JointId) -> bool
|
|
1774
|
+
external function b3SphericalJoint_GetLowerTwistLimit(jointId: b3JointId) -> float
|
|
1775
|
+
external function b3SphericalJoint_GetUpperTwistLimit(jointId: b3JointId) -> float
|
|
1776
|
+
external function b3SphericalJoint_SetTwistLimits(jointId: b3JointId, lowerLimitRadians: float, upperLimitRadians: float) -> void
|
|
1777
|
+
external function b3SphericalJoint_GetTwistAngle(jointId: b3JointId) -> float
|
|
1778
|
+
external function b3SphericalJoint_EnableSpring(jointId: b3JointId, enableSpring: bool) -> void
|
|
1779
|
+
external function b3SphericalJoint_IsSpringEnabled(jointId: b3JointId) -> bool
|
|
1780
|
+
external function b3SphericalJoint_SetSpringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1781
|
+
external function b3SphericalJoint_GetSpringHertz(jointId: b3JointId) -> float
|
|
1782
|
+
external function b3SphericalJoint_SetSpringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1783
|
+
external function b3SphericalJoint_GetSpringDampingRatio(jointId: b3JointId) -> float
|
|
1784
|
+
external function b3SphericalJoint_SetTargetRotation(jointId: b3JointId, targetRotation: b3Quat) -> void
|
|
1785
|
+
external function b3SphericalJoint_GetTargetRotation(jointId: b3JointId) -> b3Quat
|
|
1786
|
+
external function b3SphericalJoint_EnableMotor(jointId: b3JointId, enableMotor: bool) -> void
|
|
1787
|
+
external function b3SphericalJoint_IsMotorEnabled(jointId: b3JointId) -> bool
|
|
1788
|
+
external function b3SphericalJoint_SetMotorVelocity(jointId: b3JointId, motorVelocity: b3Vec3) -> void
|
|
1789
|
+
external function b3SphericalJoint_GetMotorVelocity(jointId: b3JointId) -> b3Vec3
|
|
1790
|
+
external function b3SphericalJoint_GetMotorTorque(jointId: b3JointId) -> b3Vec3
|
|
1791
|
+
external function b3SphericalJoint_SetMaxMotorTorque(jointId: b3JointId, torque: float) -> void
|
|
1792
|
+
external function b3SphericalJoint_GetMaxMotorTorque(jointId: b3JointId) -> float
|
|
1793
|
+
external function b3CreateWeldJoint(worldId: b3WorldId, def: const_ptr[b3WeldJointDef]) -> b3JointId
|
|
1794
|
+
external function b3WeldJoint_SetLinearHertz(jointId: b3JointId, hertz: float) -> void
|
|
1795
|
+
external function b3WeldJoint_GetLinearHertz(jointId: b3JointId) -> float
|
|
1796
|
+
external function b3WeldJoint_SetLinearDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1797
|
+
external function b3WeldJoint_GetLinearDampingRatio(jointId: b3JointId) -> float
|
|
1798
|
+
external function b3WeldJoint_SetAngularHertz(jointId: b3JointId, hertz: float) -> void
|
|
1799
|
+
external function b3WeldJoint_GetAngularHertz(jointId: b3JointId) -> float
|
|
1800
|
+
external function b3WeldJoint_SetAngularDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1801
|
+
external function b3WeldJoint_GetAngularDampingRatio(jointId: b3JointId) -> float
|
|
1802
|
+
external function b3CreateWheelJoint(worldId: b3WorldId, def: const_ptr[b3WheelJointDef]) -> b3JointId
|
|
1803
|
+
external function b3WheelJoint_EnableSuspension(jointId: b3JointId, flag: bool) -> void
|
|
1804
|
+
external function b3WheelJoint_IsSuspensionEnabled(jointId: b3JointId) -> bool
|
|
1805
|
+
external function b3WheelJoint_SetSuspensionHertz(jointId: b3JointId, hertz: float) -> void
|
|
1806
|
+
external function b3WheelJoint_GetSuspensionHertz(jointId: b3JointId) -> float
|
|
1807
|
+
external function b3WheelJoint_SetSuspensionDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1808
|
+
external function b3WheelJoint_GetSuspensionDampingRatio(jointId: b3JointId) -> float
|
|
1809
|
+
external function b3WheelJoint_EnableSuspensionLimit(jointId: b3JointId, flag: bool) -> void
|
|
1810
|
+
external function b3WheelJoint_IsSuspensionLimitEnabled(jointId: b3JointId) -> bool
|
|
1811
|
+
external function b3WheelJoint_GetLowerSuspensionLimit(jointId: b3JointId) -> float
|
|
1812
|
+
external function b3WheelJoint_GetUpperSuspensionLimit(jointId: b3JointId) -> float
|
|
1813
|
+
external function b3WheelJoint_SetSuspensionLimits(jointId: b3JointId, lower: float, upper: float) -> void
|
|
1814
|
+
external function b3WheelJoint_EnableSpinMotor(jointId: b3JointId, flag: bool) -> void
|
|
1815
|
+
external function b3WheelJoint_IsSpinMotorEnabled(jointId: b3JointId) -> bool
|
|
1816
|
+
external function b3WheelJoint_SetSpinMotorSpeed(jointId: b3JointId, speed: float) -> void
|
|
1817
|
+
external function b3WheelJoint_GetSpinMotorSpeed(jointId: b3JointId) -> float
|
|
1818
|
+
external function b3WheelJoint_SetMaxSpinTorque(jointId: b3JointId, torque: float) -> void
|
|
1819
|
+
external function b3WheelJoint_GetMaxSpinTorque(jointId: b3JointId) -> float
|
|
1820
|
+
external function b3WheelJoint_GetSpinSpeed(jointId: b3JointId) -> float
|
|
1821
|
+
external function b3WheelJoint_GetSpinTorque(jointId: b3JointId) -> float
|
|
1822
|
+
external function b3WheelJoint_EnableSteering(jointId: b3JointId, flag: bool) -> void
|
|
1823
|
+
external function b3WheelJoint_IsSteeringEnabled(jointId: b3JointId) -> bool
|
|
1824
|
+
external function b3WheelJoint_SetSteeringHertz(jointId: b3JointId, hertz: float) -> void
|
|
1825
|
+
external function b3WheelJoint_GetSteeringHertz(jointId: b3JointId) -> float
|
|
1826
|
+
external function b3WheelJoint_SetSteeringDampingRatio(jointId: b3JointId, dampingRatio: float) -> void
|
|
1827
|
+
external function b3WheelJoint_GetSteeringDampingRatio(jointId: b3JointId) -> float
|
|
1828
|
+
external function b3WheelJoint_SetMaxSteeringTorque(jointId: b3JointId, torque: float) -> void
|
|
1829
|
+
external function b3WheelJoint_GetMaxSteeringTorque(jointId: b3JointId) -> float
|
|
1830
|
+
external function b3WheelJoint_EnableSteeringLimit(jointId: b3JointId, flag: bool) -> void
|
|
1831
|
+
external function b3WheelJoint_IsSteeringLimitEnabled(jointId: b3JointId) -> bool
|
|
1832
|
+
external function b3WheelJoint_GetLowerSteeringLimit(jointId: b3JointId) -> float
|
|
1833
|
+
external function b3WheelJoint_GetUpperSteeringLimit(jointId: b3JointId) -> float
|
|
1834
|
+
external function b3WheelJoint_SetSteeringLimits(jointId: b3JointId, lowerRadians: float, upperRadians: float) -> void
|
|
1835
|
+
external function b3WheelJoint_SetTargetSteeringAngle(jointId: b3JointId, radians: float) -> void
|
|
1836
|
+
external function b3WheelJoint_GetTargetSteeringAngle(jointId: b3JointId) -> float
|
|
1837
|
+
external function b3WheelJoint_GetSteeringAngle(jointId: b3JointId) -> float
|
|
1838
|
+
external function b3WheelJoint_GetSteeringTorque(jointId: b3JointId) -> float
|
|
1839
|
+
external function b3Contact_IsValid(id: b3ContactId) -> bool
|
|
1840
|
+
external function b3Contact_GetData(contactId: b3ContactId) -> b3ContactData
|
|
1841
|
+
|
|
1842
|
+
const B3_ENABLE_VALIDATION: int = 0
|
|
1843
|
+
const B3_NULL_INDEX: int = -1
|
|
1844
|
+
const B3_HASH_INIT: int = 5381
|
|
1845
|
+
const B3_PI: float = 3.14159274
|
|
1846
|
+
const B3_DEG_TO_RAD: float = 0.0174532924
|
|
1847
|
+
const B3_RAD_TO_DEG: float = 57.2957802
|
|
1848
|
+
const B3_MIN_SCALE: float = 0.00999999977
|
|
1849
|
+
const B3_MAX_WORKERS: int = 32
|
|
1850
|
+
const B3_MAX_TASKS: int = 256
|
|
1851
|
+
const B3_GRAPH_COLOR_COUNT: int = 24
|
|
1852
|
+
const B3_CONTACT_MANIFOLD_COUNT_BUCKETS: int = 8
|
|
1853
|
+
const B3_MIN_FRICTION_WEIGHT: float = 1.00000001E-10
|
|
1854
|
+
const B3_MAX_WORLDS: int = 128
|
|
1855
|
+
const B3_CONTACT_RECYCLE_ANGULAR_DISTANCE: float = 0.992403864
|
|
1856
|
+
const B3_AABB_MARGIN_FRACTION: float = 0.125
|
|
1857
|
+
const B3_TIME_TO_SLEEP: float = 0.5
|
|
1858
|
+
const B3_MAX_MANIFOLD_POINTS: int = 4
|
|
1859
|
+
const B3_GYROSCOPIC_ITERATIONS: int = 1
|
|
1860
|
+
const B3_MAX_HULL_VERTICES: int = 128
|
|
1861
|
+
const B3_MAX_HULL_FACES: int = 128
|
|
1862
|
+
const B3_MAX_HULL_EDGES: int = 128
|
|
1863
|
+
const B3_PARALLEL_EDGE_TOL: float = 0.00499999989
|
|
1864
|
+
const B3_SHAPE_POWER: int = 22
|
|
1865
|
+
const B3_RESTITUTION_ITERATIONS: int = 1
|
|
1866
|
+
const B3_DYNAMIC_TREE_VERSION: ulong = 10659368894387653450
|
|
1867
|
+
const B3_HULL_VERSION: ulong = 5353818467820062812
|
|
1868
|
+
const B3_MESH_VERSION: ulong = 12298092536310311671
|
|
1869
|
+
const B3_HEIGHT_FIELD_HOLE: int = 255
|
|
1870
|
+
const B3_HEIGHT_FIELD_VERSION: ulong = 10250727093210466552
|
|
1871
|
+
const B3_MAX_COMPOUND_MESH_MATERIALS: int = 4
|