Bullet Collision Detection & Physics Library
bullet.h
Go to the documentation of this file.
1 /* Copyright (C) 2011 Erwin Coumans & Charlie C
2 *
3 * This software is provided 'as-is', without any express or implied
4 * warranty. In no event will the authors be held liable for any damages
5 * arising from the use of this software.
6 *
7 * Permission is granted to anyone to use this software for any purpose,
8 * including commercial applications, and to alter it and redistribute it
9 * freely, subject to the following restrictions:
10 *
11 * 1. The origin of this software must not be misrepresented; you must not
12 * claim that you wrote the original software. If you use this software
13 * in a product, an acknowledgment in the product documentation would be
14 * appreciated but is not required.
15 * 2. Altered source versions must be plainly marked as such, and must not be
16 * misrepresented as being the original software.
17 * 3. This notice may not be removed or altered from any source distribution.
18 */
19 // Auto generated from Bullet/Extras/HeaderGenerator/bulletGenerate.py
20 #ifndef __BULLET_H__
21 #define __BULLET_H__
22 namespace Bullet {
23 
24 // put an empty struct in the case
25 typedef struct bInvalidHandle {
26  int unused;
28 
29  class PointerArray;
30  class btPhysicsSystem;
31  class ListBase;
32  class btVector3FloatData;
33  class btVector3DoubleData;
47  class btPositionAndRadius;
49  class btIntIndexData;
50  class btShortIntIndexData;
53  class btMeshPartData;
58  class btCompoundShapeData;
59  class btCylinderShapeData;
60  class btCapsuleShapeData;
61  class btTriangleInfoData;
69  class btConstraintInfo1;
80  class SoftBodyNodeData;
81  class SoftBodyLinkData;
82  class SoftBodyFaceData;
83  class SoftBodyTetraData;
84  class SoftRigidAnchorData;
85  class SoftBodyConfigData;
86  class SoftBodyPoseData;
87  class SoftBodyClusterData;
88  class btSoftBodyJointData;
89  class btSoftBodyFloatData;
90 // -------------------------------------------------- //
92  {
93  public:
94  int m_size;
96  void *m_data;
97  };
98 
99 
100 // -------------------------------------------------- //
102  {
103  public:
107  };
108 
109 
110 // -------------------------------------------------- //
111  class ListBase
112  {
113  public:
114  void *first;
115  void *last;
116  };
117 
118 
119 // -------------------------------------------------- //
121  {
122  public:
123  float m_floats[4];
124  };
125 
126 
127 // -------------------------------------------------- //
129  {
130  public:
131  double m_floats[4];
132  };
133 
134 
135 // -------------------------------------------------- //
137  {
138  public:
140  };
141 
142 
143 // -------------------------------------------------- //
145  {
146  public:
148  };
149 
150 
151 // -------------------------------------------------- //
153  {
154  public:
157  };
158 
159 
160 // -------------------------------------------------- //
162  {
163  public:
166  };
167 
168 
169 // -------------------------------------------------- //
171  {
172  public:
175  short m_quantizedAabbMin[3];
176  short m_quantizedAabbMax[3];
177  };
178 
179 
180 // -------------------------------------------------- //
182  {
183  public:
189  char m_pad[4];
190  };
191 
192 
193 // -------------------------------------------------- //
195  {
196  public:
202  char m_pad[4];
203  };
204 
205 
206 // -------------------------------------------------- //
208  {
209  public:
210  short m_quantizedAabbMin[3];
211  short m_quantizedAabbMax[3];
213  };
214 
215 
216 // -------------------------------------------------- //
218  {
219  public:
232  };
233 
234 
235 // -------------------------------------------------- //
237  {
238  public:
251  };
252 
253 
254 // -------------------------------------------------- //
256  {
257  public:
258  char *m_name;
260  char m_padding[4];
261  };
262 
263 
264 // -------------------------------------------------- //
266  {
267  public:
272  char m_pad[4];
273  };
274 
275 
276 // -------------------------------------------------- //
278  {
279  public:
285  };
286 
287 
288 // -------------------------------------------------- //
290  {
291  public:
293  float m_radius;
294  };
295 
296 
297 // -------------------------------------------------- //
299  {
300  public:
304  char m_padding[4];
305  };
306 
307 
308 // -------------------------------------------------- //
310  {
311  public:
312  int m_value;
313  };
314 
315 
316 // -------------------------------------------------- //
318  {
319  public:
320  short m_value;
321  char m_pad[2];
322  };
323 
324 
325 // -------------------------------------------------- //
327  {
328  public:
329  short m_values[3];
330  char m_pad[2];
331  };
332 
333 
334 // -------------------------------------------------- //
336  {
337  public:
338  char m_values[3];
339  char m_pad;
340  };
341 
342 
343 // -------------------------------------------------- //
345  {
346  public:
355  };
356 
357 
358 // -------------------------------------------------- //
360  {
361  public:
365  char m_padding[4];
366  };
367 
368 
369 // -------------------------------------------------- //
371  {
372  public:
379  char m_pad3[4];
380  };
381 
382 
383 // -------------------------------------------------- //
385  {
386  public:
389  };
390 
391 
392 // -------------------------------------------------- //
394  {
395  public:
400  };
401 
402 
403 // -------------------------------------------------- //
405  {
406  public:
411  };
412 
413 
414 // -------------------------------------------------- //
416  {
417  public:
419  int m_upAxis;
420  char m_padding[4];
421  };
422 
423 
424 // -------------------------------------------------- //
426  {
427  public:
429  int m_upAxis;
430  char m_padding[4];
431  };
432 
433 
434 // -------------------------------------------------- //
436  {
437  public:
438  int m_flags;
442  };
443 
444 
445 // -------------------------------------------------- //
447  {
448  public:
450  int *m_nextPtr;
462  char m_padding[4];
463  };
464 
465 
466 // -------------------------------------------------- //
468  {
469  public:
475  };
476 
477 
478 // -------------------------------------------------- //
480  {
481  public:
486  char m_padding3[4];
487  };
488 
489 
490 // -------------------------------------------------- //
492  {
493  public:
497  char *m_name;
505  double m_friction;
517  char m_padding[4];
518  };
519 
520 
521 // -------------------------------------------------- //
523  {
524  public:
528  char *m_name;
536  float m_friction;
548  };
549 
550 
551 // -------------------------------------------------- //
553  {
554  public:
576  };
577 
578 
579 // -------------------------------------------------- //
581  {
582  public:
604  char m_padding[4];
605  };
606 
607 
608 // -------------------------------------------------- //
610  {
611  public:
613  int nub;
614  };
615 
616 
617 // -------------------------------------------------- //
619  {
620  public:
623  char *m_name;
634  };
635 
636 
637 // -------------------------------------------------- //
639  {
640  public:
644  };
645 
646 
647 // -------------------------------------------------- //
649  {
650  public:
654  };
655 
656 
657 // -------------------------------------------------- //
659  {
660  public:
674  };
675 
676 
677 // -------------------------------------------------- //
679  {
680  public:
694  };
695 
696 
697 // -------------------------------------------------- //
699  {
700  public:
706  float m_twistSpan;
710  float m_damping;
711  char m_pad[4];
712  };
713 
714 
715 // -------------------------------------------------- //
717  {
718  public:
728  };
729 
730 
731 // -------------------------------------------------- //
733  {
734  public:
736  int m_springEnabled[6];
737  float m_equilibriumPoint[6];
738  float m_springStiffness[6];
739  float m_springDamping[6];
740  };
741 
742 
743 // -------------------------------------------------- //
745  {
746  public:
756  };
757 
758 
759 // -------------------------------------------------- //
761  {
762  public:
766  int m_flags;
767  };
768 
769 
770 // -------------------------------------------------- //
772  {
773  public:
781  float m_area;
782  int m_attach;
783  int m_pad;
784  };
785 
786 
787 // -------------------------------------------------- //
789  {
790  public:
792  int m_nodeIndices[2];
795  };
796 
797 
798 // -------------------------------------------------- //
800  {
801  public:
804  int m_nodeIndices[3];
805  float m_restArea;
806  };
807 
808 
809 // -------------------------------------------------- //
811  {
812  public:
815  int m_nodeIndices[4];
817  float m_c1;
818  float m_c2;
819  int m_pad;
820  };
821 
822 
823 // -------------------------------------------------- //
825  {
826  public:
832  float m_c2;
833  };
834 
835 
836 // -------------------------------------------------- //
838  {
839  public:
841  float m_baumgarte;
842  float m_damping;
843  float m_drag;
844  float m_lift;
845  float m_pressure;
846  float m_volume;
848  float m_poseMatch;
859  float m_maxVolume;
860  float m_timeScale;
866  };
867 
868 
869 // -------------------------------------------------- //
871  {
872  public:
878  float *m_weights;
882  int m_bframe;
884  int m_pad;
885  };
886 
887 
888 // -------------------------------------------------- //
890  {
891  public:
896  btVector3FloatData m_vimpulses[2];
897  btVector3FloatData m_dimpulses[2];
902  float *m_masses;
906  float m_idmass;
907  float m_imass;
910  float m_ndamping;
911  float m_ldamping;
912  float m_adamping;
913  float m_matching;
919  };
920 
921 
922 // -------------------------------------------------- //
924  {
925  public:
926  void *m_bodyA;
927  void *m_bodyB;
929  float m_cfm;
930  float m_erp;
931  float m_split;
932  int m_delete;
933  btVector3FloatData m_relPosition[2];
937  int m_pad;
938  };
939 
940 
941 // -------------------------------------------------- //
943  {
944  public:
964  };
965 
966 
967 }
968 #endif//__BULLET_H__
btTransformFloatData m_framexform
Definition: bullet.h:892
btCharIndexTripletData * m_3indices8
Definition: bullet.h:351
btVector3DoubleData m_invInertiaLocal
Definition: bullet.h:591
btVector3FloatData m_aabbMinOrg
Definition: bullet.h:184
btTransformDoubleData m_interpolationWorldTransform
Definition: bullet.h:499
float m_additionalLinearDampingThresholdSqr
Definition: bullet.h:570
btVector3FloatData m_bvhAabbMax
Definition: bullet.h:221
btVector3DoubleData m_angularFactor
Definition: bullet.h:587
double m_additionalLinearDampingThresholdSqr
Definition: bullet.h:598
btConvexInternalShapeData m_convexInternalShapeData
Definition: bullet.h:428
btMatrix3x3FloatData m_rot
Definition: bullet.h:873
btVector3FloatData * m_positions
Definition: bullet.h:877
btVector3FloatData m_localScaling
Definition: bullet.h:269
btVector3FloatData m_interpolationAngularVelocity
Definition: bullet.h:532
btVector3FloatData m_origin
Definition: bullet.h:156
btTransformDoubleData m_worldTransform
Definition: bullet.h:498
btTransformFloatData m_worldTransform
Definition: bullet.h:529
btVector3DoubleData m_aabbMaxOrg
Definition: bullet.h:198
void * first
Definition: bullet.h:114
btCollisionObjectFloatData m_collisionObjectData
Definition: bullet.h:945
btVector3FloatData m_linearUpperLimit
Definition: bullet.h:722
btVector3FloatData m_normal
Definition: bullet.h:779
btVector3FloatData m_gravity_acceleration
Definition: bullet.h:562
btCompoundShapeChildData * m_childShapePtr
Definition: bullet.h:408
SoftBodyClusterData * m_clusters
Definition: bullet.h:953
btVector3FloatData m_angularFactor
Definition: bullet.h:559
btCollisionShapeData m_collisionShapeData
Definition: bullet.h:373
btVector3FloatData m_com
Definition: bullet.h:895
SoftBodyPoseData * m_pose
Definition: bullet.h:946
btCollisionShapeData * m_rootCollisionShape
Definition: bullet.h:496
btVector3FloatData m_pos
Definition: bullet.h:292
btVector3FloatData m_previousPosition
Definition: bullet.h:776
btVector3DoubleData m_totalForce
Definition: bullet.h:592
btVector3DoubleData m_angularVelocity
Definition: bullet.h:586
btVector3DoubleData m_gravity_acceleration
Definition: bullet.h:590
btVector3FloatData m_position
Definition: bullet.h:775
btVector3FloatData m_totalForce
Definition: bullet.h:564
btVector3FloatData m_interpolationLinearVelocity
Definition: bullet.h:531
float m_softRigidClusterHardness
Definition: bullet.h:853
btQuantizedBvhDoubleData * m_quantizedDoubleBvh
Definition: bullet.h:376
float m_additionalAngularDampingThresholdSqr
Definition: bullet.h:571
PointerArray m_constraints
Definition: bullet.h:106
PointerArray m_collisionShapes
Definition: bullet.h:104
btCollisionShapeData * m_childShape
Definition: bullet.h:397
btVector3FloatData m_accumulatedForce
Definition: bullet.h:778
btVector3DoubleData m_linearVelocity
Definition: bullet.h:585
double m_additionalAngularDampingFactor
Definition: bullet.h:600
btVector3DoubleData m_linearFactor
Definition: bullet.h:588
btVector3FloatData m_scaling
Definition: bullet.h:363
btVector3DoubleData * m_vertices3d
Definition: bullet.h:348
btVector3FloatData m_bvhAabbMin
Definition: bullet.h:220
btVector3FloatData m_av
Definition: bullet.h:899
btMatrix3x3FloatData m_invwi
Definition: bullet.h:894
btQuantizedBvhNodeData * m_quantizedContiguousNodesPtr
Definition: bullet.h:247
btVector3FloatData m_com
Definition: bullet.h:876
SoftBodyMaterialData * m_material
Definition: bullet.h:774
btBvhSubtreeInfoData * m_subTreeInfoPtr
Definition: bullet.h:250
btMatrix3x3FloatData m_basis
Definition: bullet.h:155
btVector3DoubleData m_bvhAabbMax
Definition: bullet.h:240
SoftBodyTetraData * m_tetrahedra
Definition: bullet.h:951
float m_softSoftClusterImpulseSplit
Definition: bullet.h:858
btOptimizedBvhNodeFloatData * m_contiguousNodesPtr
Definition: bullet.h:227
btVector3FloatData m_localScaling
Definition: bullet.h:472
btTransformFloatData m_rbBFrame
Definition: bullet.h:721
SoftBodyMaterialData * m_material
Definition: bullet.h:814
SoftBodyMaterialData * m_material
Definition: bullet.h:803
btVector3DoubleData m_interpolationLinearVelocity
Definition: bullet.h:500
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:641
void * last
Definition: bullet.h:115
btConvexInternalShapeData m_convexInternalShapeData
Definition: bullet.h:418
btStridingMeshInterfaceData m_meshInterface
Definition: bullet.h:471
SoftBodyNodeData * m_nodes
Definition: bullet.h:948
btVector3FloatData m_normal
Definition: bullet.h:802
btTransformFloatData m_rbBFrame
Definition: bullet.h:703
btMatrix3x3FloatData m_scale
Definition: bullet.h:874
SoftBodyMaterialData ** m_materials
Definition: bullet.h:947
bInvalidHandle * m_rbA
Definition: bullet.h:621
btQuantizedBvhNodeData * m_quantizedContiguousNodesPtr
Definition: bullet.h:228
btVector3FloatData * m_unscaledPointsFloatPtr
Definition: bullet.h:483
SoftBodyFaceData * m_faces
Definition: bullet.h:950
btVector3FloatData m_localFrame
Definition: bullet.h:829
btVector3DoubleData m_gravity
Definition: bullet.h:589
SoftBodyLinkData * m_links
Definition: bullet.h:949
btShortIntIndexData * m_indices16
Definition: bullet.h:352
btVector3FloatData m_angularLowerLimit
Definition: bullet.h:725
btTransformFloatData m_rbAFrame
Definition: bullet.h:682
btVector3FloatData m_linearFactor
Definition: bullet.h:560
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:701
btTransformFloatData m_rbAFrame
Definition: bullet.h:720
SoftBodyMaterialData * m_material
Definition: bullet.h:791
btTransformFloatData m_rbBFrame
Definition: bullet.h:683
btMatrix3x3FloatData m_aqq
Definition: bullet.h:875
btTransformFloatData m_interpolationWorldTransform
Definition: bullet.h:530
btConvexInternalShapeData m_convexInternalShapeData
Definition: bullet.h:482
float m_softKineticClusterHardness
Definition: bullet.h:854
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:719
float m_softKineticClusterImpulseSplit
Definition: bullet.h:857
float m_selfCollisionImpulseFactor
Definition: bullet.h:915
btCollisionShapeData m_collisionShapeData
Definition: bullet.h:470
btTriangleInfoMapData * m_triangleInfoMap
Definition: bullet.h:377
int m_disableCollisionsBetweenLinkedBodies
Definition: bullet.h:630
btVector3DoubleData m_aabbMinOrg
Definition: bullet.h:197
btVector3FloatData m_implicitShapeDimensions
Definition: bullet.h:282
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:661
btTriangleMeshShapeData m_trimeshShapeData
Definition: bullet.h:387
btMatrix3x3FloatData m_c0
Definition: bullet.h:827
btOptimizedBvhNodeDoubleData * m_contiguousNodesPtr
Definition: bullet.h:246
double m_additionalAngularDampingThresholdSqr
Definition: bullet.h:599
btVector3DoubleData * m_unscaledPointsDoublePtr
Definition: bullet.h:484
btVector3FloatData m_angularUpperLimit
Definition: bullet.h:724
btVector3FloatData m_localScaling
Definition: bullet.h:388
btVector3DoubleData m_origin
Definition: bullet.h:165
SoftBodyConfigData m_config
Definition: bullet.h:963
btMeshPartData * m_meshPartsPtr
Definition: bullet.h:362
bInvalidHandle * m_rigidBody
Definition: bullet.h:830
bInvalidHandle * m_rbB
Definition: bullet.h:622
btTransformFloatData m_rbAFrame
Definition: bullet.h:748
btQuantizedBvhFloatData * m_quantizedFloatBvh
Definition: bullet.h:375
btTransformFloatData m_rbBFrame
Definition: bullet.h:749
btVector3FloatData m_lv
Definition: bullet.h:898
btConvexInternalShapeData m_convexInternalShapeData
Definition: bullet.h:301
btVector3FloatData m_linearVelocity
Definition: bullet.h:557
btVector3FloatData m_angularVelocity
Definition: bullet.h:558
btTriangleInfoData * m_valueArrayPtr
Definition: bullet.h:451
btIntIndexData * m_indices32
Definition: bullet.h:349
btVector3FloatData * m_framerefs
Definition: bullet.h:900
btCollisionShapeData m_collisionShapeData
Definition: bullet.h:268
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:651
btVector3FloatData * m_vertices3f
Definition: bullet.h:347
btMatrix3x3FloatData m_invInertiaTensorWorld
Definition: bullet.h:556
btCollisionShapeData m_collisionShapeData
Definition: bullet.h:280
btTransformFloatData m_rbAFrame
Definition: bullet.h:702
btVector3DoubleData m_bvhQuantization
Definition: bullet.h:241
float m_additionalAngularDampingFactor
Definition: bullet.h:572
btCollisionShapeData * m_rootCollisionShape
Definition: bullet.h:527
btVector3DoubleData m_interpolationAngularVelocity
Definition: bullet.h:501
SoftRigidAnchorData * m_anchors
Definition: bullet.h:952
struct Bullet::bInvalidHandle bInvalidHandle
btVector3FloatData m_aabbMaxOrg
Definition: bullet.h:185
btBvhSubtreeInfoData * m_subTreeInfoPtr
Definition: bullet.h:229
btCollisionObjectDoubleData m_collisionObjectData
Definition: bullet.h:583
btVector3FloatData m_linearLowerLimit
Definition: bullet.h:723
btVector3FloatData m_anisotropicFriction
Definition: bullet.h:533
btSoftBodyJointData * m_joints
Definition: bullet.h:954
btGeneric6DofConstraintData m_6dofData
Definition: bullet.h:735
btMatrix3x3DoubleData m_basis
Definition: bullet.h:164
btVector3DoubleData m_bvhAabbMin
Definition: bullet.h:239
btCollisionShapeData m_collisionShapeData
Definition: bullet.h:407
btVector3FloatData m_localScaling
Definition: bullet.h:281
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:681
btPositionAndRadius * m_localPositionArrayPtr
Definition: bullet.h:302
PointerArray m_collisionObjects
Definition: bullet.h:105
btCollisionObjectFloatData m_collisionObjectData
Definition: bullet.h:555
btVector3FloatData m_velocity
Definition: bullet.h:777
btTransformDoubleData m_rbAFrame
Definition: bullet.h:662
btMatrix3x3FloatData m_locii
Definition: bullet.h:893
btTransformDoubleData m_rbBFrame
Definition: bullet.h:663
btTypedConstraintData m_typeConstraintData
Definition: bullet.h:747
btVector3FloatData m_totalTorque
Definition: bullet.h:565
btVector3FloatData m_planeNormal
Definition: bullet.h:270
btMatrix3x3DoubleData m_invInertiaTensorWorld
Definition: bullet.h:584
btVector3FloatData m_invInertiaLocal
Definition: bullet.h:563
btVector3FloatData m_bvhQuantization
Definition: bullet.h:222
btVector3DoubleData m_totalTorque
Definition: bullet.h:593
btVector3FloatData m_gravity
Definition: bullet.h:561
Definition: bullet.h:22
btShortIntIndexTripletData * m_3indices16
Definition: bullet.h:350
float m_softRigidClusterImpulseSplit
Definition: bullet.h:856
btVector3FloatData m_c1
Definition: bullet.h:828
btStridingMeshInterfaceData m_meshInterface
Definition: bullet.h:374
btVector3DoubleData m_anisotropicFriction
Definition: bullet.h:502
btTransformFloatData m_transform
Definition: bullet.h:396