@gg-web-engine/ammo 0.0.30 → 0.0.37

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.
@@ -0,0 +1,2577 @@
1
+ declare function Ammo<T>(target?: T): Promise<T & typeof Ammo>;
2
+ declare module Ammo {
3
+ function destroy(obj: any): void;
4
+ function getPointer(obj: any): number;
5
+ function compare(obj1: any, obj2: any): boolean;
6
+ function _malloc(size: number): number;
7
+ function _free(ptr: number): void;
8
+ const HEAP8: Int8Array;
9
+ const HEAP16: Int16Array;
10
+ const HEAP32: Int32Array;
11
+ const HEAPU8: Uint8Array;
12
+ const HEAPU16: Uint16Array;
13
+ const HEAPU32: Uint32Array;
14
+ const HEAPF32: Float32Array;
15
+ const HEAPF64: Float64Array;
16
+ class TopLevelFunctions {
17
+ quatRotate_(rotation: btQuaternion, v: btVector3): btVector3;
18
+ set_gContactAddedCallback(cb: unknown): void;
19
+ }
20
+ class AdapterFunctions {
21
+ setInternalTickCallback(world: btDynamicsWorld, cb: unknown, worldUserInfo?: unknown, isPreTick?: boolean): void;
22
+ }
23
+ class Clone {
24
+ Vector3(v: btVector3): btVector3;
25
+ Quaternion(q: btQuaternion): btQuaternion;
26
+ }
27
+ class btIDebugDraw {
28
+ drawLine(from: btVector3, to: btVector3, color: btVector3): void;
29
+ drawContactPoint(
30
+ pointOnB: btVector3,
31
+ normalOnB: btVector3,
32
+ distance: number,
33
+ lifeTime: number,
34
+ color: btVector3,
35
+ ): void;
36
+ reportErrorWarning(warningString: string): void;
37
+ draw3dText(location: btVector3, textString: string): void;
38
+ setDebugMode(debugMode: number): void;
39
+ getDebugMode(): number;
40
+ }
41
+ class DebugDrawer {
42
+ constructor();
43
+ drawLine(from: btVector3, to: btVector3, color: btVector3): void;
44
+ drawContactPoint(
45
+ pointOnB: btVector3,
46
+ normalOnB: btVector3,
47
+ distance: number,
48
+ lifeTime: number,
49
+ color: btVector3,
50
+ ): void;
51
+ reportErrorWarning(warningString: string): void;
52
+ draw3dText(location: btVector3, textString: string): void;
53
+ setDebugMode(debugMode: number): void;
54
+ getDebugMode(): number;
55
+ }
56
+ class btVector3 {
57
+ constructor();
58
+ constructor(x: number, y: number, z: number);
59
+ length(): number;
60
+ x(): number;
61
+ y(): number;
62
+ z(): number;
63
+ setX(x: number): void;
64
+ setY(y: number): void;
65
+ setZ(z: number): void;
66
+ setValue(x: number, y: number, z: number): void;
67
+ normalize(): void;
68
+ normalized(): btVector3;
69
+ rotate(wAxis: btVector3, angle: number): btVector3;
70
+ dot(v: btVector3): number;
71
+ angle(v: btVector3): number;
72
+ absolute(): btVector3;
73
+ cross(v: btVector3): btVector3;
74
+ triple(v1: btVector3, v2: btVector3): number;
75
+ minAxis(): number;
76
+ maxAxis(): number;
77
+ furthestAxis(): number;
78
+ closestAxis(): number;
79
+ setInterpolate3(v0: btVector3, v1: btVector3, rt: number): void;
80
+ op_mul(x: number): btVector3;
81
+ op_add(v: btVector3): btVector3;
82
+ op_sub(v: btVector3): btVector3;
83
+ }
84
+ class btVector4 extends btVector3 {
85
+ constructor();
86
+ constructor(x: number, y: number, z: number, w: number);
87
+ w(): number;
88
+ absolute4(): btVector4;
89
+ maxAxis4(): number;
90
+ minAxis4(): number;
91
+ closestAxis4(): number;
92
+ op_set(v: btVector4): void;
93
+ length(): number;
94
+ x(): number;
95
+ y(): number;
96
+ z(): number;
97
+ setX(x: number): void;
98
+ setY(y: number): void;
99
+ setZ(z: number): void;
100
+ normalize(): void;
101
+ normalized(): btVector3;
102
+ rotate(wAxis: btVector3, angle: number): btVector3;
103
+ dot(v: btVector3): number;
104
+ angle(v: btVector3): number;
105
+ absolute(): btVector3;
106
+ cross(v: btVector3): btVector3;
107
+ triple(v1: btVector3, v2: btVector3): number;
108
+ minAxis(): number;
109
+ maxAxis(): number;
110
+ furthestAxis(): number;
111
+ closestAxis(): number;
112
+ setInterpolate3(v0: btVector3, v1: btVector3, rt: number): void;
113
+ op_mul(x: number): btVector3;
114
+ op_add(v: btVector3): btVector3;
115
+ op_sub(v: btVector3): btVector3;
116
+ }
117
+ class btQuadWord {
118
+ x(): number;
119
+ y(): number;
120
+ z(): number;
121
+ w(): number;
122
+ setX(x: number): void;
123
+ setY(y: number): void;
124
+ setZ(z: number): void;
125
+ setW(w: number): void;
126
+ }
127
+ class btQuaternion extends btQuadWord {
128
+ constructor();
129
+ constructor(x: number, y: number, z: number, w: number);
130
+ setValue(x: number, y: number, z: number, w: number): void;
131
+ setEulerZYX(z: number, y: number, x: number): void;
132
+ setRotation(axis: btVector3, angle: number): void;
133
+ normalize(): void;
134
+ length2(): number;
135
+ length(): number;
136
+ dot(q: btQuaternion): number;
137
+ normalized(): btQuaternion;
138
+ getAxis(): btVector3;
139
+ inverse(): btQuaternion;
140
+ getAngle(): number;
141
+ getAngleShortestPath(): number;
142
+ angle(q: btQuaternion): number;
143
+ angleShortestPath(q: btQuaternion): number;
144
+ op_add(q: btQuaternion): btQuaternion;
145
+ op_sub(q: btQuaternion): btQuaternion;
146
+ op_mul(s: number): btQuaternion;
147
+ op_mulq(q: btQuaternion): btQuaternion;
148
+ op_div(s: number): btQuaternion;
149
+ }
150
+ class btMatrix3x3 {
151
+ setEulerZYX(ex: number, ey: number, ez: number): void;
152
+ getRotation(q: btQuaternion): void;
153
+ getRow(y: number): btVector3;
154
+ }
155
+ class btTransform {
156
+ constructor();
157
+ constructor(q: btQuaternion, v: btVector3);
158
+ setIdentity(): void;
159
+ setOrigin(origin: btVector3): void;
160
+ setRotation(rotation: btQuaternion): void;
161
+ getOrigin(): btVector3;
162
+ getRotation(): btQuaternion;
163
+ getBasis(): btMatrix3x3;
164
+ setFromOpenGLMatrix(m: ReadonlyArray<number>): void;
165
+ inverse(): btTransform;
166
+ op_mul(t: btTransform): btTransform;
167
+ }
168
+ class btMotionState {
169
+ getWorldTransform(worldTrans: btTransform): void;
170
+ setWorldTransform(worldTrans: btTransform): void;
171
+ }
172
+ class MotionState {
173
+ constructor();
174
+ getWorldTransform(worldTrans: btTransform): void;
175
+ setWorldTransform(worldTrans: btTransform): void;
176
+ }
177
+ class btDefaultMotionState extends btMotionState {
178
+ constructor(startTrans?: btTransform, centerOfMassOffset?: btTransform);
179
+ get_m_graphicsWorldTrans(): btTransform;
180
+ set_m_graphicsWorldTrans(m_graphicsWorldTrans: btTransform): void;
181
+ m_graphicsWorldTrans: btTransform;
182
+ }
183
+ class btSpatialForceVector {
184
+ get_m_topVec(): btVector3;
185
+ set_m_topVec(m_topVec: btVector3): void;
186
+ m_topVec: btVector3;
187
+ get_m_bottomVec(): btVector3;
188
+ set_m_bottomVec(m_bottomVec: btVector3): void;
189
+ m_bottomVec: btVector3;
190
+ constructor();
191
+ constructor(angular: btVector3, linear: btVector3);
192
+ setVector(angular: btVector3, linear: btVector3): void;
193
+ addVector(angular: btVector3, linear: btVector3): void;
194
+ getLinear(): btVector3;
195
+ getAngular(): btVector3;
196
+ setLinear(linear: btVector3): void;
197
+ setAngular(angular: btVector3): void;
198
+ addAngular(angular: btVector3): void;
199
+ addLinear(linear: btVector3): void;
200
+ setZero(): void;
201
+ op_add(vec: btSpatialForceVector): btSpatialForceVector;
202
+ op_sub(vec: btSpatialForceVector): btSpatialForceVector;
203
+ }
204
+ class btSpatialMotionVector {
205
+ get_m_topVec(): btVector3;
206
+ set_m_topVec(m_topVec: btVector3): void;
207
+ m_topVec: btVector3;
208
+ get_m_bottomVec(): btVector3;
209
+ set_m_bottomVec(m_bottomVec: btVector3): void;
210
+ m_bottomVec: btVector3;
211
+ constructor();
212
+ constructor(angular: btVector3, linear: btVector3);
213
+ setVector(angular: btVector3, linear: btVector3): void;
214
+ addVector(angular: btVector3, linear: btVector3): void;
215
+ getAngular(): btVector3;
216
+ getLinear(): btVector3;
217
+ setAngular(angular: btVector3): void;
218
+ setLinear(linear: btVector3): void;
219
+ addAngular(angular: btVector3): void;
220
+ addLinear(linear: btVector3): void;
221
+ setZero(): void;
222
+ dot(b: btSpatialForceVector): number;
223
+ op_add(vec: btSpatialMotionVector): btSpatialMotionVector;
224
+ op_sub(vec: btSpatialMotionVector): btSpatialMotionVector;
225
+ }
226
+ class btSymmetricSpatialDyad {
227
+ get_m_topLeftMat(): btMatrix3x3;
228
+ set_m_topLeftMat(m_topLeftMat: btMatrix3x3): void;
229
+ m_topLeftMat: btMatrix3x3;
230
+ get_m_topRightMat(): btMatrix3x3;
231
+ set_m_topRightMat(m_topRightMat: btMatrix3x3): void;
232
+ m_topRightMat: btMatrix3x3;
233
+ get_m_bottomLeftMat(): btMatrix3x3;
234
+ set_m_bottomLeftMat(m_bottomLeftMat: btMatrix3x3): void;
235
+ m_bottomLeftMat: btMatrix3x3;
236
+ constructor();
237
+ constructor(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3);
238
+ setMatrix(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3): void;
239
+ addMatrix(topLeftMat: btMatrix3x3, topRightMat: btMatrix3x3, bottomLeftMat: btMatrix3x3): void;
240
+ setIdentity(): void;
241
+ op_sub(mat: btSymmetricSpatialDyad): btSymmetricSpatialDyad;
242
+ }
243
+ type btCollisionObject_CollisionFlags =
244
+ | 'btCollisionObject::CF_DYNAMIC_OBJECT'
245
+ | 'btCollisionObject::CF_STATIC_OBJECT'
246
+ | 'btCollisionObject::CF_KINEMATIC_OBJECT'
247
+ | 'btCollisionObject::CF_NO_CONTACT_RESPONSE'
248
+ | 'btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK'
249
+ | 'btCollisionObject::CF_CHARACTER_OBJECT'
250
+ | 'btCollisionObject::CF_DISABLE_VISUALIZE_OBJECT'
251
+ | 'btCollisionObject::CF_DISABLE_SPU_COLLISION_PROCESSING'
252
+ | 'btCollisionObject::CF_HAS_CONTACT_STIFFNESS_DAMPING'
253
+ | 'btCollisionObject::CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR'
254
+ | 'btCollisionObject::CF_HAS_FRICTION_ANCHOR'
255
+ | 'btCollisionObject::CF_HAS_COLLISION_SOUND_TRIGGER';
256
+ type btCollisionObject_CollisionObjectTypes =
257
+ | 'btCollisionObject::CO_COLLISION_OBJECT'
258
+ | 'btCollisionObject::CO_RIGID_BODY'
259
+ | 'btCollisionObject::CO_GHOST_OBJECT'
260
+ | 'btCollisionObject::CO_SOFT_BODY'
261
+ | 'btCollisionObject::CO_HF_FLUID'
262
+ | 'btCollisionObject::CO_USER_TYPE'
263
+ | 'btCollisionObject::CO_FEATHERSTONE_LINK';
264
+ type btCollisionObject_AnisotropicFrictionFlags =
265
+ | 'btCollisionObject::CF_ANISOTROPIC_FRICTION_DISABLED'
266
+ | 'btCollisionObject::CF_ANISOTROPIC_FRICTION'
267
+ | 'btCollisionObject::CF_ANISOTROPIC_ROLLING_FRICTION';
268
+ class btCollisionObject {
269
+ getAnisotropicFriction(): btVector3;
270
+ setAnisotropicFriction(anisotropicFriction: btVector3, frictionMode: number): void;
271
+ hasAnisotropicFriction(frictionMode?: number): boolean;
272
+ getCollisionShape(): btCollisionShape;
273
+ getContactProcessingThreshold(): number;
274
+ setContactProcessingThreshold(contactProcessingThreshold: number): void;
275
+ getActivationState(): number;
276
+ setActivationState(newState: number): void;
277
+ forceActivationState(newState: number): void;
278
+ activate(forceActivation?: boolean): void;
279
+ setDeactivationTime(time: number): void;
280
+ getDeactivationTime(): number;
281
+ isActive(): boolean;
282
+ isKinematicObject(): boolean;
283
+ isStaticObject(): boolean;
284
+ isStaticOrKinematicObject(): boolean;
285
+ getRestitution(): number;
286
+ getFriction(): number;
287
+ getRollingFriction(): number;
288
+ getSpinningFriction(): number;
289
+ getContactStiffness(): number;
290
+ getContactDamping(): number;
291
+ setRestitution(rest: number): void;
292
+ setFriction(frict: number): void;
293
+ setRollingFriction(frict: number): void;
294
+ setSpinningFriction(frict: number): void;
295
+ setContactStiffnessAndDamping(stiffness: number, damping: number): void;
296
+ getWorldTransform(): btTransform;
297
+ getCollisionFlags(): number;
298
+ setCollisionFlags(flags: number): void;
299
+ setWorldTransform(worldTrans: btTransform): void;
300
+ setCollisionShape(collisionShape: btCollisionShape): void;
301
+ setCcdMotionThreshold(ccdMotionThreshold: number): void;
302
+ setCcdSweptSphereRadius(radius: number): void;
303
+ getUserIndex(): number;
304
+ getUserIndex2(): number;
305
+ getUserIndex3(): number;
306
+ setUserIndex(index: number): void;
307
+ setUserIndex2(index: number): void;
308
+ setUserIndex3(index: number): void;
309
+ getUserPointer(): unknown;
310
+ setUserPointer(userPointer: unknown): void;
311
+ getBroadphaseHandle(): btBroadphaseProxy;
312
+ }
313
+ class btCollisionObjectWrapper {
314
+ getWorldTransform(): btTransform;
315
+ getCollisionObject(): btCollisionObject;
316
+ getCollisionShape(): btCollisionShape;
317
+ }
318
+ class RayResultCallback {
319
+ hasHit(): boolean;
320
+ get_m_collisionFilterGroup(): number;
321
+ set_m_collisionFilterGroup(m_collisionFilterGroup: number): void;
322
+ m_collisionFilterGroup: number;
323
+ get_m_collisionFilterMask(): number;
324
+ set_m_collisionFilterMask(m_collisionFilterMask: number): void;
325
+ m_collisionFilterMask: number;
326
+ get_m_closestHitFraction(): number;
327
+ set_m_closestHitFraction(m_closestHitFraction: number): void;
328
+ m_closestHitFraction: number;
329
+ get_m_collisionObject(): btCollisionObject;
330
+ set_m_collisionObject(m_collisionObject: btCollisionObject): void;
331
+ m_collisionObject: btCollisionObject;
332
+ get_m_flags(): number;
333
+ set_m_flags(m_flags: number): void;
334
+ m_flags: number;
335
+ }
336
+ class ClosestRayResultCallback extends RayResultCallback {
337
+ constructor(from: btVector3, to: btVector3);
338
+ get_m_rayFromWorld(): btVector3;
339
+ set_m_rayFromWorld(m_rayFromWorld: btVector3): void;
340
+ m_rayFromWorld: btVector3;
341
+ get_m_rayToWorld(): btVector3;
342
+ set_m_rayToWorld(m_rayToWorld: btVector3): void;
343
+ m_rayToWorld: btVector3;
344
+ get_m_hitNormalWorld(): btVector3;
345
+ set_m_hitNormalWorld(m_hitNormalWorld: btVector3): void;
346
+ m_hitNormalWorld: btVector3;
347
+ get_m_hitPointWorld(): btVector3;
348
+ set_m_hitPointWorld(m_hitPointWorld: btVector3): void;
349
+ m_hitPointWorld: btVector3;
350
+ }
351
+ class btConstCollisionObjectArray {
352
+ size(): number;
353
+ at(n: number): btCollisionObject;
354
+ }
355
+ class btScalarArray {
356
+ size(): number;
357
+ at(n: number): number;
358
+ }
359
+ class AllHitsRayResultCallback extends RayResultCallback {
360
+ constructor(from: btVector3, to: btVector3);
361
+ get_m_collisionObjects(): btConstCollisionObjectArray;
362
+ set_m_collisionObjects(m_collisionObjects: btConstCollisionObjectArray): void;
363
+ m_collisionObjects: btConstCollisionObjectArray;
364
+ get_m_rayFromWorld(): btVector3;
365
+ set_m_rayFromWorld(m_rayFromWorld: btVector3): void;
366
+ m_rayFromWorld: btVector3;
367
+ get_m_rayToWorld(): btVector3;
368
+ set_m_rayToWorld(m_rayToWorld: btVector3): void;
369
+ m_rayToWorld: btVector3;
370
+ get_m_hitNormalWorld(): btVector3Array;
371
+ set_m_hitNormalWorld(m_hitNormalWorld: btVector3Array): void;
372
+ m_hitNormalWorld: btVector3Array;
373
+ get_m_hitPointWorld(): btVector3Array;
374
+ set_m_hitPointWorld(m_hitPointWorld: btVector3Array): void;
375
+ m_hitPointWorld: btVector3Array;
376
+ get_m_hitFractions(): btScalarArray;
377
+ set_m_hitFractions(m_hitFractions: btScalarArray): void;
378
+ m_hitFractions: btScalarArray;
379
+ }
380
+ class btManifoldPoint {
381
+ getPositionWorldOnA(): btVector3;
382
+ getPositionWorldOnB(): btVector3;
383
+ getAppliedImpulse(): number;
384
+ getDistance(): number;
385
+ get_m_localPointA(): btVector3;
386
+ set_m_localPointA(m_localPointA: btVector3): void;
387
+ m_localPointA: btVector3;
388
+ get_m_localPointB(): btVector3;
389
+ set_m_localPointB(m_localPointB: btVector3): void;
390
+ m_localPointB: btVector3;
391
+ get_m_positionWorldOnB(): btVector3;
392
+ set_m_positionWorldOnB(m_positionWorldOnB: btVector3): void;
393
+ m_positionWorldOnB: btVector3;
394
+ get_m_positionWorldOnA(): btVector3;
395
+ set_m_positionWorldOnA(m_positionWorldOnA: btVector3): void;
396
+ m_positionWorldOnA: btVector3;
397
+ get_m_normalWorldOnB(): btVector3;
398
+ set_m_normalWorldOnB(m_normalWorldOnB: btVector3): void;
399
+ m_normalWorldOnB: btVector3;
400
+ get_m_userPersistentData(): any;
401
+ set_m_userPersistentData(m_userPersistentData: any): void;
402
+ m_userPersistentData: any;
403
+ }
404
+ class ContactResultCallback {
405
+ addSingleResult(
406
+ cp: btManifoldPoint,
407
+ colObj0Wrap: btCollisionObjectWrapper,
408
+ partId0: number,
409
+ index0: number,
410
+ colObj1Wrap: btCollisionObjectWrapper,
411
+ partId1: number,
412
+ index1: number,
413
+ ): number;
414
+ }
415
+ class ConcreteContactResultCallback {
416
+ constructor();
417
+ addSingleResult(
418
+ cp: btManifoldPoint,
419
+ colObj0Wrap: btCollisionObjectWrapper,
420
+ partId0: number,
421
+ index0: number,
422
+ colObj1Wrap: btCollisionObjectWrapper,
423
+ partId1: number,
424
+ index1: number,
425
+ ): number;
426
+ }
427
+ class LocalShapeInfo {
428
+ get_m_shapePart(): number;
429
+ set_m_shapePart(m_shapePart: number): void;
430
+ m_shapePart: number;
431
+ get_m_triangleIndex(): number;
432
+ set_m_triangleIndex(m_triangleIndex: number): void;
433
+ m_triangleIndex: number;
434
+ }
435
+ class LocalConvexResult {
436
+ constructor(
437
+ hitCollisionObject: btCollisionObject,
438
+ localShapeInfo: LocalShapeInfo,
439
+ hitNormalLocal: btVector3,
440
+ hitPointLocal: btVector3,
441
+ hitFraction: number,
442
+ );
443
+ get_m_hitCollisionObject(): btCollisionObject;
444
+ set_m_hitCollisionObject(m_hitCollisionObject: btCollisionObject): void;
445
+ m_hitCollisionObject: btCollisionObject;
446
+ get_m_localShapeInfo(): LocalShapeInfo;
447
+ set_m_localShapeInfo(m_localShapeInfo: LocalShapeInfo): void;
448
+ m_localShapeInfo: LocalShapeInfo;
449
+ get_m_hitNormalLocal(): btVector3;
450
+ set_m_hitNormalLocal(m_hitNormalLocal: btVector3): void;
451
+ m_hitNormalLocal: btVector3;
452
+ get_m_hitPointLocal(): btVector3;
453
+ set_m_hitPointLocal(m_hitPointLocal: btVector3): void;
454
+ m_hitPointLocal: btVector3;
455
+ get_m_hitFraction(): number;
456
+ set_m_hitFraction(m_hitFraction: number): void;
457
+ m_hitFraction: number;
458
+ }
459
+ class ConvexResultCallback {
460
+ hasHit(): boolean;
461
+ get_m_collisionFilterGroup(): number;
462
+ set_m_collisionFilterGroup(m_collisionFilterGroup: number): void;
463
+ m_collisionFilterGroup: number;
464
+ get_m_collisionFilterMask(): number;
465
+ set_m_collisionFilterMask(m_collisionFilterMask: number): void;
466
+ m_collisionFilterMask: number;
467
+ get_m_closestHitFraction(): number;
468
+ set_m_closestHitFraction(m_closestHitFraction: number): void;
469
+ m_closestHitFraction: number;
470
+ }
471
+ class ClosestConvexResultCallback extends ConvexResultCallback {
472
+ constructor(convexFromWorld: btVector3, convexToWorld: btVector3);
473
+ get_m_hitCollisionObject(): btCollisionObject;
474
+ set_m_hitCollisionObject(m_hitCollisionObject: btCollisionObject): void;
475
+ m_hitCollisionObject: btCollisionObject;
476
+ get_m_convexFromWorld(): btVector3;
477
+ set_m_convexFromWorld(m_convexFromWorld: btVector3): void;
478
+ m_convexFromWorld: btVector3;
479
+ get_m_convexToWorld(): btVector3;
480
+ set_m_convexToWorld(m_convexToWorld: btVector3): void;
481
+ m_convexToWorld: btVector3;
482
+ get_m_hitNormalWorld(): btVector3;
483
+ set_m_hitNormalWorld(m_hitNormalWorld: btVector3): void;
484
+ m_hitNormalWorld: btVector3;
485
+ get_m_hitPointWorld(): btVector3;
486
+ set_m_hitPointWorld(m_hitPointWorld: btVector3): void;
487
+ m_hitPointWorld: btVector3;
488
+ }
489
+ class btCollisionShape {
490
+ setLocalScaling(scaling: btVector3): void;
491
+ getLocalScaling(): btVector3;
492
+ calculateLocalInertia(mass: number, inertia: btVector3): void;
493
+ setMargin(margin: number): void;
494
+ getMargin(): number;
495
+ }
496
+ class btConvexShape extends btCollisionShape {}
497
+ class btConvexTriangleMeshShape extends btConvexShape {
498
+ constructor(meshInterface: btStridingMeshInterface, calcAabb?: boolean);
499
+ }
500
+ class btBoxShape extends btCollisionShape {
501
+ constructor(boxHalfExtents: btVector3);
502
+ setMargin(margin: number): void;
503
+ getMargin(): number;
504
+ }
505
+ class btCapsuleShape extends btCollisionShape {
506
+ constructor(radius: number, height: number);
507
+ setMargin(margin: number): void;
508
+ getMargin(): number;
509
+ getUpAxis(): number;
510
+ getRadius(): number;
511
+ getHalfHeight(): number;
512
+ }
513
+ class btCapsuleShapeX extends btCapsuleShape {
514
+ constructor(radius: number, height: number);
515
+ setMargin(margin: number): void;
516
+ getMargin(): number;
517
+ }
518
+ class btCapsuleShapeZ extends btCapsuleShape {
519
+ constructor(radius: number, height: number);
520
+ setMargin(margin: number): void;
521
+ getMargin(): number;
522
+ }
523
+ class btCylinderShape extends btCollisionShape {
524
+ constructor(halfExtents: btVector3);
525
+ setMargin(margin: number): void;
526
+ getMargin(): number;
527
+ }
528
+ class btCylinderShapeX extends btCylinderShape {
529
+ constructor(halfExtents: btVector3);
530
+ setMargin(margin: number): void;
531
+ getMargin(): number;
532
+ }
533
+ class btCylinderShapeZ extends btCylinderShape {
534
+ constructor(halfExtents: btVector3);
535
+ setMargin(margin: number): void;
536
+ getMargin(): number;
537
+ }
538
+ class btSphereShape extends btCollisionShape {
539
+ constructor(radius: number);
540
+ setMargin(margin: number): void;
541
+ getMargin(): number;
542
+ }
543
+ class btMultiSphereShape extends btCollisionShape {
544
+ constructor(positions: btVector3, radii: ReadonlyArray<number>, numPoints: number);
545
+ }
546
+ class btConeShape extends btCollisionShape {
547
+ constructor(radius: number, height: number);
548
+ }
549
+ class btConeShapeX extends btConeShape {
550
+ constructor(radius: number, height: number);
551
+ }
552
+ class btConeShapeZ extends btConeShape {
553
+ constructor(radius: number, height: number);
554
+ }
555
+ class btIntArray {
556
+ size(): number;
557
+ at(n: number): number;
558
+ }
559
+ class btFace {
560
+ get_m_indices(): btIntArray;
561
+ set_m_indices(m_indices: btIntArray): void;
562
+ m_indices: btIntArray;
563
+ get_m_plane(): ReadonlyArray<number>;
564
+ set_m_plane(m_plane: ReadonlyArray<number>): void;
565
+ m_plane: ReadonlyArray<number>;
566
+ }
567
+ class btVector3Array {
568
+ constructor();
569
+ size(): number;
570
+ at(n: number): btVector3;
571
+ clear(): void;
572
+ pop_back(): void;
573
+ resize(newsize: number, fillData: btVector3): void;
574
+ expandNonInitializing(): btVector3;
575
+ expand(fillValue: btVector3): btVector3;
576
+ push_back(Val: btVector3): void;
577
+ capacity(): number;
578
+ reserve(Count: number): void;
579
+ }
580
+ class btQuaternionArray {
581
+ constructor();
582
+ size(): number;
583
+ at(n: number): btQuaternion;
584
+ clear(): void;
585
+ pop_back(): void;
586
+ resize(newsize: number, fillData: btQuaternion): void;
587
+ expandNonInitializing(): btQuaternion;
588
+ expand(fillValue: btQuaternion): btQuaternion;
589
+ push_back(Val: btQuaternion): void;
590
+ capacity(): number;
591
+ reserve(Count: number): void;
592
+ }
593
+ class btMatrix3x3Array {
594
+ constructor();
595
+ size(): number;
596
+ at(n: number): btMatrix3x3;
597
+ clear(): void;
598
+ pop_back(): void;
599
+ resize(newsize: number, fillData: btMatrix3x3): void;
600
+ expandNonInitializing(): btMatrix3x3;
601
+ expand(fillValue: btMatrix3x3): btMatrix3x3;
602
+ push_back(Val: btMatrix3x3): void;
603
+ capacity(): number;
604
+ reserve(Count: number): void;
605
+ }
606
+ class btFaceArray {
607
+ constructor();
608
+ size(): number;
609
+ at(n: number): btFace;
610
+ clear(): void;
611
+ pop_back(): void;
612
+ resize(newsize: number, fillData: btFace): void;
613
+ expandNonInitializing(): btFace;
614
+ expand(fillValue: btFace): btFace;
615
+ push_back(Val: btFace): void;
616
+ capacity(): number;
617
+ reserve(Count: number): void;
618
+ }
619
+ class btConvexPolyhedron {
620
+ get_m_vertices(): btVector3Array;
621
+ set_m_vertices(m_vertices: btVector3Array): void;
622
+ m_vertices: btVector3Array;
623
+ get_m_faces(): btFaceArray;
624
+ set_m_faces(m_faces: btFaceArray): void;
625
+ m_faces: btFaceArray;
626
+ }
627
+ class btConvexHullShape extends btCollisionShape {
628
+ constructor(points?: ReadonlyArray<number>, numPoints?: number);
629
+ addPoint(point: btVector3, recalculateLocalAABB?: boolean): void;
630
+ setMargin(margin: number): void;
631
+ getMargin(): number;
632
+ getNumVertices(): number;
633
+ initializePolyhedralFeatures(shiftVerticesByMargin: number): boolean;
634
+ recalcLocalAabb(): void;
635
+ getConvexPolyhedron(): btConvexPolyhedron;
636
+ }
637
+ class btShapeHull {
638
+ constructor(shape: btConvexShape);
639
+ buildHull(margin: number): boolean;
640
+ numVertices(): number;
641
+ getVertexPointer(): btVector3;
642
+ }
643
+ class btCompoundShape extends btCollisionShape {
644
+ constructor(enableDynamicAabbTree?: boolean);
645
+ addChildShape(localTransform: btTransform, shape: btCollisionShape): void;
646
+ removeChildShape(shape: btCollisionShape): void;
647
+ removeChildShapeByIndex(childShapeindex: number): void;
648
+ getNumChildShapes(): number;
649
+ getChildShape(index: number): btCollisionShape;
650
+ updateChildTransform(
651
+ childIndex: number,
652
+ newChildTransform: btTransform,
653
+ shouldRecalculateLocalAabb?: boolean,
654
+ ): void;
655
+ setMargin(margin: number): void;
656
+ getMargin(): number;
657
+ }
658
+ class btStridingMeshInterface {
659
+ setScaling(scaling: btVector3): void;
660
+ }
661
+ class btIndexedMesh {
662
+ get_m_numTriangles(): number;
663
+ set_m_numTriangles(m_numTriangles: number): void;
664
+ m_numTriangles: number;
665
+ }
666
+ class btIndexedMeshArray {
667
+ size(): number;
668
+ at(n: number): btIndexedMesh;
669
+ }
670
+ class btTriangleMesh extends btStridingMeshInterface {
671
+ constructor(use32bitIndices?: boolean, use4componentVertices?: boolean);
672
+ addTriangle(vertex0: btVector3, vertex1: btVector3, vertex2: btVector3, removeDuplicateVertices?: boolean): void;
673
+ addTriangleIndices(index1: number, index2: number, index3: number): void;
674
+ findOrAddVertex(vertex: btVector3, removeDuplicateVertices: boolean): number;
675
+ addIndex(index: number): void;
676
+ getIndexedMeshArray(): btIndexedMeshArray;
677
+ }
678
+ type PHY_ScalarType = 'PHY_FLOAT' | 'PHY_DOUBLE' | 'PHY_INTEGER' | 'PHY_SHORT' | 'PHY_FIXEDPOINT88' | 'PHY_UCHAR';
679
+ class btTriangleCallback {
680
+ processTriangle(triangle: btVector3, partId: number, triangleIndex: number): void;
681
+ }
682
+ class btTriangleCallback_implJS {
683
+ processTriangle(triangle: btVector3, partId: number, triangleIndex: number): void;
684
+ }
685
+ class btConcaveShape extends btCollisionShape {}
686
+ class btEmptyShape extends btConcaveShape {
687
+ constructor();
688
+ }
689
+ class btStaticPlaneShape extends btConcaveShape {
690
+ constructor(planeNormal: btVector3, planeConstant: number);
691
+ }
692
+ class btTriangleMeshShape extends btConcaveShape {}
693
+ class btBvhTriangleMeshShape extends btTriangleMeshShape {
694
+ constructor(meshInterface: btStridingMeshInterface, useQuantizedAabbCompression: boolean, buildBvh?: boolean);
695
+ performRaycast(callback: btTriangleCallback, raySource: btVector3, rayTarget: btVector3): void;
696
+ }
697
+ class btHeightfieldTerrainShape extends btConcaveShape {
698
+ constructor(
699
+ heightStickWidth: number,
700
+ heightStickLength: number,
701
+ heightfieldData: unknown,
702
+ heightScale: number,
703
+ minHeight: number,
704
+ maxHeight: number,
705
+ upAxis: number,
706
+ hdt: PHY_ScalarType,
707
+ flipQuadEdges: boolean,
708
+ );
709
+ setMargin(margin: number): void;
710
+ getMargin(): number;
711
+ }
712
+ class btAABB {
713
+ constructor(V1: btVector3, V2: btVector3, V3: btVector3, margin: number);
714
+ invalidate(): void;
715
+ increment_margin(margin: number): void;
716
+ copy_with_margin(other: btAABB, margin: number): void;
717
+ }
718
+ class btPrimitiveTriangle {
719
+ constructor();
720
+ }
721
+ class btTriangleShapeEx {
722
+ constructor(p1: btVector3, p2: btVector3, p3: btVector3);
723
+ getAabb(t: btTransform, aabbMin: btVector3, aabbMax: btVector3): void;
724
+ applyTransform(t: btTransform): void;
725
+ }
726
+ class btPrimitiveManagerBase {
727
+ is_trimesh(): boolean;
728
+ get_primitive_count(): number;
729
+ get_primitive_box(prim_index: number, primbox: btAABB): void;
730
+ get_primitive_triangle(prim_index: number, triangle: btPrimitiveTriangle): void;
731
+ }
732
+ type eGIMPACT_SHAPE_TYPE =
733
+ | 'CONST_GIMPACT_COMPOUND_SHAPE'
734
+ | 'CONST_GIMPACT_TRIMESH_SHAPE_PART'
735
+ | 'CONST_GIMPACT_TRIMESH_SHAPE';
736
+ class btTetrahedronShapeEx {
737
+ constructor();
738
+ setVertices(v0: btVector3, v1: btVector3, v2: btVector3, v3: btVector3): void;
739
+ }
740
+ class btGImpactShapeInterface extends btConcaveShape {
741
+ updateBound(): void;
742
+ postUpdate(): void;
743
+ getShapeType(): number;
744
+ getName(): string;
745
+ getGImpactShapeType(): eGIMPACT_SHAPE_TYPE;
746
+ getPrimitiveManager(): btPrimitiveManagerBase;
747
+ getNumChildShapes(): number;
748
+ childrenHasTransform(): boolean;
749
+ needsRetrieveTriangles(): boolean;
750
+ needsRetrieveTetrahedrons(): boolean;
751
+ getBulletTriangle(prim_index: number, triangle: btTriangleShapeEx): void;
752
+ getBulletTetrahedron(prim_index: number, tetrahedron: btTetrahedronShapeEx): void;
753
+ getChildShape(index: number): btCollisionShape;
754
+ getChildTransform(index: number): btTransform;
755
+ setChildTransform(index: number, transform: btTransform): void;
756
+ }
757
+ class CompoundPrimitiveManager extends btPrimitiveManagerBase {
758
+ get_m_compoundShape(): btGImpactCompoundShape;
759
+ set_m_compoundShape(m_compoundShape: btGImpactCompoundShape): void;
760
+ m_compoundShape: btGImpactCompoundShape;
761
+ get_primitive_count(): number;
762
+ get_primitive_box(prim_index: number, primbox: btAABB): void;
763
+ get_primitive_triangle(prim_index: number, triangle: btPrimitiveTriangle): void;
764
+ }
765
+ class btGImpactCompoundShape extends btGImpactShapeInterface {
766
+ constructor(children_has_transform?: boolean);
767
+ childrenHasTransform(): boolean;
768
+ getPrimitiveManager(): btPrimitiveManagerBase;
769
+ getCompoundPrimitiveManager(): CompoundPrimitiveManager;
770
+ getNumChildShapes(): number;
771
+ addChildShape(localTransform: btTransform, shape: btCollisionShape): void;
772
+ getChildShape(index: number): btCollisionShape;
773
+ getChildAabb(child_index: number, t: btTransform, aabbMin: btVector3, aabbMax: btVector3): void;
774
+ getChildTransform(index: number): btTransform;
775
+ setChildTransform(index: number, transform: btTransform): void;
776
+ calculateLocalInertia(mass: number, inertia: btVector3): void;
777
+ getName(): string;
778
+ getGImpactShapeType(): eGIMPACT_SHAPE_TYPE;
779
+ }
780
+ class TrimeshPrimitiveManager extends btPrimitiveManagerBase {
781
+ get_m_margin(): number;
782
+ set_m_margin(m_margin: number): void;
783
+ m_margin: number;
784
+ get_m_meshInterface(): btStridingMeshInterface;
785
+ set_m_meshInterface(m_meshInterface: btStridingMeshInterface): void;
786
+ m_meshInterface: btStridingMeshInterface;
787
+ get_m_part(): number;
788
+ set_m_part(m_part: number): void;
789
+ m_part: number;
790
+ get_m_lock_count(): number;
791
+ set_m_lock_count(m_lock_count: number): void;
792
+ m_lock_count: number;
793
+ get_numverts(): number;
794
+ set_numverts(numverts: number): void;
795
+ numverts: number;
796
+ get_type(): PHY_ScalarType;
797
+ set_type(type: PHY_ScalarType): void;
798
+ type: PHY_ScalarType;
799
+ get_stride(): number;
800
+ set_stride(stride: number): void;
801
+ stride: number;
802
+ get_indexstride(): number;
803
+ set_indexstride(indexstride: number): void;
804
+ indexstride: number;
805
+ get_numfaces(): number;
806
+ set_numfaces(numfaces: number): void;
807
+ numfaces: number;
808
+ get_indicestype(): PHY_ScalarType;
809
+ set_indicestype(indicestype: PHY_ScalarType): void;
810
+ indicestype: PHY_ScalarType;
811
+ constructor(manager?: TrimeshPrimitiveManager);
812
+ lock(): void;
813
+ unlock(): void;
814
+ is_trimesh(): boolean;
815
+ get_vertex_count(): number;
816
+ get_indices(face_index: number, i0: number, i1: number, i2: number): void;
817
+ get_vertex(vertex_index: number, vertex: btVector3): void;
818
+ get_bullet_triangle(prim_index: number, triangle: btTriangleShapeEx): void;
819
+ }
820
+ class btGImpactMeshShapePart extends btGImpactShapeInterface {
821
+ constructor(meshInterface: btStridingMeshInterface, part: number);
822
+ getTrimeshPrimitiveManager(): TrimeshPrimitiveManager;
823
+ getVertexCount(): number;
824
+ getVertex(vertex_index: number, vertex: btVector3): void;
825
+ getPart(): number;
826
+ }
827
+ class btGImpactMeshShape extends btGImpactShapeInterface {
828
+ constructor(meshInterface: btStridingMeshInterface);
829
+ getMeshInterface(): btStridingMeshInterface;
830
+ getMeshPartCount(): number;
831
+ getMeshPart(index: number): btGImpactMeshShapePart;
832
+ calculateSerializeBufferSize(): number;
833
+ }
834
+ class btCollisionAlgorithmConstructionInfo {
835
+ constructor();
836
+ constructor(dispatcher: btDispatcher, temp: number);
837
+ get_m_dispatcher1(): btDispatcher;
838
+ set_m_dispatcher1(m_dispatcher1: btDispatcher): void;
839
+ m_dispatcher1: btDispatcher;
840
+ get_m_manifold(): btPersistentManifold;
841
+ set_m_manifold(m_manifold: btPersistentManifold): void;
842
+ m_manifold: btPersistentManifold;
843
+ }
844
+ class btCollisionAlgorithm {}
845
+ class btActivatingCollisionAlgorithm extends btCollisionAlgorithm {}
846
+ class btGImpactCollisionAlgorithm extends btActivatingCollisionAlgorithm {
847
+ constructor(
848
+ ci: btCollisionAlgorithmConstructionInfo,
849
+ body0Wrap: btCollisionObjectWrapper,
850
+ body1Wrap: btCollisionObjectWrapper,
851
+ );
852
+ registerAlgorithm(dispatcher: btCollisionDispatcher): void;
853
+ }
854
+ class btDefaultCollisionConstructionInfo {
855
+ constructor();
856
+ }
857
+ class btDefaultCollisionConfiguration {
858
+ constructor(info?: btDefaultCollisionConstructionInfo);
859
+ }
860
+ class btPersistentManifold {
861
+ constructor();
862
+ getBody0(): btCollisionObject;
863
+ getBody1(): btCollisionObject;
864
+ getNumContacts(): number;
865
+ getContactPoint(index: number): btManifoldPoint;
866
+ }
867
+ class btDispatcher {
868
+ getNumManifolds(): number;
869
+ getManifoldByIndexInternal(index: number): btPersistentManifold;
870
+ }
871
+ class btCollisionDispatcher extends btDispatcher {
872
+ constructor(conf: btDefaultCollisionConfiguration);
873
+ }
874
+ class btOverlappingPairCallback {}
875
+ class btOverlappingPairCache {
876
+ setInternalGhostPairCallback(ghostPairCallback: btOverlappingPairCallback): void;
877
+ getNumOverlappingPairs(): number;
878
+ }
879
+ class btAxisSweep3 {
880
+ constructor(
881
+ worldAabbMin: btVector3,
882
+ worldAabbMax: btVector3,
883
+ maxHandles?: number,
884
+ pairCache?: btOverlappingPairCache,
885
+ disableRaycastAccelerator?: boolean,
886
+ );
887
+ }
888
+ class btBroadphaseInterface {
889
+ getOverlappingPairCache(): btOverlappingPairCache;
890
+ }
891
+ class btCollisionConfiguration {}
892
+ class btDbvtBroadphase extends btBroadphaseInterface {
893
+ constructor();
894
+ }
895
+ class btBroadphaseProxy {
896
+ get_m_collisionFilterGroup(): number;
897
+ set_m_collisionFilterGroup(m_collisionFilterGroup: number): void;
898
+ m_collisionFilterGroup: number;
899
+ get_m_collisionFilterMask(): number;
900
+ set_m_collisionFilterMask(m_collisionFilterMask: number): void;
901
+ m_collisionFilterMask: number;
902
+ }
903
+ class btRigidBodyConstructionInfo {
904
+ constructor(mass: number, motionState: btMotionState, collisionShape: btCollisionShape, localInertia?: btVector3);
905
+ get_m_linearDamping(): number;
906
+ set_m_linearDamping(m_linearDamping: number): void;
907
+ m_linearDamping: number;
908
+ get_m_angularDamping(): number;
909
+ set_m_angularDamping(m_angularDamping: number): void;
910
+ m_angularDamping: number;
911
+ get_m_friction(): number;
912
+ set_m_friction(m_friction: number): void;
913
+ m_friction: number;
914
+ get_m_rollingFriction(): number;
915
+ set_m_rollingFriction(m_rollingFriction: number): void;
916
+ m_rollingFriction: number;
917
+ get_m_restitution(): number;
918
+ set_m_restitution(m_restitution: number): void;
919
+ m_restitution: number;
920
+ get_m_linearSleepingThreshold(): number;
921
+ set_m_linearSleepingThreshold(m_linearSleepingThreshold: number): void;
922
+ m_linearSleepingThreshold: number;
923
+ get_m_angularSleepingThreshold(): number;
924
+ set_m_angularSleepingThreshold(m_angularSleepingThreshold: number): void;
925
+ m_angularSleepingThreshold: number;
926
+ get_m_additionalDamping(): boolean;
927
+ set_m_additionalDamping(m_additionalDamping: boolean): void;
928
+ m_additionalDamping: boolean;
929
+ get_m_additionalDampingFactor(): number;
930
+ set_m_additionalDampingFactor(m_additionalDampingFactor: number): void;
931
+ m_additionalDampingFactor: number;
932
+ get_m_additionalLinearDampingThresholdSqr(): number;
933
+ set_m_additionalLinearDampingThresholdSqr(m_additionalLinearDampingThresholdSqr: number): void;
934
+ m_additionalLinearDampingThresholdSqr: number;
935
+ get_m_additionalAngularDampingThresholdSqr(): number;
936
+ set_m_additionalAngularDampingThresholdSqr(m_additionalAngularDampingThresholdSqr: number): void;
937
+ m_additionalAngularDampingThresholdSqr: number;
938
+ get_m_additionalAngularDampingFactor(): number;
939
+ set_m_additionalAngularDampingFactor(m_additionalAngularDampingFactor: number): void;
940
+ m_additionalAngularDampingFactor: number;
941
+ }
942
+ class btRigidBody extends btCollisionObject {
943
+ constructor(constructionInfo: btRigidBodyConstructionInfo);
944
+ getCenterOfMassTransform(): btTransform;
945
+ setCenterOfMassTransform(xform: btTransform): void;
946
+ setSleepingThresholds(linear: number, angular: number): void;
947
+ getLinearSleepingThreshold(): number;
948
+ getAngularSleepingThreshold(): number;
949
+ getLinearDamping(): number;
950
+ getAngularDamping(): number;
951
+ setDamping(lin_damping: number, ang_damping: number): void;
952
+ applyDamping(timeStep: number): void;
953
+ setMassProps(mass: number, inertia: btVector3): void;
954
+ getInvMass(): number;
955
+ getMass(): number;
956
+ getLinearFactor(): btVector3;
957
+ setLinearFactor(linearFactor: btVector3): void;
958
+ applyTorque(torque: btVector3): void;
959
+ applyForce(force: btVector3, rel_pos: btVector3): void;
960
+ applyCentralImpulse(impulse: btVector3): void;
961
+ applyTorqueImpulse(torque: btVector3): void;
962
+ applyImpulse(impulse: btVector3, rel_pos: btVector3): void;
963
+ applyPushImpulse(impulse: btVector3, rel_pos: btVector3): void;
964
+ getPushVelocity(): btVector3;
965
+ getTurnVelocity(): btVector3;
966
+ setPushVelocity(v: btVector3): void;
967
+ setTurnVelocity(v: btVector3): void;
968
+ applyCentralPushImpulse(impulse: btVector3): void;
969
+ applyTorqueTurnImpulse(torque: btVector3): void;
970
+ getCenterOfMassPosition(): btVector3;
971
+ getOrientation(): btQuaternion;
972
+ getTotalForce(): btVector3;
973
+ getTotalTorque(): btVector3;
974
+ getInvInertiaDiagLocal(): btVector3;
975
+ setInvInertiaDiagLocal(diagInvInertia: btVector3): void;
976
+ updateInertiaTensor(): void;
977
+ getLinearVelocity(): btVector3;
978
+ getAngularVelocity(): btVector3;
979
+ setLinearVelocity(lin_vel: btVector3): void;
980
+ setAngularVelocity(ang_vel: btVector3): void;
981
+ getVelocityInLocalPoint(rel_pos: btVector3): btVector3;
982
+ getPushVelocityInLocalPoint(rel_pos: btVector3): btVector3;
983
+ translate(v: btVector3): void;
984
+ getMotionState(): btMotionState;
985
+ setMotionState(motionState: btMotionState): void;
986
+ getAngularFactor(): btVector3;
987
+ setAngularFactor(angularFactor: btVector3): void;
988
+ upcast(colObj: btCollisionObject): btRigidBody;
989
+ getAabb(aabbMin: btVector3, aabbMax: btVector3): void;
990
+ applyGravity(): void;
991
+ clearGravity(): void;
992
+ getGravity(): btVector3;
993
+ setGravity(acceleration: btVector3): void;
994
+ getBroadphaseProxy(): btBroadphaseProxy;
995
+ clearForces(): void;
996
+ setFlags(flags: number): void;
997
+ getFlags(): number;
998
+ }
999
+ class btSolverBody {
1000
+ get_m_worldTransform(): btTransform;
1001
+ set_m_worldTransform(m_worldTransform: btTransform): void;
1002
+ m_worldTransform: btTransform;
1003
+ get_m_deltaLinearVelocity(): btVector3;
1004
+ set_m_deltaLinearVelocity(m_deltaLinearVelocity: btVector3): void;
1005
+ m_deltaLinearVelocity: btVector3;
1006
+ get_m_deltaAngularVelocity(): btVector3;
1007
+ set_m_deltaAngularVelocity(m_deltaAngularVelocity: btVector3): void;
1008
+ m_deltaAngularVelocity: btVector3;
1009
+ get_m_angularFactor(): btVector3;
1010
+ set_m_angularFactor(m_angularFactor: btVector3): void;
1011
+ m_angularFactor: btVector3;
1012
+ get_m_linearFactor(): btVector3;
1013
+ set_m_linearFactor(m_linearFactor: btVector3): void;
1014
+ m_linearFactor: btVector3;
1015
+ get_m_invMass(): btVector3;
1016
+ set_m_invMass(m_invMass: btVector3): void;
1017
+ m_invMass: btVector3;
1018
+ get_m_pushVelocity(): btVector3;
1019
+ set_m_pushVelocity(m_pushVelocity: btVector3): void;
1020
+ m_pushVelocity: btVector3;
1021
+ get_m_turnVelocity(): btVector3;
1022
+ set_m_turnVelocity(m_turnVelocity: btVector3): void;
1023
+ m_turnVelocity: btVector3;
1024
+ get_m_linearVelocity(): btVector3;
1025
+ set_m_linearVelocity(m_linearVelocity: btVector3): void;
1026
+ m_linearVelocity: btVector3;
1027
+ get_m_angularVelocity(): btVector3;
1028
+ set_m_angularVelocity(m_angularVelocity: btVector3): void;
1029
+ m_angularVelocity: btVector3;
1030
+ get_m_externalForceImpulse(): btVector3;
1031
+ set_m_externalForceImpulse(m_externalForceImpulse: btVector3): void;
1032
+ m_externalForceImpulse: btVector3;
1033
+ get_m_externalTorqueImpulse(): btVector3;
1034
+ set_m_externalTorqueImpulse(m_externalTorqueImpulse: btVector3): void;
1035
+ m_externalTorqueImpulse: btVector3;
1036
+ get_m_originalBody(): btRigidBody;
1037
+ set_m_originalBody(m_originalBody: btRigidBody): void;
1038
+ m_originalBody: btRigidBody;
1039
+ setWorldTransform(worldTransform: btTransform): void;
1040
+ getWorldTransform(): btTransform;
1041
+ getVelocityInLocalPointNoDelta(rel_pos: btVector3, velocity: btVector3): void;
1042
+ getVelocityInLocalPointObsolete(rel_pos: btVector3, velocity: btVector3): void;
1043
+ getAngularVelocity(angVel: btVector3): void;
1044
+ applyImpulse(linearComponent: btVector3, angularComponent: btVector3, impulseMagnitude: number): void;
1045
+ internalApplyPushImpulse(linearComponent: btVector3, angularComponent: btVector3, impulseMagnitude: number): void;
1046
+ getDeltaLinearVelocity(): btVector3;
1047
+ getDeltaAngularVelocity(): btVector3;
1048
+ getPushVelocity(): btVector3;
1049
+ getTurnVelocity(): btVector3;
1050
+ }
1051
+ class btSolverBodyArray {
1052
+ size(): number;
1053
+ at(n: number): btSolverBody;
1054
+ }
1055
+ class btConstraintSetting {
1056
+ constructor();
1057
+ get_m_tau(): number;
1058
+ set_m_tau(m_tau: number): void;
1059
+ m_tau: number;
1060
+ get_m_damping(): number;
1061
+ set_m_damping(m_damping: number): void;
1062
+ m_damping: number;
1063
+ get_m_impulseClamp(): number;
1064
+ set_m_impulseClamp(m_impulseClamp: number): void;
1065
+ m_impulseClamp: number;
1066
+ }
1067
+ class btJointFeedback {
1068
+ get_m_appliedForceBodyA(): btVector3;
1069
+ set_m_appliedForceBodyA(m_appliedForceBodyA: btVector3): void;
1070
+ m_appliedForceBodyA: btVector3;
1071
+ get_m_appliedTorqueBodyA(): btVector3;
1072
+ set_m_appliedTorqueBodyA(m_appliedTorqueBodyA: btVector3): void;
1073
+ m_appliedTorqueBodyA: btVector3;
1074
+ get_m_appliedForceBodyB(): btVector3;
1075
+ set_m_appliedForceBodyB(m_appliedForceBodyB: btVector3): void;
1076
+ m_appliedForceBodyB: btVector3;
1077
+ get_m_appliedTorqueBodyB(): btVector3;
1078
+ set_m_appliedTorqueBodyB(m_appliedTorqueBodyB: btVector3): void;
1079
+ m_appliedTorqueBodyB: btVector3;
1080
+ }
1081
+ class btTypedConstraint {
1082
+ getOverrideNumSolverIterations(): number;
1083
+ setOverrideNumSolverIterations(overideNumIterations: number): void;
1084
+ enableFeedback(needsFeedback: boolean): void;
1085
+ needsFeedback(): boolean;
1086
+ setJointFeedback(jointFeedback: btJointFeedback): void;
1087
+ getJointFeedback(): btJointFeedback;
1088
+ getAppliedImpulse(): number;
1089
+ getConstraintType(): btTypedConstraintType;
1090
+ getBreakingImpulseThreshold(): number;
1091
+ setBreakingImpulseThreshold(threshold: number): void;
1092
+ getParam(num: number, axis: number): number;
1093
+ setParam(num: number, value: number, axis: number): void;
1094
+ isEnabled(): boolean;
1095
+ setEnabled(enabled: boolean): void;
1096
+ getRigidBodyA(): btRigidBody;
1097
+ getRigidBodyB(): btRigidBody;
1098
+ getUserConstraintType(): number;
1099
+ setUserConstraintType(userConstraintType: number): void;
1100
+ getFixedBody(): btRigidBody;
1101
+ }
1102
+ type btTypedConstraintType =
1103
+ | 'POINT2POINT_CONSTRAINT_TYPE'
1104
+ | 'HINGE_CONSTRAINT_TYPE'
1105
+ | 'CONETWIST_CONSTRAINT_TYPE'
1106
+ | 'D6_CONSTRAINT_TYPE'
1107
+ | 'SLIDER_CONSTRAINT_TYPE'
1108
+ | 'CONTACT_CONSTRAINT_TYPE'
1109
+ | 'D6_SPRING_CONSTRAINT_TYPE'
1110
+ | 'GEAR_CONSTRAINT_TYPE'
1111
+ | 'FIXED_CONSTRAINT_TYPE'
1112
+ | 'MAX_CONSTRAINT_TYPE';
1113
+ type btConstraintParams =
1114
+ | 'BT_CONSTRAINT_ERP'
1115
+ | 'BT_CONSTRAINT_STOP_ERP'
1116
+ | 'BT_CONSTRAINT_CFM'
1117
+ | 'BT_CONSTRAINT_STOP_CFM';
1118
+ class btPoint2PointConstraint extends btTypedConstraint {
1119
+ constructor(rbA: btRigidBody, rbB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3);
1120
+ constructor(rbA: btRigidBody, pivotInA: btVector3);
1121
+ setPivotA(pivotA: btVector3): void;
1122
+ setPivotB(pivotB: btVector3): void;
1123
+ getPivotInA(): btVector3;
1124
+ getPivotInB(): btVector3;
1125
+ get_m_setting(): btConstraintSetting;
1126
+ set_m_setting(m_setting: btConstraintSetting): void;
1127
+ m_setting: btConstraintSetting;
1128
+ }
1129
+ class btGeneric6DofConstraint extends btTypedConstraint {
1130
+ constructor(
1131
+ rbA: btRigidBody,
1132
+ rbB: btRigidBody,
1133
+ frameInA: btTransform,
1134
+ frameInB: btTransform,
1135
+ useLinearFrameReferenceFrameA: boolean,
1136
+ );
1137
+ constructor(rbB: btRigidBody, frameInB: btTransform, useLinearFrameReferenceFrameB: boolean);
1138
+ setLinearLowerLimit(linearLower: btVector3): void;
1139
+ setLinearUpperLimit(linearUpper: btVector3): void;
1140
+ setAngularLowerLimit(angularLower: btVector3): void;
1141
+ setAngularUpperLimit(angularUpper: btVector3): void;
1142
+ getFrameOffsetA(): btTransform;
1143
+ }
1144
+ class btGeneric6DofSpringConstraint extends btGeneric6DofConstraint {
1145
+ constructor(
1146
+ rbA: btRigidBody,
1147
+ rbB: btRigidBody,
1148
+ frameInA: btTransform,
1149
+ frameInB: btTransform,
1150
+ useLinearFrameReferenceFrameA: boolean,
1151
+ );
1152
+ constructor(rbB: btRigidBody, frameInB: btTransform, useLinearFrameReferenceFrameB: boolean);
1153
+ enableSpring(index: number, onOff: boolean): void;
1154
+ setStiffness(index: number, stiffness: number): void;
1155
+ setDamping(index: number, damping: number): void;
1156
+ setEquilibriumPoint(index: number, val: number): void;
1157
+ setEquilibriumPoint(index: number): void;
1158
+ setEquilibriumPoint(): void;
1159
+ }
1160
+ class btSequentialImpulseConstraintSolver {
1161
+ constructor();
1162
+ }
1163
+ class btConeTwistConstraint extends btTypedConstraint {
1164
+ constructor(rbA: btRigidBody, rbB: btRigidBody, rbAFrame: btTransform, rbBFrame: btTransform);
1165
+ constructor(rbA: btRigidBody, rbAFrame: btTransform);
1166
+ setLimit(limitIndex: number, limitValue: number): void;
1167
+ setAngularOnly(angularOnly: boolean): void;
1168
+ setDamping(damping: number): void;
1169
+ enableMotor(b: boolean): void;
1170
+ setMaxMotorImpulse(maxMotorImpulse: number): void;
1171
+ setMaxMotorImpulseNormalized(maxMotorImpulse: number): void;
1172
+ setMotorTarget(q: btQuaternion): void;
1173
+ setMotorTargetInConstraintSpace(q: btQuaternion): void;
1174
+ }
1175
+ class btHingeConstraint extends btTypedConstraint {
1176
+ constructor(
1177
+ rbA: btRigidBody,
1178
+ rbB: btRigidBody,
1179
+ pivotInA: btVector3,
1180
+ pivotInB: btVector3,
1181
+ axisInA: btVector3,
1182
+ axisInB: btVector3,
1183
+ useReferenceFrameA?: boolean,
1184
+ );
1185
+ constructor(
1186
+ rbA: btRigidBody,
1187
+ rbB: btRigidBody,
1188
+ rbAFrame: btTransform,
1189
+ rbBFrame: btTransform,
1190
+ useReferenceFrameA?: boolean,
1191
+ );
1192
+ constructor(rbA: btRigidBody, rbAFrame: btTransform, useReferenceFrameA?: boolean);
1193
+ getHingeAngle(): number;
1194
+ setLimit(low: number, high: number, softness: number, biasFactor: number, relaxationFactor?: number): void;
1195
+ enableAngularMotor(enableMotor: boolean, targetVelocity: number, maxMotorImpulse: number): void;
1196
+ setAngularOnly(angularOnly: boolean): void;
1197
+ enableMotor(enableMotor: boolean): void;
1198
+ setMaxMotorImpulse(maxMotorImpulse: number): void;
1199
+ setMotorTarget(targetAngle: number, dt: number): void;
1200
+ }
1201
+ class btSliderConstraint extends btTypedConstraint {
1202
+ constructor(
1203
+ rbA: btRigidBody,
1204
+ rbB: btRigidBody,
1205
+ frameInA: btTransform,
1206
+ frameInB: btTransform,
1207
+ useLinearReferenceFrameA: boolean,
1208
+ );
1209
+ constructor(rbB: btRigidBody, frameInB: btTransform, useLinearReferenceFrameA: boolean);
1210
+ getLinearPos(): number;
1211
+ getAngularPos(): number;
1212
+ setLowerLinLimit(lowerLimit: number): void;
1213
+ setUpperLinLimit(upperLimit: number): void;
1214
+ setLowerAngLimit(lowerAngLimit: number): void;
1215
+ setUpperAngLimit(upperAngLimit: number): void;
1216
+ setPoweredLinMotor(onOff: boolean): void;
1217
+ setMaxLinMotorForce(maxLinMotorForce: number): void;
1218
+ setTargetLinMotorVelocity(targetLinMotorVelocity: number): void;
1219
+ }
1220
+ class btFixedConstraint extends btTypedConstraint {
1221
+ constructor(rbA: btRigidBody, rbB: btRigidBody, frameInA: btTransform, frameInB: btTransform);
1222
+ }
1223
+ type btConstraintSolverType = 'BT_SEQUENTIAL_IMPULSE_SOLVER' | 'BT_MLCP_SOLVER';
1224
+ class btConstraintSolver {}
1225
+ class btDispatcherInfo {
1226
+ get_m_timeStep(): number;
1227
+ set_m_timeStep(m_timeStep: number): void;
1228
+ m_timeStep: number;
1229
+ get_m_stepCount(): number;
1230
+ set_m_stepCount(m_stepCount: number): void;
1231
+ m_stepCount: number;
1232
+ get_m_dispatchFunc(): number;
1233
+ set_m_dispatchFunc(m_dispatchFunc: number): void;
1234
+ m_dispatchFunc: number;
1235
+ get_m_timeOfImpact(): number;
1236
+ set_m_timeOfImpact(m_timeOfImpact: number): void;
1237
+ m_timeOfImpact: number;
1238
+ get_m_useContinuous(): boolean;
1239
+ set_m_useContinuous(m_useContinuous: boolean): void;
1240
+ m_useContinuous: boolean;
1241
+ get_m_enableSatConvex(): boolean;
1242
+ set_m_enableSatConvex(m_enableSatConvex: boolean): void;
1243
+ m_enableSatConvex: boolean;
1244
+ get_m_enableSPU(): boolean;
1245
+ set_m_enableSPU(m_enableSPU: boolean): void;
1246
+ m_enableSPU: boolean;
1247
+ get_m_useEpa(): boolean;
1248
+ set_m_useEpa(m_useEpa: boolean): void;
1249
+ m_useEpa: boolean;
1250
+ get_m_allowedCcdPenetration(): number;
1251
+ set_m_allowedCcdPenetration(m_allowedCcdPenetration: number): void;
1252
+ m_allowedCcdPenetration: number;
1253
+ get_m_useConvexConservativeDistanceUtil(): boolean;
1254
+ set_m_useConvexConservativeDistanceUtil(m_useConvexConservativeDistanceUtil: boolean): void;
1255
+ m_useConvexConservativeDistanceUtil: boolean;
1256
+ get_m_convexConservativeDistanceThreshold(): number;
1257
+ set_m_convexConservativeDistanceThreshold(m_convexConservativeDistanceThreshold: number): void;
1258
+ m_convexConservativeDistanceThreshold: number;
1259
+ }
1260
+ class btCollisionWorld {
1261
+ getDispatcher(): btDispatcher;
1262
+ rayTest(rayFromWorld: btVector3, rayToWorld: btVector3, resultCallback: RayResultCallback): void;
1263
+ getPairCache(): btOverlappingPairCache;
1264
+ getDispatchInfo(): btDispatcherInfo;
1265
+ addCollisionObject(
1266
+ collisionObject: btCollisionObject,
1267
+ collisionFilterGroup?: number,
1268
+ collisionFilterMask?: number,
1269
+ ): void;
1270
+ removeCollisionObject(collisionObject: btCollisionObject): void;
1271
+ getBroadphase(): btBroadphaseInterface;
1272
+ convexSweepTest(
1273
+ castShape: btConvexShape,
1274
+ from: btTransform,
1275
+ to: btTransform,
1276
+ resultCallback: ConvexResultCallback,
1277
+ allowedCcdPenetration: number,
1278
+ ): void;
1279
+ contactPairTest(
1280
+ colObjA: btCollisionObject,
1281
+ colObjB: btCollisionObject,
1282
+ resultCallback: ContactResultCallback,
1283
+ ): void;
1284
+ contactTest(colObj: btCollisionObject, resultCallback: ContactResultCallback): void;
1285
+ updateSingleAabb(colObj: btCollisionObject): void;
1286
+ setDebugDrawer(debugDrawer: btIDebugDraw): void;
1287
+ getDebugDrawer(): btIDebugDraw;
1288
+ debugDrawWorld(): void;
1289
+ debugDrawObject(worldTransform: btTransform, shape: btCollisionShape, color: btVector3): void;
1290
+ }
1291
+ class btContactSolverInfo {
1292
+ get_m_splitImpulse(): boolean;
1293
+ set_m_splitImpulse(m_splitImpulse: boolean): void;
1294
+ m_splitImpulse: boolean;
1295
+ get_m_splitImpulsePenetrationThreshold(): number;
1296
+ set_m_splitImpulsePenetrationThreshold(m_splitImpulsePenetrationThreshold: number): void;
1297
+ m_splitImpulsePenetrationThreshold: number;
1298
+ get_m_numIterations(): number;
1299
+ set_m_numIterations(m_numIterations: number): void;
1300
+ m_numIterations: number;
1301
+ get_m_erp(): number;
1302
+ set_m_erp(m_erp: number): void;
1303
+ m_erp: number;
1304
+ get_m_erp2(): number;
1305
+ set_m_erp2(m_erp2: number): void;
1306
+ m_erp2: number;
1307
+ }
1308
+ class btDynamicsWorld extends btCollisionWorld {
1309
+ addAction(action: btActionInterface): void;
1310
+ removeAction(action: btActionInterface): void;
1311
+ getSolverInfo(): btContactSolverInfo;
1312
+ }
1313
+ class btDiscreteDynamicsWorld extends btDynamicsWorld {
1314
+ constructor(
1315
+ dispatcher: btDispatcher,
1316
+ pairCache: btBroadphaseInterface,
1317
+ constraintSolver: btConstraintSolver,
1318
+ collisionConfiguration: btCollisionConfiguration,
1319
+ );
1320
+ setGravity(gravity: btVector3): void;
1321
+ getGravity(): btVector3;
1322
+ addRigidBody(body: btRigidBody): void;
1323
+ addRigidBody(body: btRigidBody, group: number, mask: number): void;
1324
+ removeRigidBody(body: btRigidBody): void;
1325
+ addConstraint(constraint: btTypedConstraint, disableCollisionsBetweenLinkedBodies?: boolean): void;
1326
+ removeConstraint(constraint: btTypedConstraint): void;
1327
+ stepSimulation(timeStep: number, maxSubSteps?: number, fixedTimeStep?: number): number;
1328
+ }
1329
+ class btVehicleTuning {
1330
+ constructor();
1331
+ get_m_suspensionStiffness(): number;
1332
+ set_m_suspensionStiffness(m_suspensionStiffness: number): void;
1333
+ m_suspensionStiffness: number;
1334
+ get_m_suspensionCompression(): number;
1335
+ set_m_suspensionCompression(m_suspensionCompression: number): void;
1336
+ m_suspensionCompression: number;
1337
+ get_m_suspensionDamping(): number;
1338
+ set_m_suspensionDamping(m_suspensionDamping: number): void;
1339
+ m_suspensionDamping: number;
1340
+ get_m_maxSuspensionTravelCm(): number;
1341
+ set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void;
1342
+ m_maxSuspensionTravelCm: number;
1343
+ get_m_frictionSlip(): number;
1344
+ set_m_frictionSlip(m_frictionSlip: number): void;
1345
+ m_frictionSlip: number;
1346
+ get_m_maxSuspensionForce(): number;
1347
+ set_m_maxSuspensionForce(m_maxSuspensionForce: number): void;
1348
+ m_maxSuspensionForce: number;
1349
+ }
1350
+ class btVehicleRaycasterResult {
1351
+ get_m_hitPointInWorld(): btVector3;
1352
+ set_m_hitPointInWorld(m_hitPointInWorld: btVector3): void;
1353
+ m_hitPointInWorld: btVector3;
1354
+ get_m_hitNormalInWorld(): btVector3;
1355
+ set_m_hitNormalInWorld(m_hitNormalInWorld: btVector3): void;
1356
+ m_hitNormalInWorld: btVector3;
1357
+ get_m_distFraction(): number;
1358
+ set_m_distFraction(m_distFraction: number): void;
1359
+ m_distFraction: number;
1360
+ }
1361
+ class btVehicleRaycaster {
1362
+ get_m_collisionFilterGroup(): number;
1363
+ set_m_collisionFilterGroup(m_collisionFilterGroup: number): void;
1364
+ m_collisionFilterGroup: number;
1365
+ get_m_collisionFilterMask(): number;
1366
+ set_m_collisionFilterMask(m_collisionFilterMask: number): void;
1367
+ m_collisionFilterMask: number;
1368
+ castRay(from: btVector3, to: btVector3, result: btVehicleRaycasterResult): void;
1369
+ }
1370
+ class btDefaultVehicleRaycaster extends btVehicleRaycaster {
1371
+ constructor(world: btDynamicsWorld);
1372
+ }
1373
+ class RaycastInfo {
1374
+ get_m_contactNormalWS(): btVector3;
1375
+ set_m_contactNormalWS(m_contactNormalWS: btVector3): void;
1376
+ m_contactNormalWS: btVector3;
1377
+ get_m_contactPointWS(): btVector3;
1378
+ set_m_contactPointWS(m_contactPointWS: btVector3): void;
1379
+ m_contactPointWS: btVector3;
1380
+ get_m_suspensionLength(): number;
1381
+ set_m_suspensionLength(m_suspensionLength: number): void;
1382
+ m_suspensionLength: number;
1383
+ get_m_hardPointWS(): btVector3;
1384
+ set_m_hardPointWS(m_hardPointWS: btVector3): void;
1385
+ m_hardPointWS: btVector3;
1386
+ get_m_wheelDirectionWS(): btVector3;
1387
+ set_m_wheelDirectionWS(m_wheelDirectionWS: btVector3): void;
1388
+ m_wheelDirectionWS: btVector3;
1389
+ get_m_wheelAxleWS(): btVector3;
1390
+ set_m_wheelAxleWS(m_wheelAxleWS: btVector3): void;
1391
+ m_wheelAxleWS: btVector3;
1392
+ get_m_isInContact(): boolean;
1393
+ set_m_isInContact(m_isInContact: boolean): void;
1394
+ m_isInContact: boolean;
1395
+ get_m_groundObject(): any;
1396
+ set_m_groundObject(m_groundObject: any): void;
1397
+ m_groundObject: any;
1398
+ }
1399
+ class btWheelInfoConstructionInfo {
1400
+ get_m_chassisConnectionCS(): btVector3;
1401
+ set_m_chassisConnectionCS(m_chassisConnectionCS: btVector3): void;
1402
+ m_chassisConnectionCS: btVector3;
1403
+ get_m_wheelDirectionCS(): btVector3;
1404
+ set_m_wheelDirectionCS(m_wheelDirectionCS: btVector3): void;
1405
+ m_wheelDirectionCS: btVector3;
1406
+ get_m_wheelAxleCS(): btVector3;
1407
+ set_m_wheelAxleCS(m_wheelAxleCS: btVector3): void;
1408
+ m_wheelAxleCS: btVector3;
1409
+ get_m_suspensionRestLength(): number;
1410
+ set_m_suspensionRestLength(m_suspensionRestLength: number): void;
1411
+ m_suspensionRestLength: number;
1412
+ get_m_maxSuspensionTravelCm(): number;
1413
+ set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void;
1414
+ m_maxSuspensionTravelCm: number;
1415
+ get_m_wheelRadius(): number;
1416
+ set_m_wheelRadius(m_wheelRadius: number): void;
1417
+ m_wheelRadius: number;
1418
+ get_m_suspensionStiffness(): number;
1419
+ set_m_suspensionStiffness(m_suspensionStiffness: number): void;
1420
+ m_suspensionStiffness: number;
1421
+ get_m_wheelsDampingCompression(): number;
1422
+ set_m_wheelsDampingCompression(m_wheelsDampingCompression: number): void;
1423
+ m_wheelsDampingCompression: number;
1424
+ get_m_wheelsDampingRelaxation(): number;
1425
+ set_m_wheelsDampingRelaxation(m_wheelsDampingRelaxation: number): void;
1426
+ m_wheelsDampingRelaxation: number;
1427
+ get_m_frictionSlip(): number;
1428
+ set_m_frictionSlip(m_frictionSlip: number): void;
1429
+ m_frictionSlip: number;
1430
+ get_m_maxSuspensionForce(): number;
1431
+ set_m_maxSuspensionForce(m_maxSuspensionForce: number): void;
1432
+ m_maxSuspensionForce: number;
1433
+ get_m_bIsFrontWheel(): boolean;
1434
+ set_m_bIsFrontWheel(m_bIsFrontWheel: boolean): void;
1435
+ m_bIsFrontWheel: boolean;
1436
+ }
1437
+ class btWheelInfo {
1438
+ get_m_suspensionStiffness(): number;
1439
+ set_m_suspensionStiffness(m_suspensionStiffness: number): void;
1440
+ m_suspensionStiffness: number;
1441
+ get_m_frictionSlip(): number;
1442
+ set_m_frictionSlip(m_frictionSlip: number): void;
1443
+ m_frictionSlip: number;
1444
+ get_m_engineForce(): number;
1445
+ set_m_engineForce(m_engineForce: number): void;
1446
+ m_engineForce: number;
1447
+ get_m_rollInfluence(): number;
1448
+ set_m_rollInfluence(m_rollInfluence: number): void;
1449
+ m_rollInfluence: number;
1450
+ get_m_suspensionRestLength1(): number;
1451
+ set_m_suspensionRestLength1(m_suspensionRestLength1: number): void;
1452
+ m_suspensionRestLength1: number;
1453
+ get_m_wheelsRadius(): number;
1454
+ set_m_wheelsRadius(m_wheelsRadius: number): void;
1455
+ m_wheelsRadius: number;
1456
+ get_m_wheelsDampingCompression(): number;
1457
+ set_m_wheelsDampingCompression(m_wheelsDampingCompression: number): void;
1458
+ m_wheelsDampingCompression: number;
1459
+ get_m_wheelsDampingRelaxation(): number;
1460
+ set_m_wheelsDampingRelaxation(m_wheelsDampingRelaxation: number): void;
1461
+ m_wheelsDampingRelaxation: number;
1462
+ get_m_steering(): number;
1463
+ set_m_steering(m_steering: number): void;
1464
+ m_steering: number;
1465
+ get_m_maxSuspensionForce(): number;
1466
+ set_m_maxSuspensionForce(m_maxSuspensionForce: number): void;
1467
+ m_maxSuspensionForce: number;
1468
+ get_m_maxSuspensionTravelCm(): number;
1469
+ set_m_maxSuspensionTravelCm(m_maxSuspensionTravelCm: number): void;
1470
+ m_maxSuspensionTravelCm: number;
1471
+ get_m_wheelsSuspensionForce(): number;
1472
+ set_m_wheelsSuspensionForce(m_wheelsSuspensionForce: number): void;
1473
+ m_wheelsSuspensionForce: number;
1474
+ get_m_bIsFrontWheel(): boolean;
1475
+ set_m_bIsFrontWheel(m_bIsFrontWheel: boolean): void;
1476
+ m_bIsFrontWheel: boolean;
1477
+ get_m_raycastInfo(): RaycastInfo;
1478
+ set_m_raycastInfo(m_raycastInfo: RaycastInfo): void;
1479
+ m_raycastInfo: RaycastInfo;
1480
+ get_m_chassisConnectionPointCS(): btVector3;
1481
+ set_m_chassisConnectionPointCS(m_chassisConnectionPointCS: btVector3): void;
1482
+ m_chassisConnectionPointCS: btVector3;
1483
+ constructor(ci: btWheelInfoConstructionInfo);
1484
+ getSuspensionRestLength(): number;
1485
+ updateWheel(chassis: btRigidBody, raycastInfo: RaycastInfo): void;
1486
+ get_m_worldTransform(): btTransform;
1487
+ set_m_worldTransform(m_worldTransform: btTransform): void;
1488
+ m_worldTransform: btTransform;
1489
+ get_m_wheelDirectionCS(): btVector3;
1490
+ set_m_wheelDirectionCS(m_wheelDirectionCS: btVector3): void;
1491
+ m_wheelDirectionCS: btVector3;
1492
+ get_m_wheelAxleCS(): btVector3;
1493
+ set_m_wheelAxleCS(m_wheelAxleCS: btVector3): void;
1494
+ m_wheelAxleCS: btVector3;
1495
+ get_m_rotation(): number;
1496
+ set_m_rotation(m_rotation: number): void;
1497
+ m_rotation: number;
1498
+ get_m_deltaRotation(): number;
1499
+ set_m_deltaRotation(m_deltaRotation: number): void;
1500
+ m_deltaRotation: number;
1501
+ get_m_brake(): number;
1502
+ set_m_brake(m_brake: number): void;
1503
+ m_brake: number;
1504
+ get_m_clippedInvContactDotSuspension(): number;
1505
+ set_m_clippedInvContactDotSuspension(m_clippedInvContactDotSuspension: number): void;
1506
+ m_clippedInvContactDotSuspension: number;
1507
+ get_m_suspensionRelativeVelocity(): number;
1508
+ set_m_suspensionRelativeVelocity(m_suspensionRelativeVelocity: number): void;
1509
+ m_suspensionRelativeVelocity: number;
1510
+ get_m_skidInfo(): number;
1511
+ set_m_skidInfo(m_skidInfo: number): void;
1512
+ m_skidInfo: number;
1513
+ }
1514
+ class btActionInterface {
1515
+ updateAction(collisionWorld: btCollisionWorld, deltaTimeStep: number): void;
1516
+ }
1517
+ class btKinematicCharacterController extends btActionInterface {
1518
+ constructor(ghostObject: btPairCachingGhostObject, convexShape: btConvexShape, stepHeight: number, up?: btVector3);
1519
+ getUp(): btVector3;
1520
+ setUp(axis: btVector3): void;
1521
+ setWalkDirection(walkDirection: btVector3): void;
1522
+ setVelocityForTimeInterval(velocity: btVector3, timeInterval: number): void;
1523
+ setAngularVelocity(velocity: btVector3): void;
1524
+ getAngularVelocity(): btVector3;
1525
+ setLinearVelocity(velocity: btVector3): void;
1526
+ getLinearVelocity(): btVector3;
1527
+ setLinearDamping(d: number): void;
1528
+ getLinearDamping(): number;
1529
+ setAngularDamping(d: number): void;
1530
+ getAngularDamping(): number;
1531
+ reset(collisionWorld: btCollisionWorld): void;
1532
+ warp(origin: btVector3): void;
1533
+ preStep(collisionWorld: btCollisionWorld): void;
1534
+ playerStep(collisionWorld: btCollisionWorld, dt: number): void;
1535
+ setStepHeight(h: number): void;
1536
+ getStepHeight(): number;
1537
+ setFallSpeed(fallSpeed: number): void;
1538
+ getFallSpeed(): number;
1539
+ setJumpSpeed(jumpSpeed: number): void;
1540
+ getJumpSpeed(): number;
1541
+ setMaxJumpHeight(maxJumpHeight: number): void;
1542
+ canJump(): boolean;
1543
+ jump(v?: btVector3): void;
1544
+ applyImpulse(v: btVector3): void;
1545
+ setGravity(gravity: btVector3): void;
1546
+ getGravity(): btVector3;
1547
+ setMaxSlope(slopeRadians: number): void;
1548
+ getMaxSlope(): number;
1549
+ setMaxPenetrationDepth(d: number): void;
1550
+ getMaxPenetrationDepth(): number;
1551
+ getGhostObject(): btPairCachingGhostObject;
1552
+ setUseGhostSweepTest(useGhostObjectSweepTest: boolean): void;
1553
+ onGround(): boolean;
1554
+ setUpInterpolate(value: boolean): void;
1555
+ }
1556
+ class btRaycastVehicle extends btActionInterface {
1557
+ constructor(tuning: btVehicleTuning, chassis: btRigidBody, raycaster: btVehicleRaycaster);
1558
+ applyEngineForce(force: number, wheel: number): void;
1559
+ setSteeringValue(steering: number, wheel: number): void;
1560
+ getWheelTransformWS(wheelIndex: number): btTransform;
1561
+ updateWheelTransform(wheelIndex: number, interpolatedTransform: boolean): void;
1562
+ addWheel(
1563
+ connectionPointCS0: btVector3,
1564
+ wheelDirectionCS0: btVector3,
1565
+ wheelAxleCS: btVector3,
1566
+ suspensionRestLength: number,
1567
+ wheelRadius: number,
1568
+ tuning: btVehicleTuning,
1569
+ isFrontWheel: boolean,
1570
+ ): btWheelInfo;
1571
+ getNumWheels(): number;
1572
+ getRigidBody(): btRigidBody;
1573
+ getWheelInfo(index: number): btWheelInfo;
1574
+ setBrake(brake: number, wheelIndex: number): void;
1575
+ setCoordinateSystem(rightIndex: number, upIndex: number, forwardIndex: number): void;
1576
+ getCurrentSpeedKmHour(): number;
1577
+ getChassisWorldTransform(): btTransform;
1578
+ rayCast(wheel: btWheelInfo): number;
1579
+ updateVehicle(step: number): void;
1580
+ resetSuspension(): void;
1581
+ getSteeringValue(wheel: number): number;
1582
+ updateWheelTransformsWS(wheel: btWheelInfo, interpolatedTransform?: boolean): void;
1583
+ setPitchControl(pitch: number): void;
1584
+ updateSuspension(deltaTime: number): void;
1585
+ updateFriction(timeStep: number): void;
1586
+ getRightAxis(): number;
1587
+ getUpAxis(): number;
1588
+ getForwardAxis(): number;
1589
+ getForwardVector(): btVector3;
1590
+ getUserConstraintType(): number;
1591
+ setUserConstraintType(userConstraintType: number): void;
1592
+ setUserConstraintId(uid: number): void;
1593
+ getUserConstraintId(): number;
1594
+ }
1595
+ class btGhostObject extends btCollisionObject {
1596
+ constructor();
1597
+ getNumOverlappingObjects(): number;
1598
+ getOverlappingObject(index: number): btCollisionObject;
1599
+ }
1600
+ class btPairCachingGhostObject extends btGhostObject {
1601
+ constructor();
1602
+ }
1603
+ class btGhostPairCallback {
1604
+ constructor();
1605
+ }
1606
+ type btMultibodyLink_eFeatherstoneJointType =
1607
+ | 'btMultibodyLink::eRevolute'
1608
+ | 'btMultibodyLink::ePrismatic'
1609
+ | 'btMultibodyLink::eSpherical'
1610
+ | 'btMultibodyLink::ePlanar'
1611
+ | 'btMultibodyLink::eFixed'
1612
+ | 'btMultibodyLink::eInvalid';
1613
+ class btMultibodyLink {
1614
+ get_m_mass(): number;
1615
+ set_m_mass(m_mass: number): void;
1616
+ m_mass: number;
1617
+ get_m_inertiaLocal(): btVector3;
1618
+ set_m_inertiaLocal(m_inertiaLocal: btVector3): void;
1619
+ m_inertiaLocal: btVector3;
1620
+ get_m_parent(): number;
1621
+ set_m_parent(m_parent: number): void;
1622
+ m_parent: number;
1623
+ get_m_zeroRotParentToThis(): btQuaternion;
1624
+ set_m_zeroRotParentToThis(m_zeroRotParentToThis: btQuaternion): void;
1625
+ m_zeroRotParentToThis: btQuaternion;
1626
+ get_m_dVector(): btVector3;
1627
+ set_m_dVector(m_dVector: btVector3): void;
1628
+ m_dVector: btVector3;
1629
+ get_m_eVector(): btVector3;
1630
+ set_m_eVector(m_eVector: btVector3): void;
1631
+ m_eVector: btVector3;
1632
+ get_m_absFrameTotVelocity(): btSpatialMotionVector;
1633
+ set_m_absFrameTotVelocity(m_absFrameTotVelocity: btSpatialMotionVector): void;
1634
+ m_absFrameTotVelocity: btSpatialMotionVector;
1635
+ get_m_absFrameLocVelocity(): btSpatialMotionVector;
1636
+ set_m_absFrameLocVelocity(m_absFrameLocVelocity: btSpatialMotionVector): void;
1637
+ m_absFrameLocVelocity: btSpatialMotionVector;
1638
+ setAxisTop(dof: number, axis: btVector3): void;
1639
+ setAxisBottom(dof: number, axis: btVector3): void;
1640
+ getAxisTop(dof: number): btVector3;
1641
+ getAxisBottom(dof: number): btVector3;
1642
+ get_m_dofOffset(): number;
1643
+ set_m_dofOffset(m_dofOffset: number): void;
1644
+ m_dofOffset: number;
1645
+ get_m_cfgOffset(): number;
1646
+ set_m_cfgOffset(m_cfgOffset: number): void;
1647
+ m_cfgOffset: number;
1648
+ get_m_cachedRotParentToThis(): btQuaternion;
1649
+ set_m_cachedRotParentToThis(m_cachedRotParentToThis: btQuaternion): void;
1650
+ m_cachedRotParentToThis: btQuaternion;
1651
+ get_m_cachedRVector(): btVector3;
1652
+ set_m_cachedRVector(m_cachedRVector: btVector3): void;
1653
+ m_cachedRVector: btVector3;
1654
+ get_m_cachedRotParentToThis_interpolate(): btQuaternion;
1655
+ set_m_cachedRotParentToThis_interpolate(m_cachedRotParentToThis_interpolate: btQuaternion): void;
1656
+ m_cachedRotParentToThis_interpolate: btQuaternion;
1657
+ get_m_cachedRVector_interpolate(): btVector3;
1658
+ set_m_cachedRVector_interpolate(m_cachedRVector_interpolate: btVector3): void;
1659
+ m_cachedRVector_interpolate: btVector3;
1660
+ get_m_appliedForce(): btVector3;
1661
+ set_m_appliedForce(m_appliedForce: btVector3): void;
1662
+ m_appliedForce: btVector3;
1663
+ get_m_appliedTorque(): btVector3;
1664
+ set_m_appliedTorque(m_appliedTorque: btVector3): void;
1665
+ m_appliedTorque: btVector3;
1666
+ get_m_appliedConstraintForce(): btVector3;
1667
+ set_m_appliedConstraintForce(m_appliedConstraintForce: btVector3): void;
1668
+ m_appliedConstraintForce: btVector3;
1669
+ get_m_appliedConstraintTorque(): btVector3;
1670
+ set_m_appliedConstraintTorque(m_appliedConstraintTorque: btVector3): void;
1671
+ m_appliedConstraintTorque: btVector3;
1672
+ get_m_collider(): btMultiBodyLinkCollider;
1673
+ set_m_collider(m_collider: btMultiBodyLinkCollider): void;
1674
+ m_collider: btMultiBodyLinkCollider;
1675
+ get_m_flags(): number;
1676
+ set_m_flags(m_flags: number): void;
1677
+ m_flags: number;
1678
+ get_m_dofCount(): number;
1679
+ set_m_dofCount(m_dofCount: number): void;
1680
+ m_dofCount: number;
1681
+ get_m_posVarCount(): number;
1682
+ set_m_posVarCount(m_posVarCount: number): void;
1683
+ m_posVarCount: number;
1684
+ get_m_jointType(): btMultibodyLink_eFeatherstoneJointType;
1685
+ set_m_jointType(m_jointType: btMultibodyLink_eFeatherstoneJointType): void;
1686
+ m_jointType: btMultibodyLink_eFeatherstoneJointType;
1687
+ get_m_cachedWorldTransform(): btTransform;
1688
+ set_m_cachedWorldTransform(m_cachedWorldTransform: btTransform): void;
1689
+ m_cachedWorldTransform: btTransform;
1690
+ get_m_linkName(): string;
1691
+ set_m_linkName(m_linkName: string): void;
1692
+ m_linkName: string;
1693
+ get_m_jointName(): string;
1694
+ set_m_jointName(m_jointName: string): void;
1695
+ m_jointName: string;
1696
+ get_m_userPtr(): unknown;
1697
+ set_m_userPtr(m_userPtr: unknown): void;
1698
+ m_userPtr: unknown;
1699
+ get_m_jointDamping(): number;
1700
+ set_m_jointDamping(m_jointDamping: number): void;
1701
+ m_jointDamping: number;
1702
+ get_m_jointFriction(): number;
1703
+ set_m_jointFriction(m_jointFriction: number): void;
1704
+ m_jointFriction: number;
1705
+ get_m_jointLowerLimit(): number;
1706
+ set_m_jointLowerLimit(m_jointLowerLimit: number): void;
1707
+ m_jointLowerLimit: number;
1708
+ get_m_jointUpperLimit(): number;
1709
+ set_m_jointUpperLimit(m_jointUpperLimit: number): void;
1710
+ m_jointUpperLimit: number;
1711
+ get_m_jointMaxForce(): number;
1712
+ set_m_jointMaxForce(m_jointMaxForce: number): void;
1713
+ m_jointMaxForce: number;
1714
+ get_m_jointMaxVelocity(): number;
1715
+ set_m_jointMaxVelocity(m_jointMaxVelocity: number): void;
1716
+ m_jointMaxVelocity: number;
1717
+ constructor();
1718
+ }
1719
+ class btMultiBodyLinkCollider extends btCollisionObject {
1720
+ get_m_multiBody(): btMultiBody;
1721
+ set_m_multiBody(m_multiBody: btMultiBody): void;
1722
+ m_multiBody: btMultiBody;
1723
+ get_m_link(): number;
1724
+ set_m_link(m_link: number): void;
1725
+ m_link: number;
1726
+ constructor(multiBody: btMultiBody, link: number);
1727
+ upcast(colObj: btCollisionObject): btMultiBodyLinkCollider;
1728
+ checkCollideWithOverride(co: btCollisionObject): boolean;
1729
+ }
1730
+ class btMultiBody {
1731
+ constructor(
1732
+ n_links: number,
1733
+ mass: number,
1734
+ inertia: btVector3,
1735
+ fixed_base_: boolean,
1736
+ can_sleep_: boolean,
1737
+ deprecatedMultiDof?: boolean,
1738
+ );
1739
+ setupFixed(
1740
+ i: number,
1741
+ mass: number,
1742
+ inertia: btVector3,
1743
+ parent: number,
1744
+ rotParentToThis: btQuaternion,
1745
+ parentComToThisPivotOffset: btVector3,
1746
+ thisPivotToThisComOffset: btVector3,
1747
+ deprecatedDisableParentCollision?: boolean,
1748
+ ): void;
1749
+ setupPrismatic(
1750
+ i: number,
1751
+ mass: number,
1752
+ inertia: btVector3,
1753
+ parent: number,
1754
+ rot_parent_to_this: btQuaternion,
1755
+ joint_axis: btVector3,
1756
+ parentComToThisPivotOffset: btVector3,
1757
+ thisPivotToThisComOffset: btVector3,
1758
+ disableParentCollision: boolean,
1759
+ ): void;
1760
+ setupRevolute(
1761
+ i: number,
1762
+ mass: number,
1763
+ inertia: btVector3,
1764
+ parent: number,
1765
+ zero_rot_parent_to_this: btQuaternion,
1766
+ joint_axis: btVector3,
1767
+ parent_axis_position: btVector3,
1768
+ my_axis_position: btVector3,
1769
+ disableParentCollision?: boolean,
1770
+ ): void;
1771
+ setupSpherical(
1772
+ i: number,
1773
+ mass: number,
1774
+ inertia: btVector3,
1775
+ parent: number,
1776
+ rotParentToThis: btQuaternion,
1777
+ parentComToThisPivotOffset: btVector3,
1778
+ thisPivotToThisComOffset: btVector3,
1779
+ disableParentCollision?: boolean,
1780
+ ): void;
1781
+ setupPlanar(
1782
+ i: number,
1783
+ mass: number,
1784
+ inertia: btVector3,
1785
+ parent: number,
1786
+ rotParentToThis: btQuaternion,
1787
+ rotationAxis: btVector3,
1788
+ parentComToThisComOffset: btVector3,
1789
+ disableParentCollision?: boolean,
1790
+ ): void;
1791
+ getLink(index: number): btMultibodyLink;
1792
+ setBaseCollider(collider: btMultiBodyLinkCollider): void;
1793
+ getBaseCollider(): btMultiBodyLinkCollider;
1794
+ getLinkCollider(index: number): btMultiBodyLinkCollider;
1795
+ getParent(link_num: number): number;
1796
+ getNumLinks(): number;
1797
+ getNumDofs(): number;
1798
+ getNumPosVars(): number;
1799
+ getBaseMass(): number;
1800
+ getBaseInertia(): btVector3;
1801
+ getLinkMass(i: number): number;
1802
+ getLinkInertia(i: number): btVector3;
1803
+ setBaseMass(mass: number): void;
1804
+ setBaseInertia(inertia: btVector3): void;
1805
+ getBasePos(): btVector3;
1806
+ getBaseVel(): btVector3;
1807
+ getWorldToBaseRot(): btQuaternion;
1808
+ getInterpolateBasePos(): btVector3;
1809
+ getInterpolateWorldToBaseRot(): btQuaternion;
1810
+ getBaseOmega(): btVector3;
1811
+ setBasePos(pos: btVector3): void;
1812
+ setInterpolateBasePos(pos: btVector3): void;
1813
+ setBaseWorldTransform(tr: btTransform): void;
1814
+ getBaseWorldTransform(): btTransform;
1815
+ setInterpolateBaseWorldTransform(tr: btTransform): void;
1816
+ getInterpolateBaseWorldTransform(): btTransform;
1817
+ setBaseVel(vel: btVector3): void;
1818
+ setWorldToBaseRot(rot: btQuaternion): void;
1819
+ setInterpolateWorldToBaseRot(rot: btQuaternion): void;
1820
+ setBaseOmega(omega: btVector3): void;
1821
+ getJointPos(i: number): number;
1822
+ getJointVel(i: number): number;
1823
+ setJointPos(i: number, q: number): void;
1824
+ setJointVel(i: number, qdot: number): void;
1825
+ getRVector(i: number): btVector3;
1826
+ getParentToLocalRot(i: number): btQuaternion;
1827
+ getInterpolateRVector(i: number): btVector3;
1828
+ getInterpolateParentToLocalRot(i: number): btQuaternion;
1829
+ localPosToWorld(i: number, vec: btVector3): btVector3;
1830
+ localDirToWorld(i: number, vec: btVector3): btVector3;
1831
+ worldPosToLocal(i: number, vec: btVector3): btVector3;
1832
+ worldDirToLocal(i: number, vec: btVector3): btVector3;
1833
+ localFrameToWorld(i: number, local_frame: btMatrix3x3): btMatrix3x3;
1834
+ clearForcesAndTorques(): void;
1835
+ clearConstraintForces(): void;
1836
+ clearVelocities(): void;
1837
+ addBaseForce(f: btVector3): void;
1838
+ addBaseTorque(t: btVector3): void;
1839
+ addLinkForce(i: number, f: btVector3): void;
1840
+ addLinkTorque(i: number, t: btVector3): void;
1841
+ addBaseConstraintForce(f: btVector3): void;
1842
+ addBaseConstraintTorque(t: btVector3): void;
1843
+ addLinkConstraintForce(i: number, f: btVector3): void;
1844
+ addLinkConstraintTorque(i: number, t: btVector3): void;
1845
+ addJointTorque(i: number, Q: number): void;
1846
+ addJointTorqueMultiDof(i: number, dof: number, Q: number): void;
1847
+ getBaseForce(): btVector3;
1848
+ getBaseTorque(): btVector3;
1849
+ getLinkForce(i: number): btVector3;
1850
+ getLinkTorque(i: number): btVector3;
1851
+ getJointTorque(i: number): number;
1852
+ computeAccelerationsArticulatedBodyAlgorithmMultiDof(
1853
+ dt: number,
1854
+ scratch_r: btScalarArray,
1855
+ scratch_v: btVector3Array,
1856
+ scratch_m: btMatrix3x3Array,
1857
+ isConstraintPass: boolean,
1858
+ jointFeedbackInWorldSpace: boolean,
1859
+ jointFeedbackInJointFrame: boolean,
1860
+ ): void;
1861
+ setCanSleep(canSleep: boolean): void;
1862
+ getCanSleep(): boolean;
1863
+ getCanWakeup(): boolean;
1864
+ setCanWakeup(canWakeup: boolean): void;
1865
+ isAwake(): boolean;
1866
+ wakeUp(): void;
1867
+ goToSleep(): void;
1868
+ checkMotionAndSleepIfRequired(timestep: number): void;
1869
+ hasFixedBase(): boolean;
1870
+ isBaseKinematic(): boolean;
1871
+ isBaseStaticOrKinematic(): boolean;
1872
+ setBaseDynamicType(dynamicType: number): void;
1873
+ setFixedBase(fixedBase: boolean): void;
1874
+ getCompanionId(): number;
1875
+ setCompanionId(id: number): void;
1876
+ setNumLinks(numLinks: number): void;
1877
+ getLinearDamping(): number;
1878
+ setLinearDamping(damp: number): void;
1879
+ getAngularDamping(): number;
1880
+ setAngularDamping(damp: number): void;
1881
+ getUseGyroTerm(): boolean;
1882
+ setUseGyroTerm(useGyro: boolean): void;
1883
+ getMaxCoordinateVelocity(): number;
1884
+ setMaxCoordinateVelocity(maxVel: number): void;
1885
+ getMaxAppliedImpulse(): number;
1886
+ setMaxAppliedImpulse(maxImp: number): void;
1887
+ setHasSelfCollision(hasSelfCollision: boolean): void;
1888
+ hasSelfCollision(): boolean;
1889
+ finalizeMultiDof(): void;
1890
+ useRK4Integration(use: boolean): void;
1891
+ isUsingRK4Integration(): boolean;
1892
+ useGlobalVelocities(use: boolean): void;
1893
+ isUsingGlobalVelocities(): boolean;
1894
+ setLinkDynamicType(i: number, type: number): void;
1895
+ isLinkStaticOrKinematic(i: number): boolean;
1896
+ isLinkKinematic(i: number): boolean;
1897
+ isLinkAndAllAncestorsStaticOrKinematic(i: number): boolean;
1898
+ isLinkAndAllAncestorsKinematic(i: number): boolean;
1899
+ setSleepThreshold(sleepThreshold: number): void;
1900
+ setSleepTimeout(sleepTimeout: number): void;
1901
+ }
1902
+ class btMultiBodyJacobianData {
1903
+ get_m_jacobians(): btScalarArray;
1904
+ set_m_jacobians(m_jacobians: btScalarArray): void;
1905
+ m_jacobians: btScalarArray;
1906
+ get_m_deltaVelocitiesUnitImpulse(): btScalarArray;
1907
+ set_m_deltaVelocitiesUnitImpulse(m_deltaVelocitiesUnitImpulse: btScalarArray): void;
1908
+ m_deltaVelocitiesUnitImpulse: btScalarArray;
1909
+ get_m_deltaVelocities(): btScalarArray;
1910
+ set_m_deltaVelocities(m_deltaVelocities: btScalarArray): void;
1911
+ m_deltaVelocities: btScalarArray;
1912
+ get_scratch_r(): btScalarArray;
1913
+ set_scratch_r(scratch_r: btScalarArray): void;
1914
+ scratch_r: btScalarArray;
1915
+ get_scratch_v(): btVector3Array;
1916
+ set_scratch_v(scratch_v: btVector3Array): void;
1917
+ scratch_v: btVector3Array;
1918
+ get_scratch_m(): btMatrix3x3Array;
1919
+ set_scratch_m(scratch_m: btMatrix3x3Array): void;
1920
+ scratch_m: btMatrix3x3Array;
1921
+ get_m_solverBodyPool(): btSolverBodyArray;
1922
+ set_m_solverBodyPool(m_solverBodyPool: btSolverBodyArray): void;
1923
+ m_solverBodyPool: btSolverBodyArray;
1924
+ get_m_fixedBodyId(): number;
1925
+ set_m_fixedBodyId(m_fixedBodyId: number): void;
1926
+ m_fixedBodyId: number;
1927
+ }
1928
+ class btMultiBodyConstraint {
1929
+ getIslandIdA(): number;
1930
+ getIslandIdB(): number;
1931
+ getNumRows(): number;
1932
+ getMultiBodyA(): btMultiBody;
1933
+ getMultiBodyB(): btMultiBody;
1934
+ getPosition(row: number): number;
1935
+ setPosition(row: number, pos: number): void;
1936
+ isUnilateral(): boolean;
1937
+ getMaxAppliedImpulse(): number;
1938
+ setMaxAppliedImpulse(maxImp: number): void;
1939
+ }
1940
+ class btMultiBodyMLCPConstraintSolver extends btMultiBodyConstraintSolver {
1941
+ constructor(solver: btMLCPSolverInterface);
1942
+ setMLCPSolver(solver: btMLCPSolverInterface): void;
1943
+ getNumFallbacks(): number;
1944
+ setNumFallbacks(num: number): void;
1945
+ getSolverType(): btConstraintSolverType;
1946
+ }
1947
+ class btMultiBodyConstraintSolver extends btSequentialImpulseConstraintSolver {
1948
+ constructor();
1949
+ }
1950
+ class btMultiBodyDynamicsWorld extends btDiscreteDynamicsWorld {
1951
+ constructor(
1952
+ dispatcher: btDispatcher,
1953
+ pairCache: btBroadphaseInterface,
1954
+ constraintSolver: btMultiBodyConstraintSolver,
1955
+ collisionConfiguration: btCollisionConfiguration,
1956
+ );
1957
+ addMultiBody(body: btMultiBody, group: number, mask: number): void;
1958
+ removeMultiBody(body: btMultiBody): void;
1959
+ addMultiBodyConstraint(constraint: btMultiBodyConstraint): void;
1960
+ removeMultiBodyConstraint(constraint: btMultiBodyConstraint): void;
1961
+ }
1962
+ class btMultiBodyFixedConstraint extends btMultiBodyConstraint {
1963
+ constructor(
1964
+ bodyA: btMultiBody,
1965
+ linkA: number,
1966
+ bodyB: btMultiBody,
1967
+ linkB: number,
1968
+ pivotInA: btVector3,
1969
+ pivotInB: btVector3,
1970
+ frameInA: btMatrix3x3,
1971
+ frameInB: btMatrix3x3,
1972
+ );
1973
+ finalizeMultiDof(): void;
1974
+ getIslandIdA(): number;
1975
+ getIslandIdB(): number;
1976
+ createConstraintRows(
1977
+ constraintRows: btMultiBodyConstraintArray,
1978
+ data: btMultiBodyJacobianData,
1979
+ infoGlobal: btContactSolverInfo,
1980
+ ): void;
1981
+ getPivotInA(): btVector3;
1982
+ setPivotInA(pivotInA: btVector3): void;
1983
+ getPivotInB(): btVector3;
1984
+ setPivotInB(pivotInB: btVector3): void;
1985
+ getFrameInA(): btMatrix3x3;
1986
+ setFrameInA(frameInA: btMatrix3x3): void;
1987
+ getFrameInB(): btMatrix3x3;
1988
+ setFrameInB(frameInB: btMatrix3x3): void;
1989
+ }
1990
+ class btMultiBodyGearConstraint extends btMultiBodyConstraint {
1991
+ constructor(
1992
+ bodyA: btMultiBody,
1993
+ linkA: number,
1994
+ bodyB: btMultiBody,
1995
+ linkB: number,
1996
+ pivotInA: btVector3,
1997
+ pivotInB: btVector3,
1998
+ frameInA: btMatrix3x3,
1999
+ frameInB: btMatrix3x3,
2000
+ );
2001
+ finalizeMultiDof(): void;
2002
+ getIslandIdA(): number;
2003
+ getIslandIdB(): number;
2004
+ createConstraintRows(
2005
+ constraintRows: btMultiBodyConstraintArray,
2006
+ data: btMultiBodyJacobianData,
2007
+ infoGlobal: btContactSolverInfo,
2008
+ ): void;
2009
+ getPivotInA(): btVector3;
2010
+ setPivotInA(pivotInA: btVector3): void;
2011
+ getPivotInB(): btVector3;
2012
+ setPivotInB(pivotInB: btVector3): void;
2013
+ getFrameInA(): btMatrix3x3;
2014
+ setFrameInA(frameInA: btMatrix3x3): void;
2015
+ getFrameInB(): btMatrix3x3;
2016
+ setFrameInB(frameInB: btMatrix3x3): void;
2017
+ setGearRatio(gearRatio: number): void;
2018
+ setGearAuxLink(gearAuxLink: number): void;
2019
+ setRelativePositionTarget(relPosTarget: number): void;
2020
+ setErp(erp: number): void;
2021
+ }
2022
+ class btMultiBodyJointLimitConstraint extends btMultiBodyConstraint {
2023
+ constructor(body: btMultiBody, link: number, lower: number, upper: number);
2024
+ finalizeMultiDof(): void;
2025
+ getIslandIdA(): number;
2026
+ getIslandIdB(): number;
2027
+ createConstraintRows(
2028
+ constraintRows: btMultiBodyConstraintArray,
2029
+ data: btMultiBodyJacobianData,
2030
+ infoGlobal: btContactSolverInfo,
2031
+ ): void;
2032
+ getLowerBound(): number;
2033
+ getUpperBound(): number;
2034
+ setLowerBound(lower: number): void;
2035
+ setUpperBound(upper: number): void;
2036
+ }
2037
+ class btMultiBodyJointMotor extends btMultiBodyConstraint {
2038
+ constructor(body: btMultiBody, link: number, linkDoF: number, desiredVelocity: number, maxMotorImpulse: number);
2039
+ finalizeMultiDof(): void;
2040
+ getIslandIdA(): number;
2041
+ getIslandIdB(): number;
2042
+ createConstraintRows(
2043
+ constraintRows: btMultiBodyConstraintArray,
2044
+ data: btMultiBodyJacobianData,
2045
+ infoGlobal: btContactSolverInfo,
2046
+ ): void;
2047
+ setVelocityTarget(velTarget: number, kd?: number): void;
2048
+ setPositionTarget(posTarget: number, kp?: number): void;
2049
+ setErp(erp: number): void;
2050
+ getErp(): number;
2051
+ setRhsClamp(rhsClamp: number): void;
2052
+ }
2053
+ class btMultiBodyPoint2Point extends btMultiBodyConstraint {
2054
+ constructor(body: btMultiBody, link: number, bodyB: btRigidBody, pivotInA: btVector3, pivotInB: btVector3);
2055
+ constructor(
2056
+ bodyA: btMultiBody,
2057
+ linkA: number,
2058
+ bodyB: btMultiBody,
2059
+ linkB: number,
2060
+ pivotInA: btVector3,
2061
+ pivotInB: btVector3,
2062
+ );
2063
+ finalizeMultiDof(): void;
2064
+ getIslandIdA(): number;
2065
+ getIslandIdB(): number;
2066
+ createConstraintRows(
2067
+ constraintRows: btMultiBodyConstraintArray,
2068
+ data: btMultiBodyJacobianData,
2069
+ infoGlobal: btContactSolverInfo,
2070
+ ): void;
2071
+ getPivotInB(): btVector3;
2072
+ setPivotInB(pivotInB: btVector3): void;
2073
+ }
2074
+ class btMultiBodySliderConstraint extends btMultiBodyConstraint {
2075
+ constructor(
2076
+ body: btMultiBody,
2077
+ link: number,
2078
+ bodyB: btRigidBody,
2079
+ pivotInA: btVector3,
2080
+ pivotInB: btVector3,
2081
+ frameInA: btMatrix3x3,
2082
+ frameInB: btMatrix3x3,
2083
+ jointAxis: btVector3,
2084
+ );
2085
+ constructor(
2086
+ bodyA: btMultiBody,
2087
+ linkA: number,
2088
+ bodyB: btMultiBody,
2089
+ linkB: number,
2090
+ pivotInA: btVector3,
2091
+ pivotInB: btVector3,
2092
+ frameInA: btMatrix3x3,
2093
+ frameInB: btMatrix3x3,
2094
+ jointAxis: btVector3,
2095
+ );
2096
+ finalizeMultiDof(): void;
2097
+ getIslandIdA(): number;
2098
+ getIslandIdB(): number;
2099
+ createConstraintRows(
2100
+ constraintRows: btMultiBodyConstraintArray,
2101
+ data: btMultiBodyJacobianData,
2102
+ infoGlobal: btContactSolverInfo,
2103
+ ): void;
2104
+ getPivotInA(): btVector3;
2105
+ setPivotInA(pivotInA: btVector3): void;
2106
+ getPivotInB(): btVector3;
2107
+ setPivotInB(pivotInB: btVector3): void;
2108
+ getFrameInA(): btMatrix3x3;
2109
+ setFrameInA(frameInA: btMatrix3x3): void;
2110
+ getFrameInB(): btMatrix3x3;
2111
+ setFrameInB(frameInB: btMatrix3x3): void;
2112
+ getJointAxis(): btVector3;
2113
+ setJointAxis(jointAxis: btVector3): void;
2114
+ }
2115
+ class btMultiBodySphericalJointLimit extends btMultiBodyConstraint {
2116
+ constructor(
2117
+ body: btMultiBody,
2118
+ link: number,
2119
+ swingxRange: number,
2120
+ swingyRange: number,
2121
+ twistRange: number,
2122
+ maxAppliedImpulse: number,
2123
+ );
2124
+ finalizeMultiDof(): void;
2125
+ getIslandIdA(): number;
2126
+ getIslandIdB(): number;
2127
+ createConstraintRows(
2128
+ constraintRows: btMultiBodyConstraintArray,
2129
+ data: btMultiBodyJacobianData,
2130
+ infoGlobal: btContactSolverInfo,
2131
+ ): void;
2132
+ setVelocityTarget(velTarget: btVector3, kd?: number): void;
2133
+ setVelocityTargetMultiDof(velTarget: btVector3, kd?: btVector3): void;
2134
+ setPositionTarget(posTarget: btQuaternion, kp?: number): void;
2135
+ setPositionTargetMultiDof(posTarget: btQuaternion, kp?: btVector3): void;
2136
+ setErp(erp: number): void;
2137
+ getErp(): number;
2138
+ setRhsClamp(rhsClamp: number): void;
2139
+ getMaxAppliedImpulseMultiDof(i: number): number;
2140
+ setMaxAppliedImpulseMultiDof(maxImp: btVector3): void;
2141
+ }
2142
+ class btMultiBodySphericalJointMotor extends btMultiBodyConstraint {
2143
+ constructor(body: btMultiBody, link: number, maxMotorImpulse: number);
2144
+ finalizeMultiDof(): void;
2145
+ getIslandIdA(): number;
2146
+ getIslandIdB(): number;
2147
+ createConstraintRows(
2148
+ constraintRows: btMultiBodyConstraintArray,
2149
+ data: btMultiBodyJacobianData,
2150
+ infoGlobal: btContactSolverInfo,
2151
+ ): void;
2152
+ setVelocityTarget(velTarget: btVector3, kd?: number): void;
2153
+ setVelocityTargetMultiDof(velTarget: btVector3, kd?: btVector3): void;
2154
+ setPositionTarget(posTarget: btQuaternion, kp?: number): void;
2155
+ setPositionTargetMultiDof(posTarget: btQuaternion, kp?: btVector3): void;
2156
+ setErp(erp: number): void;
2157
+ getErp(): number;
2158
+ setRhsClamp(rhsClamp: number): void;
2159
+ getMaxAppliedImpulseMultiDof(i: number): number;
2160
+ setMaxAppliedImpulseMultiDof(maxImp: btVector3): void;
2161
+ getDamping(i: number): number;
2162
+ setDamping(damping: btVector3): void;
2163
+ }
2164
+ class btMultiBodySolverConstraint {
2165
+ get_m_deltaVelAindex(): number;
2166
+ set_m_deltaVelAindex(m_deltaVelAindex: number): void;
2167
+ m_deltaVelAindex: number;
2168
+ get_m_relpos1CrossNormal(): btVector3;
2169
+ set_m_relpos1CrossNormal(m_relpos1CrossNormal: btVector3): void;
2170
+ m_relpos1CrossNormal: btVector3;
2171
+ get_m_contactNormal1(): btVector3;
2172
+ set_m_contactNormal1(m_contactNormal1: btVector3): void;
2173
+ m_contactNormal1: btVector3;
2174
+ get_m_jacAindex(): number;
2175
+ set_m_jacAindex(m_jacAindex: number): void;
2176
+ m_jacAindex: number;
2177
+ get_m_deltaVelBindex(): number;
2178
+ set_m_deltaVelBindex(m_deltaVelBindex: number): void;
2179
+ m_deltaVelBindex: number;
2180
+ get_m_contactNormal2(): btVector3;
2181
+ set_m_contactNormal2(m_contactNormal2: btVector3): void;
2182
+ m_contactNormal2: btVector3;
2183
+ get_m_relpos2CrossNormal(): btVector3;
2184
+ set_m_relpos2CrossNormal(m_relpos2CrossNormal: btVector3): void;
2185
+ m_relpos2CrossNormal: btVector3;
2186
+ get_m_jacBindex(): number;
2187
+ set_m_jacBindex(m_jacBindex: number): void;
2188
+ m_jacBindex: number;
2189
+ get_m_angularComponentA(): btVector3;
2190
+ set_m_angularComponentA(m_angularComponentA: btVector3): void;
2191
+ m_angularComponentA: btVector3;
2192
+ get_m_angularComponentB(): btVector3;
2193
+ set_m_angularComponentB(m_angularComponentB: btVector3): void;
2194
+ m_angularComponentB: btVector3;
2195
+ get_m_friction(): number;
2196
+ set_m_friction(m_friction: number): void;
2197
+ m_friction: number;
2198
+ get_m_jacDiagABInv(): number;
2199
+ set_m_jacDiagABInv(m_jacDiagABInv: number): void;
2200
+ m_jacDiagABInv: number;
2201
+ get_m_rhs(): number;
2202
+ set_m_rhs(m_rhs: number): void;
2203
+ m_rhs: number;
2204
+ get_m_cfm(): number;
2205
+ set_m_cfm(m_cfm: number): void;
2206
+ m_cfm: number;
2207
+ get_m_lowerLimit(): number;
2208
+ set_m_lowerLimit(m_lowerLimit: number): void;
2209
+ m_lowerLimit: number;
2210
+ get_m_upperLimit(): number;
2211
+ set_m_upperLimit(m_upperLimit: number): void;
2212
+ m_upperLimit: number;
2213
+ get_m_rhsPenetration(): number;
2214
+ set_m_rhsPenetration(m_rhsPenetration: number): void;
2215
+ m_rhsPenetration: number;
2216
+ get_m_overrideNumSolverIterations(): number;
2217
+ set_m_overrideNumSolverIterations(m_overrideNumSolverIterations: number): void;
2218
+ m_overrideNumSolverIterations: number;
2219
+ get_m_frictionIndex(): number;
2220
+ set_m_frictionIndex(m_frictionIndex: number): void;
2221
+ m_frictionIndex: number;
2222
+ get_m_solverBodyIdA(): number;
2223
+ set_m_solverBodyIdA(m_solverBodyIdA: number): void;
2224
+ m_solverBodyIdA: number;
2225
+ get_m_multiBodyA(): btMultiBody;
2226
+ set_m_multiBodyA(m_multiBodyA: btMultiBody): void;
2227
+ m_multiBodyA: btMultiBody;
2228
+ get_m_linkA(): number;
2229
+ set_m_linkA(m_linkA: number): void;
2230
+ m_linkA: number;
2231
+ get_m_solverBodyIdB(): number;
2232
+ set_m_solverBodyIdB(m_solverBodyIdB: number): void;
2233
+ m_solverBodyIdB: number;
2234
+ get_m_multiBodyB(): btMultiBody;
2235
+ set_m_multiBodyB(m_multiBodyB: btMultiBody): void;
2236
+ m_multiBodyB: btMultiBody;
2237
+ get_m_linkB(): number;
2238
+ set_m_linkB(m_linkB: number): void;
2239
+ m_linkB: number;
2240
+ }
2241
+ class btMultiBodyConstraintArray {
2242
+ constructor();
2243
+ size(): number;
2244
+ at(n: number): btMultiBodySolverConstraint;
2245
+ clear(): void;
2246
+ pop_back(): void;
2247
+ resize(newsize: number, fillData: btMultiBodySolverConstraint): void;
2248
+ expandNonInitializing(): btMultiBodySolverConstraint;
2249
+ expand(fillValue: btMultiBodySolverConstraint): btMultiBodySolverConstraint;
2250
+ push_back(Val: btMultiBodySolverConstraint): void;
2251
+ capacity(): number;
2252
+ reserve(Count: number): void;
2253
+ }
2254
+ class btMLCPSolverInterface {}
2255
+ class btDantzigSolver extends btMLCPSolverInterface {
2256
+ constructor();
2257
+ }
2258
+ class btSolveProjectedGaussSeidel extends btMLCPSolverInterface {
2259
+ constructor();
2260
+ }
2261
+ class btLemkeSolver extends btMLCPSolverInterface {
2262
+ constructor();
2263
+ }
2264
+ class btMLCPSolver extends btSequentialImpulseConstraintSolver {
2265
+ constructor(solver: btMLCPSolverInterface);
2266
+ setMLCPSolver(solver: btMLCPSolverInterface): void;
2267
+ getNumFallbacks(): number;
2268
+ setNumFallbacks(num: number): void;
2269
+ getSolverType(): btConstraintSolverType;
2270
+ }
2271
+ class btSoftBodyWorldInfo {
2272
+ constructor();
2273
+ get_air_density(): number;
2274
+ set_air_density(air_density: number): void;
2275
+ air_density: number;
2276
+ get_water_density(): number;
2277
+ set_water_density(water_density: number): void;
2278
+ water_density: number;
2279
+ get_water_offset(): number;
2280
+ set_water_offset(water_offset: number): void;
2281
+ water_offset: number;
2282
+ get_m_maxDisplacement(): number;
2283
+ set_m_maxDisplacement(m_maxDisplacement: number): void;
2284
+ m_maxDisplacement: number;
2285
+ get_water_normal(): btVector3;
2286
+ set_water_normal(water_normal: btVector3): void;
2287
+ water_normal: btVector3;
2288
+ get_m_broadphase(): btBroadphaseInterface;
2289
+ set_m_broadphase(m_broadphase: btBroadphaseInterface): void;
2290
+ m_broadphase: btBroadphaseInterface;
2291
+ get_m_dispatcher(): btDispatcher;
2292
+ set_m_dispatcher(m_dispatcher: btDispatcher): void;
2293
+ m_dispatcher: btDispatcher;
2294
+ get_m_gravity(): btVector3;
2295
+ set_m_gravity(m_gravity: btVector3): void;
2296
+ m_gravity: btVector3;
2297
+ }
2298
+ class Face {
2299
+ get_m_n(): ReadonlyArray<Node>;
2300
+ set_m_n(m_n: ReadonlyArray<Node>): void;
2301
+ m_n: ReadonlyArray<Node>;
2302
+ get_m_normal(): btVector3;
2303
+ set_m_normal(m_normal: btVector3): void;
2304
+ m_normal: btVector3;
2305
+ get_m_ra(): number;
2306
+ set_m_ra(m_ra: number): void;
2307
+ m_ra: number;
2308
+ }
2309
+ class tFaceArray {
2310
+ size(): number;
2311
+ at(n: number): Face;
2312
+ }
2313
+ class Node {
2314
+ get_m_x(): btVector3;
2315
+ set_m_x(m_x: btVector3): void;
2316
+ m_x: btVector3;
2317
+ get_m_q(): btVector3;
2318
+ set_m_q(m_q: btVector3): void;
2319
+ m_q: btVector3;
2320
+ get_m_v(): btVector3;
2321
+ set_m_v(m_v: btVector3): void;
2322
+ m_v: btVector3;
2323
+ get_m_f(): btVector3;
2324
+ set_m_f(m_f: btVector3): void;
2325
+ m_f: btVector3;
2326
+ get_m_n(): btVector3;
2327
+ set_m_n(m_n: btVector3): void;
2328
+ m_n: btVector3;
2329
+ get_m_im(): number;
2330
+ set_m_im(m_im: number): void;
2331
+ m_im: number;
2332
+ get_m_area(): number;
2333
+ set_m_area(m_area: number): void;
2334
+ m_area: number;
2335
+ }
2336
+ class tNodeArray {
2337
+ size(): number;
2338
+ at(n: number): Node;
2339
+ }
2340
+ class Material {
2341
+ get_m_kLST(): number;
2342
+ set_m_kLST(m_kLST: number): void;
2343
+ m_kLST: number;
2344
+ get_m_kAST(): number;
2345
+ set_m_kAST(m_kAST: number): void;
2346
+ m_kAST: number;
2347
+ get_m_kVST(): number;
2348
+ set_m_kVST(m_kVST: number): void;
2349
+ m_kVST: number;
2350
+ get_m_flags(): number;
2351
+ set_m_flags(m_flags: number): void;
2352
+ m_flags: number;
2353
+ }
2354
+ class tMaterialArray {
2355
+ size(): number;
2356
+ at(n: number): Material;
2357
+ }
2358
+ class Anchor {
2359
+ get_m_node(): Node;
2360
+ set_m_node(m_node: Node): void;
2361
+ m_node: Node;
2362
+ get_m_local(): btVector3;
2363
+ set_m_local(m_local: btVector3): void;
2364
+ m_local: btVector3;
2365
+ get_m_body(): btRigidBody;
2366
+ set_m_body(m_body: btRigidBody): void;
2367
+ m_body: btRigidBody;
2368
+ get_m_influence(): number;
2369
+ set_m_influence(m_influence: number): void;
2370
+ m_influence: number;
2371
+ get_m_c0(): btMatrix3x3;
2372
+ set_m_c0(m_c0: btMatrix3x3): void;
2373
+ m_c0: btMatrix3x3;
2374
+ get_m_c1(): btVector3;
2375
+ set_m_c1(m_c1: btVector3): void;
2376
+ m_c1: btVector3;
2377
+ get_m_c2(): number;
2378
+ set_m_c2(m_c2: number): void;
2379
+ m_c2: number;
2380
+ }
2381
+ class tAnchorArray {
2382
+ size(): number;
2383
+ at(n: number): Anchor;
2384
+ clear(): void;
2385
+ push_back(val: Anchor): void;
2386
+ pop_back(): void;
2387
+ }
2388
+ class Config {
2389
+ get_kVCF(): number;
2390
+ set_kVCF(kVCF: number): void;
2391
+ kVCF: number;
2392
+ get_kDP(): number;
2393
+ set_kDP(kDP: number): void;
2394
+ kDP: number;
2395
+ get_kDG(): number;
2396
+ set_kDG(kDG: number): void;
2397
+ kDG: number;
2398
+ get_kLF(): number;
2399
+ set_kLF(kLF: number): void;
2400
+ kLF: number;
2401
+ get_kPR(): number;
2402
+ set_kPR(kPR: number): void;
2403
+ kPR: number;
2404
+ get_kVC(): number;
2405
+ set_kVC(kVC: number): void;
2406
+ kVC: number;
2407
+ get_kDF(): number;
2408
+ set_kDF(kDF: number): void;
2409
+ kDF: number;
2410
+ get_kMT(): number;
2411
+ set_kMT(kMT: number): void;
2412
+ kMT: number;
2413
+ get_kCHR(): number;
2414
+ set_kCHR(kCHR: number): void;
2415
+ kCHR: number;
2416
+ get_kKHR(): number;
2417
+ set_kKHR(kKHR: number): void;
2418
+ kKHR: number;
2419
+ get_kSHR(): number;
2420
+ set_kSHR(kSHR: number): void;
2421
+ kSHR: number;
2422
+ get_kAHR(): number;
2423
+ set_kAHR(kAHR: number): void;
2424
+ kAHR: number;
2425
+ get_kSRHR_CL(): number;
2426
+ set_kSRHR_CL(kSRHR_CL: number): void;
2427
+ kSRHR_CL: number;
2428
+ get_kSKHR_CL(): number;
2429
+ set_kSKHR_CL(kSKHR_CL: number): void;
2430
+ kSKHR_CL: number;
2431
+ get_kSSHR_CL(): number;
2432
+ set_kSSHR_CL(kSSHR_CL: number): void;
2433
+ kSSHR_CL: number;
2434
+ get_kSR_SPLT_CL(): number;
2435
+ set_kSR_SPLT_CL(kSR_SPLT_CL: number): void;
2436
+ kSR_SPLT_CL: number;
2437
+ get_kSK_SPLT_CL(): number;
2438
+ set_kSK_SPLT_CL(kSK_SPLT_CL: number): void;
2439
+ kSK_SPLT_CL: number;
2440
+ get_kSS_SPLT_CL(): number;
2441
+ set_kSS_SPLT_CL(kSS_SPLT_CL: number): void;
2442
+ kSS_SPLT_CL: number;
2443
+ get_maxvolume(): number;
2444
+ set_maxvolume(maxvolume: number): void;
2445
+ maxvolume: number;
2446
+ get_timescale(): number;
2447
+ set_timescale(timescale: number): void;
2448
+ timescale: number;
2449
+ get_viterations(): number;
2450
+ set_viterations(viterations: number): void;
2451
+ viterations: number;
2452
+ get_piterations(): number;
2453
+ set_piterations(piterations: number): void;
2454
+ piterations: number;
2455
+ get_diterations(): number;
2456
+ set_diterations(diterations: number): void;
2457
+ diterations: number;
2458
+ get_citerations(): number;
2459
+ set_citerations(citerations: number): void;
2460
+ citerations: number;
2461
+ get_collisions(): number;
2462
+ set_collisions(collisions: number): void;
2463
+ collisions: number;
2464
+ }
2465
+ class btSoftBody extends btCollisionObject {
2466
+ constructor(worldInfo: btSoftBodyWorldInfo, node_count: number, x: btVector3, m: ReadonlyArray<number>);
2467
+ get_m_cfg(): Config;
2468
+ set_m_cfg(m_cfg: Config): void;
2469
+ m_cfg: Config;
2470
+ get_m_nodes(): tNodeArray;
2471
+ set_m_nodes(m_nodes: tNodeArray): void;
2472
+ m_nodes: tNodeArray;
2473
+ get_m_faces(): tFaceArray;
2474
+ set_m_faces(m_faces: tFaceArray): void;
2475
+ m_faces: tFaceArray;
2476
+ get_m_materials(): tMaterialArray;
2477
+ set_m_materials(m_materials: tMaterialArray): void;
2478
+ m_materials: tMaterialArray;
2479
+ get_m_anchors(): tAnchorArray;
2480
+ set_m_anchors(m_anchors: tAnchorArray): void;
2481
+ m_anchors: tAnchorArray;
2482
+ checkLink(node0: number, node1: number): boolean;
2483
+ checkFace(node0: number, node1: number, node2: number): boolean;
2484
+ appendMaterial(): Material;
2485
+ appendNode(x: btVector3, m: number): void;
2486
+ appendLink(node0: number, node1: number, mat: Material, bcheckexist: boolean): void;
2487
+ appendFace(node0: number, node1: number, node2: number, mat: Material): void;
2488
+ appendTetra(node0: number, node1: number, node2: number, node3: number, mat: Material): void;
2489
+ appendAnchor(
2490
+ node: number,
2491
+ body: btRigidBody,
2492
+ disableCollisionBetweenLinkedBodies: boolean,
2493
+ influence: number,
2494
+ ): void;
2495
+ addForce(force: btVector3): void;
2496
+ addForce(force: btVector3, node: number): void;
2497
+ addAeroForceToNode(windVelocity: btVector3, nodeIndex: number): void;
2498
+ getTotalMass(): number;
2499
+ setTotalMass(mass: number, fromfaces: boolean): void;
2500
+ setMass(node: number, mass: number): void;
2501
+ transform(trs: btTransform): void;
2502
+ translate(trs: btVector3): void;
2503
+ rotate(rot: btQuaternion): void;
2504
+ scale(scl: btVector3): void;
2505
+ generateClusters(k: number, maxiterations?: number): number;
2506
+ generateBendingConstraints(distance: number, mat: Material): number;
2507
+ upcast(colObj: btCollisionObject): btSoftBody;
2508
+ getRestLengthScale(): number;
2509
+ setRestLengthScale(restLength: number): void;
2510
+ }
2511
+ class btSoftBodyRigidBodyCollisionConfiguration extends btDefaultCollisionConfiguration {
2512
+ constructor(info?: btDefaultCollisionConstructionInfo);
2513
+ }
2514
+ class btSoftBodySolver {}
2515
+ class btDefaultSoftBodySolver extends btSoftBodySolver {
2516
+ constructor();
2517
+ }
2518
+ class btSoftBodyArray {
2519
+ size(): number;
2520
+ at(n: number): btSoftBody;
2521
+ }
2522
+ class btSoftRigidDynamicsWorld extends btDiscreteDynamicsWorld {
2523
+ constructor(
2524
+ dispatcher: btDispatcher,
2525
+ pairCache: btBroadphaseInterface,
2526
+ constraintSolver: btConstraintSolver,
2527
+ collisionConfiguration: btCollisionConfiguration,
2528
+ softBodySolver: btSoftBodySolver,
2529
+ );
2530
+ addSoftBody(body: btSoftBody, collisionFilterGroup: number, collisionFilterMask: number): void;
2531
+ removeSoftBody(body: btSoftBody): void;
2532
+ removeCollisionObject(collisionObject: btCollisionObject): void;
2533
+ getWorldInfo(): btSoftBodyWorldInfo;
2534
+ getSoftBodyArray(): btSoftBodyArray;
2535
+ }
2536
+ class btSoftBodyHelpers {
2537
+ constructor();
2538
+ CreateRope(worldInfo: btSoftBodyWorldInfo, from: btVector3, to: btVector3, res: number, fixeds: number): btSoftBody;
2539
+ CreatePatch(
2540
+ worldInfo: btSoftBodyWorldInfo,
2541
+ corner00: btVector3,
2542
+ corner10: btVector3,
2543
+ corner01: btVector3,
2544
+ corner11: btVector3,
2545
+ resx: number,
2546
+ resy: number,
2547
+ fixeds: number,
2548
+ gendiags: boolean,
2549
+ ): btSoftBody;
2550
+ CreatePatchUV(
2551
+ worldInfo: btSoftBodyWorldInfo,
2552
+ corner00: btVector3,
2553
+ corner10: btVector3,
2554
+ corner01: btVector3,
2555
+ corner11: btVector3,
2556
+ resx: number,
2557
+ resy: number,
2558
+ fixeds: number,
2559
+ gendiags: boolean,
2560
+ tex_coords: ReadonlyArray<number>,
2561
+ ): btSoftBody;
2562
+ CreateEllipsoid(worldInfo: btSoftBodyWorldInfo, center: btVector3, radius: btVector3, res: number): btSoftBody;
2563
+ CreateFromTriMesh(
2564
+ worldInfo: btSoftBodyWorldInfo,
2565
+ vertices: ReadonlyArray<number>,
2566
+ triangles: ReadonlyArray<number>,
2567
+ ntriangles: number,
2568
+ randomizeConstraints: boolean,
2569
+ ): btSoftBody;
2570
+ CreateFromConvexHull(
2571
+ worldInfo: btSoftBodyWorldInfo,
2572
+ vertices: btVector3,
2573
+ nvertices: number,
2574
+ randomizeConstraints: boolean,
2575
+ ): btSoftBody;
2576
+ }
2577
+ }