Bullet Collision Detection & Physics Library
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 NbParse
 NBullet
 Ngjkepa2_impl
 C_btMprSimplex_t
 C_btMprSupport_t
 CAllocContactConstraintsLoop
 CAssignConstraintsToGridBatchesLoop
 CAssignConstraintsToGridBatchesParams
 Cb3ProcessAllTrianglesHeightfield
 CBroadphaseAabbTester
 CBroadphaseRayTester
 Cbt32BitAxisSweep3The bt32BitAxisSweep3 allows higher precision quantization and more objects compared to the btAxisSweep3 sweep and prune
 CBT_BOX_BOX_TRANSFORM_CACHEClass for transforming a model1 to the space of model0
 CBT_QUANTIZED_BVH_NODEBtQuantizedBvhNode is a compressed aabb node, 16 bytes
 CbtAABBAxis aligned box
 CbtActionInterfaceBasic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWorld
 CbtActivatingCollisionAlgorithmThis class is not enabled yet (work-in-progress) to more aggressively activate objects
 CbtAlignedAllocatorThe btAlignedAllocator is a portable class for aligned memory allocations
 CbtAlignedBox3d
 CbtAlignedObjectArrayThe btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It is developed to replace stl::vector to avoid portability issues, including STL alignment issues to add SIMD/SSE data
 CbtAngleCompareFunc
 CbtAngularLimit
 CbtAxisSweep3The btAxisSweep3 is an efficient implementation of the 3d axis sweep and prune broadphase
 CbtAxisSweep3InternalThe internal templace class btAxisSweep3Internal implements the sweep and prune broadphase
 CbtBatchedConstraintInfo
 CbtBatchedConstraints
 CbtBatchInfo
 CbtBlockInternal structure for the btStackAlloc memory allocator
 CbtBox2dBox2dCollisionAlgorithmBox-box collision detection
 CbtBox2dShapeThe btBox2dShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space
 CbtBoxBoxCollisionAlgorithmBox-box collision detection
 CbtBoxBoxDetectorBtBoxBoxDetector wraps the ODE box-box collision detector re-distributed under the Zlib license with permission from Russell L
 CbtBoxShapeThe btBoxShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space
 CbtBridgedManifoldResult
 CbtBroadphaseAabbCallback
 CbtBroadphaseInterfaceInterface to detect aabb-overlapping object pairs
 CbtBroadphasePairPair of aabb-overlapping objects
 CbtBroadphasePairSortPredicate
 CbtBroadphaseProxyThe btBroadphaseProxy is the main class that can be used with the Bullet broadphases
 CbtBroadphaseRayCallback
 CbtBU_Simplex1to4The btBU_Simplex1to4 implements tetrahedron, triangle, line, vertex collision shapes. In most cases it is better to use btConvexHullShape instead
 CbtBulletSerializedArrays
 CbtBulletWorldImporterThe btBulletWorldImporter is a starting point to import .bullet files
 CbtBvhSubtreeInfoBtBvhSubtreeInfo provides info to gather a subtree of limited size
 CbtBvhSubtreeInfoData
 CbtBvhTreeBasic Box tree structure
 CbtBvhTriangleMeshShapeThe btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving objects
 CbtCapsuleShapeThe btCapsuleShape represents a capsule around the Y axis, there is also the btCapsuleShapeX aligned around the X axis and btCapsuleShapeZ around the Z axis
 CbtCapsuleShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCapsuleShapeXBtCapsuleShapeX represents a capsule around the Z axis the total height is height+2*radius, so the height is just the height between the center of each 'sphere' of the capsule caps
 CbtCapsuleShapeZBtCapsuleShapeZ represents a capsule around the Z axis the total height is height+2*radius, so the height is just the height between the center of each 'sphere' of the capsule caps
 CbtCell32
 CbtCGProjection
 CbtCharacterControllerInterface
 CbtCharIndexTripletData
 CbtChunk
 CbtClockThe btClock is a portable basic clock that measures accurate time in seconds, use for profiling
 CbtClockData
 CbtClosestNotMeConvexResultCallback
 CbtCollisionAlgorithmBtCollisionAlgorithm is an collision interface that is compatible with the Broadphase and btDispatcher
 CbtCollisionAlgorithmConstructionInfo
 CbtCollisionAlgorithmCreateFuncUsed by the btCollisionDispatcher to register and create instances for btCollisionAlgorithm
 CbtCollisionConfigurationBtCollisionConfiguration allows to configure Bullet collision detection stack allocator size, default collision algorithms and persistent manifold pool size
 CbtCollisionDispatcherBtCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs
 CbtCollisionDispatcherMt
 CbtCollisionObjectBtCollisionObject can be used to manage collision detection objects
 CbtCollisionObjectDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCollisionObjectFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCollisionObjectWrapper
 CbtCollisionPairCallbackInterface for iterating all overlapping collision pairs, no matter how those pairs are stored (array, set, map etc) this is useful for the collision dispatcher
 CbtCollisionShapeInterface for collision shapes that can be shared among btCollisionObjects
 CbtCollisionShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCollisionWorldCollisionWorld is interface and container for the collision detection
 CbtCollisionWorldImporter
 CbtCompoundCollisionAlgorithmBtCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes
 CbtCompoundCompoundCollisionAlgorithmBtCompoundCompoundCollisionAlgorithm supports collision between two btCompoundCollisionShape shapes
 CbtCompoundCompoundLeafCallback
 CbtCompoundFromGimpactShape
 CbtCompoundLeafCallback
 CbtCompoundShapeThe btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave collision objects
 CbtCompoundShapeChild
 CbtCompoundShapeChildDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCompoundShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtConcaveShapeInterface for non-moving (static) concave shapes
 CbtConeShapeThe btConeShape implements a cone shape primitive, centered around the origin and aligned with the Y axis. The btConeShapeX is aligned around the X axis and btConeShapeZ around the Z axis
 CbtConeShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtConeShapeXBtConeShape implements a Cone shape, around the X axis
 CbtConeShapeZBtConeShapeZ implements a Cone shape, around the Z axis
 CbtConeTwistConstraintBtConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc)
 CbtConeTwistConstraintDataThis structure is not used, except for loading pre-2.82 .bullet files
 CbtConeTwistConstraintDoubleData
 CbtConjugateGradient
 CbtConjugateResidual
 CbtConnectivityProcessor
 CbtConstraintRow
 CbtConstraintSetting
 CbtConstraintSolver
 CbtConstraintSolverPoolMtBtConstraintSolverPoolMt - masquerades as a constraint solver, but really it is a threadsafe pool of them
 CbtContactArray
 CbtContactConstraintBtContactConstraint can be automatically created to solve contact constraints using the unified btTypedConstraint interface
 CbtContactSolverInfo
 CbtContactSolverInfoData
 CbtContactSolverInfoDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtContactSolverInfoFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtContinuousConvexCollisionBtContinuousConvexCollision implements angular and linear time of impact for convex objects
 CbtConvex2dConvex2dAlgorithmThe convex2dConvex2dAlgorithm collision algorithm support 2d collision detection for btConvex2dShape Currently it requires the btMinkowskiPenetrationDepthSolver, it has support for 2d penetration depth computation
 CbtConvex2dShapeThe btConvex2dShape allows to use arbitrary convex shapes as 2d convex shapes, with the Z component assumed to be 0
 CbtConvexCastTypically the conservative advancement reaches solution in a few iterations, clip it to 32 for degenerate cases
 CbtConvexConcaveCollisionAlgorithmBtConvexConcaveCollisionAlgorithm supports collision between convex shapes and (concave) trianges meshes
 CbtConvexConvexAlgorithmEnabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation
 CbtConvexHullComputerConvex hull implementation based on Preparata and Hong See http://code.google.com/p/bullet/issues/detail?id=275 Ole Kniemeyer, MAXON Computer GmbH
 CbtConvexHullInternal
 CbtConvexHullShapeThe btConvexHullShape implements an implicit convex hull of an array of vertices
 CbtConvexHullShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtConvexInternalAabbCachingShapeBtConvexInternalAabbCachingShape adds local aabb caching for convex shapes, to avoid expensive bounding box calculations
 CbtConvexInternalShapeThe btConvexInternalShape is an internal base class, shared by most convex shape implementations
 CbtConvexInternalShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtConvexPenetrationDepthSolverConvexPenetrationDepthSolver provides an interface for penetration depth calculation
 CbtConvexPlaneCollisionAlgorithmBtSphereBoxCollisionAlgorithm provides sphere-box collision detection
 CbtConvexPointCloudShapeThe btConvexPointCloudShape implements an implicit convex hull of an array of vertices
 CbtConvexPolyhedron
 CbtConvexSeparatingDistanceUtilThe btConvexSeparatingDistanceUtil can help speed up convex collision detection by conservatively updating a cached separating distance/vector instead of re-calculating the closest distance
 CbtConvexShapeThe btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc
 CbtConvexTriangleCallbackFor each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), processTriangle is called
 CbtConvexTriangleMeshShapeThe btConvexTriangleMeshShape is a convex hull of a triangle mesh, but the performance is not as good as btConvexHullShape
 CbtCpuFeatureUtilityRudimentary btCpuFeatureUtility for CPU features: only report the features that Bullet actually uses (SSE4/FMA3, NEON_HPFP) We assume SSE2 in case BT_USE_SSE2 is defined in LinearMath/btScalar.h
 CbtCPUVertexBufferDescriptor
 CbtCriticalSection
 CbtCylinderShapeImplements a cylinder shape primitive, centered around the origin. Its central axis aligned with the Y axis. btCylinderShapeX is aligned with the X axis and btCylinderShapeZ around the Z axis
 CbtCylinderShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtCylinderShapeX
 CbtCylinderShapeZ
 CbtDantzigScratchMemory
 CbtDantzigSolverOriginal version written by Erwin Coumans, October 2013
 CbtDbvntNode
 CbtDbvtImplements a fast dynamic bounding volume tree based on axis aligned bounding boxes (aabb tree)
 CbtDbvtAabbMm
 CbtDbvtBroadphaseThe btDbvtBroadphase implements a broadphase using two dynamic AABB bounding volume hierarchies/trees (see btDbvt)
 CbtDbvtNode
 CbtDbvtNodeEnumerator
 CbtDbvtProxy
 CbtDbvtTreeCollider
 CbtDefaultCollisionConfigurationBtCollisionConfiguration allows to configure Bullet collision detection stack allocator, pool memory allocators
 CbtDefaultCollisionConstructionInfo
 CbtDefaultMotionStateThe btDefaultMotionState provides a common implementation to synchronize world transforms with offsets
 CbtDefaultSerializerThe btDefaultSerializer is the main Bullet serialization class
 CbtDefaultSoftBodySolver
 CbtDefaultVehicleRaycaster
 CbtDeformableBackwardEulerObjective
 CbtDeformableBodySolver
 CbtDeformableContactConstraint
 CbtDeformableContactProjection
 CbtDeformableCorotatedForce
 CbtDeformableFaceNodeContactConstraint
 CbtDeformableFaceRigidContactConstraint
 CbtDeformableGravityForce
 CbtDeformableLagrangianForce
 CbtDeformableLinearElasticityForce
 CbtDeformableMassSpringForce
 CbtDeformableMousePickingForce
 CbtDeformableMultiBodyConstraintSolver
 CbtDeformableMultiBodyDynamicsWorld
 CbtDeformableNeoHookeanForce
 CbtDeformableNodeAnchorConstraint
 CbtDeformableNodeRigidContactConstraint
 CbtDeformableRigidContactConstraint
 CbtDeformableStaticConstraint
 CbtDiscreteCollisionDetectorInterfaceThis interface is made to be used by an iterative approach to do TimeOfImpact calculations This interface allows to query for closest points and penetration depth between two (convex) objects the closest point is on the second object (B), and the normal points from the surface on B towards A
 CbtDiscreteDynamicsWorldBtDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController
 CbtDiscreteDynamicsWorldMtBtDiscreteDynamicsWorldMt – a version of DiscreteDynamicsWorld with some minor changes to support solving simulation islands on multiple threads
 CbtDispatcherThe btDispatcher interface class can be used in combination with broadphase to dispatch calculations for overlapping pairs
 CbtDispatcherInfo
 CbtDynamicsWorldThe btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc
 CbtDynamicsWorldDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtDynamicsWorldFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtEigen
 CbtElement
 CbtEmptyAlgorithmEmptyAlgorithm is a stub for unsupported collision pairs
 CbtEmptyShapeThe btEmptyShape is a collision shape without actual collision detection shape, so most users should ignore this class
 CbtFace
 CbtFixedConstraint
 CbtGearConstraintThe btGeatConstraint will couple the angular velocity for two bodies around given local axis and ratio
 CbtGearConstraintDoubleData
 CbtGearConstraintFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtGEN_Link
 CbtGEN_List
 CbtGeneric6DofConstraintBtGeneric6DofConstraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space
 CbtGeneric6DofConstraintData
 CbtGeneric6DofConstraintDoubleData2
 CbtGeneric6DofSpring2Constraint
 CbtGeneric6DofSpring2ConstraintData
 CbtGeneric6DofSpring2ConstraintDoubleData2
 CbtGeneric6DofSpringConstraintGeneric 6 DOF constraint that allows to set spring motors to any translational and rotational DOF
 CbtGeneric6DofSpringConstraintData
 CbtGeneric6DofSpringConstraintDoubleData2
 CbtGenericMemoryPoolGeneric Pool class
 CbtGenericPoolAllocatorGeneric Allocator with pools
 CbtGeometryUtilThe btGeometryUtil helper class provides a few methods to convert between plane equations and vertices
 CbtGhostObjectThe btGhostObject can keep track of all objects that are overlapping By default, this overlap is based on the AABB This is useful for creating a character controller, collision sensors/triggers, explosions etc
 CbtGhostPairCallbackThe btGhostPairCallback interfaces and forwards adding and removal of overlapping pairs from the btBroadphaseInterface to btGhostObject
 CbtGImpactBvhStructure for containing Boxes
 CbtGImpactCollisionAlgorithmCollision Algorithm for GImpact Shapes
 CbtGImpactCompoundShapeBtGImpactCompoundShape allows to handle multiple btCollisionShape objects at once
 CbtGImpactMeshShapeThis class manages a mesh supplied by the btStridingMeshInterface interface
 CbtGImpactMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtGImpactMeshShapePartThis class manages a sub part of a mesh supplied by the btStridingMeshInterface interface
 CbtGImpactQuantizedBvhStructure for containing Boxes
 CbtGImpactShapeInterfaceBase class for gimpact shapes
 CbtGImpactTriangleCallback
 CbtGjkCollisionDescription
 CbtGjkConvexCastGjkConvexCast performs a raycast on a convex object using support mapping
 CbtGjkEpaPenetrationDepthSolverEpaPenetrationDepthSolver uses the Expanding Polytope Algorithm to calculate the penetration depth between two convex shapes
 CbtGjkEpaSolver2BtGjkEpaSolver contributed under zlib by Nathanael Presson
 CbtGjkEpaSolver3
 CbtGjkPairDetectorBtGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
 CbtHashedOverlappingPairCacheHash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com
 CbtHashedSimplePairCache
 CbtHashInt
 CbtHashKey
 CbtHashKeyPtr
 CbtHashMapThe btHashMap template class implements a generic and lightweight hashmap
 CbtHashPtr
 CbtHashStringVery basic hashable string implementation, compatible with btHashMap
 CbtHeightfieldTerrainShapeBtHeightfieldTerrainShape simulates a 2D heightfield terrain
 CbtHinge2Constraint
 CbtHingeAccumulatedAngleConstraintThe getAccumulatedHingeAngle returns the accumulated hinge angle, taking rotation across the -PI/PI boundary into account
 CbtHingeConstraintHinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space axis defines the orientation of the hinge axis
 CbtHingeConstraintDoubleDataThis structure is not used, except for loading pre-2.82 .bullet files
 CbtHingeConstraintDoubleData2Do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtHingeConstraintFloatData
 CbtHullTriangle
 CbtIDebugDrawThe btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations
 CbtIndexedMeshThe btIndexedMesh indexes a single vertex and index array
 CbtInfMaskConverter
 CbtInternalEdge
 CbtInternalTriangleIndexCallback
 CbtInternalVertexPair
 CbtIntIndexData
 CbtIntSortPredicateOriginal version written by Erwin Coumans, October 2013
 CbtIntVec3
 CbtIParallelForBody
 CbtIParallelSumBody
 CbtITaskScheduler
 CbtJacobianEntryJacobian entry is an abstraction that allows to describe constraints it can be used in combination with a constraint solver Can be used to relate the effect of an impulse to the constraint error
 CbtJointFeedback
 CbtJointNode
 CbtJointNode1
 CbtKinematicCharacterControllerBtKinematicCharacterController is an object that supports a sliding motion in a world
 CbtKinematicClosestNotMeConvexResultCallback
 CbtKinematicClosestNotMeRayResultCallback
 CbtKrylovSolver
 CbtLCP
 CbtLemkeAlgorithm
 CbtLemkeSolverOriginal version written by Erwin Coumans, October 2013
 CbtManifoldPointManifoldContactPoint collects and maintains persistent contactpoints
 CbtManifoldResultBtManifoldResult is a helper class to manage contact results
 CbtMaterialThis file was created by Alex Silverman
 CbtMaterialPropertiesThis file was created by Alex Silverman
 CbtMatrix2x2Bullet Continuous Collision Detection and Physics Library Copyright (c) 2019 Google Inc
 CbtMatrix3x3Implements a 3x3 rotation matrix, to perform linear algebra in combination with btQuaternion, btTransform and btVector3
 CbtMatrix3x3DoubleDataFor serialization
 CbtMatrix3x3FloatDataFor serialization
 CbtMatrixX
 CbtMeshPartDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtMiniSDF
 CbtMinkowskiPenetrationDepthSolverMinkowskiPenetrationDepthSolver implements bruteforce penetration depth estimation
 CbtMinkowskiSumShapeThe btMinkowskiSumShape is only for advanced users. This shape represents implicit based minkowski sum of two convex implicit shapes
 CbtMLCPSolverOriginal version written by Erwin Coumans, October 2013
 CbtMLCPSolverInterfaceOriginal version written by Erwin Coumans, October 2013
 CbtModifiedGramSchmidt
 CbtMotionStateThe btMotionState interface class allows the dynamics world to synchronize and interpolate the updated world transforms with graphics For optimizations, potentially only moving objects get synchronized (using setWorldPosition/setWorldOrientation)
 CbtMprCollisionDescription
 CbtMprDistanceInfo
 CbtMultiBody
 CbtMultiBodyConstraint
 CbtMultiBodyConstraintSolver
 CbtMultiBodyDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtMultiBodyDynamicsWorldThe btMultiBodyDynamicsWorld adds Featherstone multi body dynamics to Bullet This implementation is still preliminary/experimental
 CbtMultiBodyFixedConstraintThis file was written by Erwin Coumans
 CbtMultiBodyFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtMultiBodyGearConstraintThis file was written by Erwin Coumans
 CbtMultiBodyJacobianData
 CbtMultiBodyJointFeedback
 CbtMultiBodyJointLimitConstraint
 CbtMultiBodyJointMotor
 CbtMultibodyLink
 CbtMultiBodyLinkCollider
 CbtMultiBodyLinkColliderDoubleData
 CbtMultiBodyLinkColliderFloatData
 CbtMultiBodyLinkDoubleData
 CbtMultiBodyLinkFloatData
 CbtMultiBodyMLCPConstraintSolver
 CbtMultiBodyPoint2PointThis file was written by Erwin Coumans
 CbtMultiBodySliderConstraintThis file was written by Erwin Coumans
 CbtMultiBodySolverConstraint1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and friction constraints
 CbtMultiBodySphericalJointLimit
 CbtMultiBodySphericalJointMotor
 CbtMultiBodyWorldImporter
 CbtMultiBodyWorldImporterInternalData
 CbtMultiIndex
 CbtMultimaterialTriangleMeshShapeThis file was created by Alex Silverman
 CbtMultiSphereShapeThe btMultiSphereShape represents the convex hull of a collection of spheres
 CbtMultiSphereShapeData
 CbtNNCGConstraintSolver
 CbtNodeOverlapCallback
 CbtNullPairCacheBtNullPairCache skips add/removal of overlapping pairs. Userful for benchmarking and unit testing
 CbtOptimizedBvhThe btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface
 CbtOptimizedBvhNodeBtOptimizedBvhNode contains both internal and leaf node information
 CbtOptimizedBvhNodeDoubleData
 CbtOptimizedBvhNodeFloatData
 CbtOverlapCallback
 CbtOverlapFilterCallback
 CbtOverlappingPairCacheThe btOverlappingPairCache provides an interface for overlapping pair management (add, remove, storage), used by the btBroadphaseInterface broadphases
 CbtOverlappingPairCallbackAdditional optional broadphase user callback for adding/removing overlapping pairs, similar interface to btOverlappingPairCache
 CbtPairCachingGhostObject
 CbtPairSetA pairset array
 CbtPersistentManifoldBtPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping in the broadphase
 CbtPersistentManifoldDoubleData
 CbtPersistentManifoldFloatData
 CbtPersistentManifoldSortPredicateFunction object that routes calls to operator<
 CbtPersistentManifoldSortPredicateDeterministic
 CbtPerturbedContactResult
 CbtPlane
 CbtPlaneShapeClass for accessing the plane equation
 CbtPoint2PointConstraintPoint to point constraint between two rigidbodies each with a pivotpoint that descibes the 'ballsocket' location in local space
 CbtPoint2PointConstraintDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 this structure is not used, except for loading pre-2.82 .bullet files do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtPoint2PointConstraintDoubleData2Do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtPoint2PointConstraintFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtPointCollector
 CbtPointerUid
 CbtPolarDecompositionThis class is used to compute the polar decomposition of a matrix
 CbtPolyhedralContactClipping
 CbtPolyhedralConvexAabbCachingShapeThe btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape
 CbtPolyhedralConvexShapeThe btPolyhedralConvexShape is an internal interface class for polyhedral convex shapes
 CbtPoolAllocatorAllows to efficiently allocate a large pool of objects, instead of dynamically allocating them separately
 CbtPositionAndRadius
 CbtPrimitiveManagerBasePrototype Base class for primitive classification
 CbtPrimitiveTriangle
 CbtQuadWordBase class for btVector3 and btQuaternion
 CbtQuantizedBvhStores an AABB tree that can be quickly traversed on CPU and Cell SPU
 CbtQuantizedBvhDoubleData
 CbtQuantizedBvhFloatData
 CbtQuantizedBvhNodeBtQuantizedBvhNode is a compressed aabb node, 16 bytes
 CbtQuantizedBvhNodeData
 CbtQuantizedBvhTreeBasic Box tree structure
 CbtQuaternionThe btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform
 CbtQuaternionDoubleData
 CbtQuaternionFloatData
 CbtRaycastVehicleRayCast vehicle, very special constraint that turn a rigidbody into a vehicle
 CbtReducedDeformableBody
 CbtReducedDeformableBodyHelpers
 CbtReducedDeformableBodySolver
 CbtReducedDeformableFaceRigidContactConstraint
 CbtReducedDeformableNodeRigidContactConstraint
 CbtReducedDeformableRigidContactConstraint
 CbtReducedDeformableStaticConstraint
 CbtReducedVector
 CbtRigidBodyThe btRigidBody is the main class for rigid body objects
 CbtRigidBodyDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtRigidBodyFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtRotationalLimitMotorRotation Limit structure for generic joints
 CbtRotationalLimitMotor2
 CbtScaledBvhTriangleMeshShapeThe btScaledBvhTriangleMeshShape allows to instance a scaled version of an existing btBvhTriangleMeshShape
 CbtScaledTriangleCallback
 CbtScaledTriangleMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtSdfCollisionShape
 CbtSdfCollisionShapeInternalData
 CbtSdfDataStream
 CbtSequentialImpulseConstraintSolverThe btSequentialImpulseConstraintSolver is a fast SIMD implementation of the Projected Gauss Seidel (iterative LCP) method
 CbtSequentialImpulseConstraintSolverMtBtSequentialImpulseConstraintSolverMt
 CbtSerializer
 CbtShapeGradients
 CbtShapeHullBtShapeHull implemented by John McCutchan
 CbtShapeMatrix
 CbtShortIntIndexData
 CbtShortIntIndexTripletData
 CbtSimpleBroadphaseThe SimpleBroadphase is just a unit-test for btAxisSweep3, bt32BitAxisSweep3, or btDbvtBroadphase, so use those classes instead
 CbtSimpleBroadphaseProxy
 CbtSimpleDynamicsWorldThe btSimpleDynamicsWorld serves as unit-test and to verify more complicated and optimized dynamics worlds
 CbtSimplePair
 CbtSimplex
 CbtSimulationIslandManagerSimulationIslandManager creates and handles simulation islands, using btUnionFind
 CbtSimulationIslandManagerMtSimulationIslandManagerMt – Multithread capable version of SimulationIslandManager Splits the world up into islands which can be solved in parallel
 CbtSingleContactCallback
 CbtSingleRayCallback
 CbtSingleSweepCallback
 CbtSliderConstraint
 CbtSliderConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtSliderConstraintDoubleData
 CbtSoftBodyThe btSoftBody is an class to simulate cloth and volumetric soft bodies
 CbtSoftBodyCollisionShape
 CbtSoftBodyConcaveCollisionAlgorithmBtSoftBodyConcaveCollisionAlgorithm supports collision between soft body shapes and (concave) trianges meshes
 CbtSoftBodyFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtSoftBodyHelpers
 CbtSoftBodyJointData
 CbtSoftBodyRigidBodyCollisionConfigurationBtSoftBodyRigidBodyCollisionConfiguration add softbody interaction on top of btDefaultCollisionConfiguration
 CbtSoftBodySolver
 CbtSoftBodySolverOutputClass to manage movement of data from a solver to a given target
 CbtSoftBodyTriangleCallbackFor each triangle in the concave mesh that overlaps with the AABB of a soft body (m_softBody), processTriangle is called
 CbtSoftBodyWorldInfo
 CbtSoftClusterCollisionShape
 CbtSoftColliders
 CbtSoftMultiBodyDynamicsWorld
 CbtSoftRigidCollisionAlgorithmBtSoftRigidCollisionAlgorithm provides collision detection between btSoftBody and btRigidBody
 CbtSoftRigidDynamicsWorld
 CbtSoftSingleRayCallback
 CbtSoftSoftCollisionAlgorithmCollision detection between two btSoftBody shapes
 CbtSolve2LinearConstraintConstraint class used for lateral tyre friction
 CbtSolveProjectedGaussSeidelOriginal version written by Erwin Coumans, October 2013
 CbtSolverAnalyticsData
 CbtSolverBodyThe btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packed to increase cache coherence/performance
 CbtSolverConstraint1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and friction constraints
 CbtSortConstraintOnIslandPredicate
 CbtSortConstraintOnIslandPredicate2
 CbtSortedOverlappingPairCacheBtSortedOverlappingPairCache maintains the objects with overlapping AABB Typically managed by the Broadphase, Axis3Sweep or btSimpleBroadphase
 CbtSortMultiBodyConstraintOnIslandPredicate
 CbtSparseSdf
 CbtSpatialForceVectorThese spatial algebra classes are used for btMultiBody, see BulletDynamics/Featherstone
 CbtSpatialMotionVector
 CbtSpatialTransformationMatrix
 CbtSphereBoxCollisionAlgorithmBtSphereBoxCollisionAlgorithm provides sphere-box collision detection
 CbtSphereShapeThe btSphereShape implements an implicit sphere, centered around a local origin with radius
 CbtSphereSphereCollisionAlgorithmBtSphereSphereCollisionAlgorithm provides sphere-sphere collision detection
 CbtSphereTriangleCollisionAlgorithmBtSphereSphereCollisionAlgorithm provides sphere-sphere collision detection
 CbtSpinMutexBtSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep because it is designed to be used with a task scheduler which has one thread per core and the threads don't sleep until they run out of tasks
 CbtStackAllocThe StackAlloc class provides some fast stack-based memory allocator (LIFO last-in first-out)
 CbtStaticPlaneShapeThe btStaticPlaneShape simulates an infinite non-moving (static) collision plane
 CbtStaticPlaneShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtStorageResult
 CbtStridingMeshInterfaceThe btStridingMeshInterface is the interface class for high performance generic access to triangle meshes, used in combination with btBvhTriangleMeshShape and some other collision shapes
 CbtStridingMeshInterfaceDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtSubSimplexClosestResult
 CbtSubsimplexConvexCastBtSubsimplexConvexCast implements Gino van den Bergens' paper "Ray Casting against bteral Convex Objects with Application to Continuous Collision Detection" GJK based Ray Cast, optimized version Objects should not start in overlap, otherwise results are not defined
 CbtSupportVector
 CbtSymMatrix
 CbtSymmetricSpatialDyad
 CbtTaskSchedulerSequentialBtTaskSchedulerSequential – non-threaded implementation of task scheduler (really just useful for testing performance of single threaded vs multi)
 CbtTetrahedronShapeExHelper class for tetrahedrons
 CbtThreadSupportInterface
 CbtTransformSupports rigid transforms with only translation and rotation and no scaling/shear
 CbtTransformDoubleData
 CbtTransformFloatDataFor serialization
 CbtTransformUtilUtils related to temporal transforms
 CbtTranslationalLimitMotor
 CbtTranslationalLimitMotor2
 CbtTriangle
 CbtTriangleBufferThe btTriangleBuffer callback can be useful to collect and store overlapping triangles between AABB and concave objects that support 'processAllTriangles' Example usage of this class: btTriangleBuffer triBuf; concaveShape->processAllTriangles(&triBuf,aabbMin, aabbMax); for (int i=0;i<triBuf.getNumTriangles();i++) { const btTriangle& tri = triBuf.getTriangle(i); //do something useful here with the triangle }
 CbtTriangleCallbackThe btTriangleCallback provides a callback for each overlapping triangle when calling processAllTriangles
 CbtTriangleConvexcastCallback
 CbtTriangleIndexVertexArrayThe btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays
 CbtTriangleIndexVertexMaterialArrayTeh btTriangleIndexVertexMaterialArray is built on TriangleIndexVertexArray The addition of a material array allows for the utilization of the partID and triangleIndex that are returned in the ContactAddedCallback
 CbtTriangleInfoThe btTriangleInfo structure stores information to adjust collision normals to avoid collisions against internal edges it can be generated using
 CbtTriangleInfoDataThose fields have to be float and not btScalar for the serialization to work properly
 CbtTriangleInfoMapThe btTriangleInfoMap stores edge angle information for some triangles. You can compute this information yourself or using btGenerateInternalEdgeInfo
 CbtTriangleInfoMapData
 CbtTriangleMeshConvenience class derived from btTriangleIndexVertexArray, that provides storage for a concave triangle mesh
 CbtTriangleMeshShapeThe btTriangleMeshShape is an internal concave triangle mesh interface. Don't use this class directly, use btBvhTriangleMeshShape instead
 CbtTriangleMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtTriangleRaycastCallback
 CbtTriangleShape
 CbtTriangleShapeExHelper class for colliding Bullet Triangle Shapes
 CbtTriIndex
 CbtTypedConstraintTypedConstraint is the baseclass for Bullet constraints and vehicles
 CbtTypedConstraintDataThis structure is not used, except for loading pre-2.82 .bullet files
 CbtTypedConstraintDoubleData
 CbtTypedConstraintFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
 CbtTypedObjectRudimentary class to provide type info
 CbtUniformScalingShapeThe btUniformScalingShape allows to re-use uniform scaled instances of btConvexShape in a memory efficient way
 CbtUnionFindUnionFind calculates connected subsets
 CbtUnionFindElementSortPredicate
 CbtUniversalConstraintConstraint similar to ODE Universal Joint has 2 rotatioonal degrees of freedom, similar to Euler rotations around Z (axis 1) and Y (axis 2) Description from ODE manual : "Given axis 1 on body 1, and axis 2 on body 2 that is perpendicular to axis 1, it keeps them perpendicular
 CbtUsageBitfield
 CbtVector3BtVector3 can be used to represent 3D points and vectors
 CbtVector3DoubleData
 CbtVector3FloatData
 CbtVector4
 CbtVectorX
 CbtVehicleRaycasterBtVehicleRaycaster is provides interface for between vehicle simulation and raycasting
 CbtVertexBufferDescriptor
 CbtVoronoiSimplexSolverBtVoronoiSimplexSolver is an implementation of the closest point distance algorithm from a 1-4 points simplex to the origin
 CbtWheelContactPoint
 CbtWheelInfoBtWheelInfo contains information per wheel about friction and suspension
 CbtWheelInfoConstructionInfo
 CbtWorldImporter
 CCheckOverlapCallback
 CClipVertex
 CCollectContactManifoldCachedInfoLoop
 CCollisionDispatcherUpdater
 CCONTACT_KEY_TOKEN
 CCONTACT_KEY_TOKEN_COMP
 CContactFrictionSolverLoop
 CContactRollingFrictionSolverLoop
 CContactSolverLoop
 CContactSplitPenetrationImpulseSolverLoop
 CConvertBodiesLoop
 CConvertJointsLoop
 CConvexH
 CCoplanar
 Ccopy_elements_funcPrototype for copying elements
 CCProfileSampleProfileSampleClass is a simple way to profile a function's scope Use the BT_PROFILE macro at the start of scope to time
 CCreateFunc
 CDebugDrawcallback
 CDefaultPreconditioner
 CDeformableBodyInplaceSolverIslandCallback
 CDeformableContactConstraint
 CDISTANCE_PLANE_3D_FUNCThis function calcs the distance from a 3D plane
 CEdgeFlag
 CEPA
 CExpandConstraintRowsLoop
 CfDrawFlags
 CGIM_AABBAxis aligned box
 CGIM_AABB_DATA
 Cgim_arrayVery simple array container with fast access and simd memory
 Cgim_bitset
 CGIM_BOX_BOX_TRANSFORM_CACHEClass for transforming a model1 to the space of model0
 CGIM_BOX_TREEBasic Box tree structure
 CGIM_BOX_TREE_NODENode Structure for trees
 CGIM_BOX_TREE_SETClass for Box Tree Sets
 CGIM_BOX_TREE_TEMPLATE_SETGeneric Box Tree Template
 CGIM_BVH_DATAGIM_BVH_DATA is an internal GIMPACT collision structure to contain axis aligned bounding box
 CGIM_BVH_DATA_ARRAY
 CGIM_BVH_TREE_NODENode Structure for trees
 CGIM_BVH_TREE_NODE_ARRAY
 CGIM_CONTACTThe GIM_CONTACT is an internal GIMPACT structure, similar to btManifoldPoint
 Cgim_contact_array
 CGIM_HASH_NODE_CMP_KEY_MACROMacro for comparing the key and the element
 CGIM_HASH_NODE_CMP_MACROMacro for comparing Hash nodes
 CGIM_HASH_NODE_GET_KEYMacro for getting the key
 Cgim_hash_tableA compact hash table implementation
 CGIM_HASH_TABLE_NODE
 CGIM_PAIROverlapping pair
 Cgim_pair_setA pairset array
 CGIM_PRIMITIVE_MANAGER_PROTOTYPEPrototype Base class for primitive classification
 CGIM_QUANTIZED_BVH_NODE_ARRAY
 CGIM_RSORT_TOKEN
 CGIM_RSORT_TOKEN_COMPARATORPrototype for comparators
 CGIM_ShapeRetrieverRetrieving shapes shapes
 CGIM_STANDARD_ALLOCATOR
 CGIM_TREE_TREE_COLLIDERGIM_BOX_SET collision methods
 CGIM_TRIANGLEClass for colliding triangles
 CGIM_TRIANGLE_CALCULATION_CACHE
 CGIM_TRIANGLE_CONTACTStructure for collision
 CGIM_TRIANGLE_CONTACT_DATAStructure for collision
 CGivensRotationClass for givens rotation
 CGJK
 CGrahamVector3
 CHullDesc
 CHullLibraryCan create a convex hull from a collection of vertices, using the ComputeHull method
 CHullResult
 CInitJointsLoop
 CInplaceSolverIslandCallback
 Cint3
 Cint4
 Cinteger_comparatorPrototype for comparators
 CInterleavedContactSolverLoop
 CIslandBatchSizeSortPredicateFunction object that routes calls to operator<
 CIslandBodyCapacitySortPredicate
 CJointSolverLoop
 CKKTPreconditioner
 CLagrangeMultiplier
 Cless_comparatorMacros for sorting
 CLinkDeps_t
 CLocalSupportVertexCallbackIt's not nice to have all this virtual function overhead, so perhaps we can also gather the points once but then we are duplicating
 CMassPreconditioner
 Cmemcopy_elements_funcPrototype for copying elements
 CMinkowskiDiff
 CMultiBodyInplaceSolverIslandCallback
 CMyCallback
 CMyInternalTriangleIndexCallback
 CMyPairIndeSortPredicate
 CMyPairIndex
 CNodeLinks
 CPHullResult
 CPlaneFlag
 CpointCmp
 CPreallocatedMemoryHelper
 CPreconditioner
 CProcessTrianglesAction
 CProcessVBoundsAction
 CReadSolverConstraintsLoop
 CRemovePairContainingProxy
 CRemovingOverlapCallback
 CSetupContactConstraintsLoop
 CSoftBodyClusterData
 CSoftBodyConfigData
 CSoftBodyFaceData
 CSoftBodyLinkData
 CSoftBodyMaterialData
 CSoftBodyNodeData
 CSoftBodyPoseData
 CSoftBodyTetraData
 CSoftRigidAnchorData
 CSphereTriangleDetectorSphere-triangle to match the btDiscreteCollisionDetectorInterface
 CSupportVertexCallback
 CThreadsafeCounter
 CTwoInts
 Cuint_key_funcPrototype for getting the integer representation of an object
 CUpdateConstraintBatchIdsForMergesLoop
 CUpdateIslandDispatcher
 CUpdaterUnconstrainedMotion
 CVertFlag
 CWriteBodiesLoop
 CWriteContactPointsLoop
 CWriteJointsLoop
 CWriteOutConstraintIndicesLoop