Isis 3 Programmer Reference
IsisBullet.h
1 #ifndef IsisBullet_h
2 #define IsisBullet_h
3 
64 #if defined(BT_SCALAR_H) || defined(B3_SCALAR_H)
65 #if !defined(BT_USE_DOUBLE_PRECISION) && !defined(B3_USE_DOUBLE_PRECISION)
66 #error "*** You must include IsisBullet.h prior to any Bullet includes ***"
67 #endif
68 #endif
69 
70 // ISIS using the Bullet library requires double precision!! This sets the
71 // Bullet::btScalar type to double precision throughout the Bullet API.
72 #define BT_USE_DOUBLE_PRECISION 1
73 #define B3_USE_DOUBLE_PRECISION 1
74 
75 // Go ahead and include all of Bullet here so the define will be applied
76 // universally.
77 #include <btBulletDynamicsCommon.h>
78 
80 namespace Isis {
81 
87 inline int bt_MaxBodyParts() {
88  return ( 1<<MAX_NUM_PARTS_IN_BITS );
89 }
90 
91 
97 inline unsigned long bt_MaxTriangles() {
98  return ( 1<<(31-MAX_NUM_PARTS_IN_BITS) );
99 }
100 
101 
107 inline int b3_MaxBodyParts() {
108  return ( bt_MaxBodyParts() );
109 }
110 
111 
117 inline unsigned long b3_MaxTriangles() {
118  return ( bt_MaxTriangles() );
119 }
120 
121 };
122 
123 #endif
unsigned long bt_MaxTriangles()
Maximum number of triangles/part.
Definition: IsisBullet.h:97
int b3_MaxBodyParts()
Maximum number of parts/object in the Bullet 3 API.
Definition: IsisBullet.h:107
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
int bt_MaxBodyParts()
Maximum number of parts/object.
Definition: IsisBullet.h:87
unsigned long b3_MaxTriangles()
Maximum number of triangles/part in the Bullet 3 API.
Definition: IsisBullet.h:117