Isis 3 Programmer Reference
IsisBullet.h
1#ifndef IsisBullet_h
2#define IsisBullet_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
51#if defined(BT_SCALAR_H) || defined(B3_SCALAR_H)
52#if !defined(BT_USE_DOUBLE_PRECISION) && !defined(B3_USE_DOUBLE_PRECISION)
53#error "*** You must include IsisBullet.h prior to any Bullet includes ***"
54#endif
55#endif
56
57// ISIS using the Bullet library requires double precision!! This sets the
58// Bullet::btScalar type to double precision throughout the Bullet API.
59#define BT_USE_DOUBLE_PRECISION 1
60#define B3_USE_DOUBLE_PRECISION 1
61
62// Go ahead and include all of Bullet here so the define will be applied
63// universally.
64#include <btBulletDynamicsCommon.h>
65
67namespace Isis {
68
74inline int bt_MaxBodyParts() {
75 return ( 1<<MAX_NUM_PARTS_IN_BITS );
76}
77
78
84inline unsigned long bt_MaxTriangles() {
85 return ( 1<<(31-MAX_NUM_PARTS_IN_BITS) );
86}
87
88
94inline int b3_MaxBodyParts() {
95 return ( bt_MaxBodyParts() );
96}
97
98
104inline unsigned long b3_MaxTriangles() {
105 return ( bt_MaxTriangles() );
106}
107
108};
109
110#endif
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
unsigned long bt_MaxTriangles()
Maximum number of triangles/part.
Definition IsisBullet.h:84
int bt_MaxBodyParts()
Maximum number of parts/object.
Definition IsisBullet.h:74
unsigned long b3_MaxTriangles()
Maximum number of triangles/part in the Bullet 3 API.
Definition IsisBullet.h:104
int b3_MaxBodyParts()
Maximum number of parts/object in the Bullet 3 API.
Definition IsisBullet.h:94