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