Isis Developer Reference
|
#include <btBulletDynamicsCommon.h>
Go to the source code of this file.
Namespaces | |
namespace | Isis |
This is free and unencumbered software released into the public domain. | |
Macros | |
#define | BT_USE_DOUBLE_PRECISION 1 |
This is free and unencumbered software released into the public domain. | |
#define | B3_USE_DOUBLE_PRECISION 1 |
Functions | |
int | Isis::bt_MaxBodyParts () |
Maximum number of parts/object. | |
unsigned long | Isis::bt_MaxTriangles () |
Maximum number of triangles/part. | |
int | Isis::b3_MaxBodyParts () |
Maximum number of parts/object in the Bullet 3 API. | |
unsigned long | Isis::b3_MaxTriangles () |
Maximum number of triangles/part in the Bullet 3 API. | |
#define B3_USE_DOUBLE_PRECISION 1 |
#define BT_USE_DOUBLE_PRECISION 1 |
This is free and unencumbered software released into the public domain.
The authors of ISIS do not claim copyright on the contents of this file. For more details about the LICENSE terms and the AUTHORS, you will find files of those names at the top level of this repository.
Bullet Physics ISIS-specific include file
This file must be included before any other Bullet includes because there are some very specific configuration/build settings in the version of Bullet we are using.
First, ISIS requires Bullet Physics to be built with the BtScalar type set to double precision. The Bullet build settings in the CMAKE system explicitly sets the BtScalar type to double via a command line MACRO definition. This file enforces the proper Bullet environment for use in the ISIS system.
Second, we made an explicit declaration of the number of bits to be used in the Bullet triangle compression scheme that specifies parts/object and the number of triangles/part. We allow for 16 parts (4 bits) and 134,217,728 triangles/part (28, really 27 due to sign bit). This definition is made in both btQuantizedBvh.h and b3QuantizedBvh.h. The settings is:
#define MAX_NUM_PARTS_IN_BITS 4
NOTE: ISIS requires a unique Bullet binary dependancy that may not be compatable in other applications linked using a different configuration of their Bullet system.
This defines limits of 16 separate sections of a target body where each part can contain up to 134M triangles.
And, Python support for the Mac platform was broken since we use the MacPorts version 3.5 (at the time we built Bullet). For Apple platforms, incorrect assumptions were made for the include path in examples/pybullet/pybullet.c.
We also check for compatibility with the Bullet 3 (B3*) environment but do not include the environment. Only the BT* environment is invoked for consistency. Include the B3 includes anywhere after this file to use that API.