Bullet Collision Detection & Physics Library
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
oNgjkepa2_impl
oNVectormath
oC_cl_image_format
oCaddr64This file provides some platform/compiler checks for common definitions
oCBoxThe Box is an internal class used by the boxBoxDistance calculation
oCBoxPointInternally used class to contain feature information for boxBoxDistance calculation
oCBroadphaseAabbTester
oCBroadphaseRayTester
oCbt32BitAxisSweep3The bt32BitAxisSweep3 allows higher precision quantization and more objects compared to the btAxisSweep3 sweep and prune
oCbt3DGrid3F1U
oCbt3DGridBroadphaseParams
oCBT_BOX_BOX_TRANSFORM_CACHEClass for transforming a model1 to the space of model0
oCBT_QUANTIZED_BVH_NODEBtQuantizedBvhNode is a compressed aabb node, 16 bytes
oCbtAABBAxis aligned box
oCbtActionInterfaceBasic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWorld
oCbtActivatingCollisionAlgorithmThis class is not enabled yet (work-in-progress) to more aggressively activate objects
oCbtAlignedAllocatorThe btAlignedAllocator is a portable class for aligned memory allocations
oCbtAlignedObjectArrayThe 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
oCbtAngleCompareFunc
oCbtAngularLimit
oCbtAxisSweep3The btAxisSweep3 is an efficient implementation of the 3d axis sweep and prune broadphase
oCbtAxisSweep3InternalThe internal templace class btAxisSweep3Internal implements the sweep and prune broadphase
oCbtBarrier
oCbtBlockInternal structure for the btStackAlloc memory allocator
oCbtBox2dBox2dCollisionAlgorithmBox-box collision detection
oCbtBox2dShapeThe 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
oCbtBoxBoxCollisionAlgorithmBox-box collision detection
oCbtBoxBoxDetectorBtBoxBoxDetector wraps the ODE box-box collision detector re-distributed under the Zlib license with permission from Russell L
oCbtBoxShapeThe 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
oCbtBridgedManifoldResult
oCbtBroadphaseAabbCallback
oCbtBroadphaseInterfaceInterface to detect aabb-overlapping object pairs
oCbtBroadphasePairPair of aabb-overlapping objects
oCbtBroadphasePairSortPredicate
oCbtBroadphaseProxyThe btBroadphaseProxy is the main class that can be used with the Bullet broadphases
oCbtBroadphaseRayCallback
oCbtBU_Simplex1to4The btBU_Simplex1to4 implements tetrahedron, triangle, line, vertex collision shapes. In most cases it is better to use btConvexHullShape instead
oCbtBvhSubtreeInfoBtBvhSubtreeInfo provides info to gather a subtree of limited size
oCbtBvhSubtreeInfoData
oCbtBvhTreeBasic Box tree structure
oCbtBvhTriangleMeshShapeThe btBvhTriangleMeshShape is a static-triangle mesh shape, it can only be used for fixed/non-moving objects
oCbtCapsuleShapeThe btCapsuleShape represents a capsule around the Y axis, there is also the btCapsuleShapeX aligned around the X axis and btCapsuleShapeZ around the Z axis
oCbtCapsuleShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCapsuleShapeXBtCapsuleShapeX 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
oCbtCapsuleShapeZBtCapsuleShapeZ 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
oCbtCharacterControllerInterface
oCbtCharIndexTripletData
oCbtChunk
oCbtClockThe btClock is a portable basic clock that measures accurate time in seconds, use for profiling
oCbtClockData
oCbtClosestNotMeConvexResultCallback
oCbtCollisionAlgorithmBtCollisionAlgorithm is an collision interface that is compatible with the Broadphase and btDispatcher
oCbtCollisionAlgorithmConstructionInfo
oCbtCollisionAlgorithmCreateFuncUsed by the btCollisionDispatcher to register and create instances for btCollisionAlgorithm
oCbtCollisionConfigurationBtCollisionConfiguration allows to configure Bullet collision detection stack allocator size, default collision algorithms and persistent manifold pool size
oCbtCollisionDispatcherBtCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs
oCbtCollisionObjectBtCollisionObject can be used to manage collision detection objects
oCbtCollisionObjectDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCollisionObjectFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCollisionObjectWrapper
oCbtCollisionPairCallbackInterface for iterating all overlapping collision pairs, no matter how those pairs are stored (array, set, map etc) this is useful for the collision dispatcher
oCbtCollisionShapeInterface for collision shapes that can be shared among btCollisionObjects
oCbtCollisionShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCollisionWorldCollisionWorld is interface and container for the collision detection
oCbtCompoundCollisionAlgorithmBtCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes
oCbtCompoundLeafCallback
oCbtCompoundShapeThe btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave collision objects
oCbtCompoundShapeChild
oCbtCompoundShapeChildDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCompoundShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtConcaveShapeInterface for non-moving (static) concave shapes
oCbtConeShapeThe 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
oCbtConeShapeXBtConeShape implements a Cone shape, around the X axis
oCbtConeShapeZBtConeShapeZ implements a Cone shape, around the Z axis
oCbtConeTwistConstraintBtConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc)
oCbtConeTwistConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtConnectivityProcessor
oCbtConstraintRow
oCbtConstraintSetting
oCbtConstraintSolverBtConstraintSolver provides solver interface
oCbtConstraintSolverIO
oCbtContactArray
oCbtContactConstraintBtContactConstraint can be automatically created to solve contact constraints using the unified btTypedConstraint interface
oCbtContactSolverInfo
oCbtContactSolverInfoData
oCbtContactSolverInfoDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtContactSolverInfoFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtContinuousConvexCollisionBtContinuousConvexCollision implements angular and linear time of impact for convex objects
oCbtConvex2dConvex2dAlgorithmThe convex2dConvex2dAlgorithm collision algorithm support 2d collision detection for btConvex2dShape Currently it requires the btMinkowskiPenetrationDepthSolver, it has support for 2d penetration depth computation
oCbtConvex2dShapeThe btConvex2dShape allows to use arbitrary convex shapes as 2d convex shapes, with the Z component assumed to be 0
oCbtConvexCastBtConvexCast is an interface for Casting
oCbtConvexConcaveCollisionAlgorithmBtConvexConcaveCollisionAlgorithm supports collision between convex shapes and (concave) trianges meshes
oCbtConvexConvexAlgorithmEnabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation
oCbtConvexHullComputerConvex hull implementation based on Preparata and Hong See http://code.google.com/p/bullet/issues/detail?id=275 Ole Kniemeyer, MAXON Computer GmbH
oCbtConvexHullInternal
oCbtConvexHullShapeThe btConvexHullShape implements an implicit convex hull of an array of vertices
oCbtConvexHullShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtConvexInternalAabbCachingShapeBtConvexInternalAabbCachingShape adds local aabb caching for convex shapes, to avoid expensive bounding box calculations
oCbtConvexInternalShapeThe btConvexInternalShape is an internal base class, shared by most convex shape implementations
oCbtConvexInternalShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtConvexPenetrationDepthSolverConvexPenetrationDepthSolver provides an interface for penetration depth calculation
oCbtConvexPlaneCollisionAlgorithmBtSphereBoxCollisionAlgorithm provides sphere-box collision detection
oCbtConvexPointCloudShapeThe btConvexPointCloudShape implements an implicit convex hull of an array of vertices
oCbtConvexPolyhedron
oCbtConvexSeparatingDistanceUtilThe btConvexSeparatingDistanceUtil can help speed up convex collision detection by conservatively updating a cached separating distance/vector instead of re-calculating the closest distance
oCbtConvexShapeThe btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc
oCbtConvexTriangleCallbackFor each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), processTriangle is called
oCbtConvexTriangleMeshShapeThe btConvexTriangleMeshShape is a convex hull of a triangle mesh, but the performance is not as good as btConvexHullShape
oCbtCPUVertexBufferDescriptor
oCbtCriticalSection
oCbtCylinderShapeImplements 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
oCbtCylinderShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtCylinderShapeX
oCbtCylinderShapeZ
oCbtDbvtImplements a fast dynamic bounding volume tree based on axis aligned bounding boxes (aabb tree)
oCbtDbvtAabbMm
oCbtDbvtBroadphaseThe btDbvtBroadphase implements a broadphase using two dynamic AABB bounding volume hierarchies/trees (see btDbvt)
oCbtDbvtNode
oCbtDbvtNodeEnumerator
oCbtDbvtProxy
oCbtDbvtTreeCollider
oCbtDefaultCollisionConfigurationBtCollisionConfiguration allows to configure Bullet collision detection stack allocator, pool memory allocators
oCbtDefaultCollisionConstructionInfo
oCbtDefaultMotionStateThe btDefaultMotionState provides a common implementation to synchronize world transforms with offsets
oCbtDefaultSerializerThe btDefaultSerializer is the main Bullet serialization class
oCbtDefaultSoftBodySolver
oCbtDefaultVehicleRaycaster
oCbtDiscreteCollisionDetectorInterfaceThis 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
oCbtDiscreteDynamicsWorldBtDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController
oCbtDispatcherThe btDispatcher interface class can be used in combination with broadphase to dispatch calculations for overlapping pairs
oCbtDispatcherInfo
oCbtDummyBarrier
oCbtDummyCriticalSection
oCbtDX11BufferDX11 Buffer that tracks a host buffer on use to ensure size-correctness
oCbtDX11SIMDAwareSoftBodySolver
oCbtDX11SoftBodySolver
oCbtDX11VertexBufferDescriptor
oCbtDynamicsWorldThe btDynamicsWorld is the interface class for several dynamics implementation, basic, discrete, parallel, and continuous etc
oCbtDynamicsWorldDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtDynamicsWorldFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtEigen
oCbtElement
oCbtEmptyAlgorithmEmptyAlgorithm is a stub for unsupported collision pairs
oCbtEmptyShapeThe btEmptyShape is a collision shape without actual collision detection shape, so most users should ignore this class
oCbtFace
oCbtGearConstraintThe btGeatConstraint will couple the angular velocity for two bodies around given local axis and ratio
oCbtGEN_Link
oCbtGEN_List
oCbtGeneric6DofConstraintBtGeneric6DofConstraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space
oCbtGeneric6DofConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtGeneric6DofSpringConstraintGeneric 6 DOF constraint that allows to set spring motors to any translational and rotational DOF
oCbtGeneric6DofSpringConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtGenericMemoryPoolGeneric Pool class
oCbtGenericPoolAllocatorGeneric Allocator with pools
oCbtGeometryUtilThe btGeometryUtil helper class provides a few methods to convert between plane equations and vertices
oCbtGhostObjectThe 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
oCbtGhostPairCallbackThe btGhostPairCallback interfaces and forwards adding and removal of overlapping pairs from the btBroadphaseInterface to btGhostObject
oCbtGImpactBvhStructure for containing Boxes
oCbtGImpactCollisionAlgorithmCollision Algorithm for GImpact Shapes
oCbtGImpactCompoundShapeBtGImpactCompoundShape allows to handle multiple btCollisionShape objects at once
oCbtGImpactMeshShapeThis class manages a mesh supplied by the btStridingMeshInterface interface
oCbtGImpactMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtGImpactMeshShapePartThis class manages a sub part of a mesh supplied by the btStridingMeshInterface interface
oCbtGImpactQuantizedBvhStructure for containing Boxes
oCbtGImpactShapeInterfaceBase class for gimpact shapes
oCbtGImpactTriangleCallback
oCbtGjkConvexCastGjkConvexCast performs a raycast on a convex object using support mapping
oCbtGjkEpaPenetrationDepthSolverEpaPenetrationDepthSolver uses the Expanding Polytope Algorithm to calculate the penetration depth between two convex shapes
oCbtGjkEpaSolver2BtGjkEpaSolver contributed under zlib by Nathanael Presson
oCbtGjkPairDetectorBtGjkPairDetector uses GJK to implement the btDiscreteCollisionDetectorInterface
oCbtGpu3DGridBroadphaseThe btGpu3DGridBroadphase uses GPU-style code compiled for CPU to compute overlapping pairs
oCbtHashedOverlappingPairCacheHash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com
oCbtHashInt
oCbtHashKey
oCbtHashKeyPtr
oCbtHashMapThe btHashMap template class implements a generic and lightweight hashmap
oCbtHashPtr
oCbtHashStringVery basic hashable string implementation, compatible with btHashMap
oCbtHeightfieldTerrainShapeBtHeightfieldTerrainShape simulates a 2D heightfield terrain
oCbtHinge2Constraint
oCbtHingeConstraintHinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space axis defines the orientation of the hinge axis
oCbtHingeConstraintDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtHingeConstraintFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtHullTriangle
oCbtIDebugDrawThe btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations
oCbtIndexedMeshThe btIndexedMesh indexes a single vertex and index array
oCbtInternalEdge
oCbtInternalTriangleIndexCallback
oCbtInternalVertexPair
oCbtIntIndexData
oCbtJacobianEntryJacobian 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
oCbtJointFeedback
oCbtKinematicCharacterControllerBtKinematicCharacterController is an object that supports a sliding motion in a world
oCbtKinematicClosestNotMeConvexResultCallback
oCbtKinematicClosestNotMeRayResultCallback
oCbtManifoldPointManifoldContactPoint collects and maintains persistent contactpoints
oCbtManifoldResultBtManifoldResult is a helper class to manage contact results
oCbtMaterialThis file was created by Alex Silverman
oCbtMaterialPropertiesThis file was created by Alex Silverman
oCbtMatrix3x3Implements a 3x3 rotation matrix, to perform linear algebra in combination with btQuaternion, btTransform and btVector3
oCbtMatrix3x3DoubleDataFor serialization
oCbtMatrix3x3FloatDataFor serialization
oCbtMeshPartDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtMinkowskiPenetrationDepthSolverMinkowskiPenetrationDepthSolver implements bruteforce penetration depth estimation
oCbtMinkowskiSumShapeThe btMinkowskiSumShape is only for advanced users. This shape represents implicit based minkowski sum of two convex implicit shapes
oCbtMotionStateThe 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)
oCbtMultimaterialTriangleMeshShapeThis file was created by Alex Silverman
oCbtMultiSapBroadphaseThe btMultiSapBroadphase is a research project, not recommended to use in production
oCbtMultiSapBroadphasePairSortPredicate
oCbtMultiSphereShapeThe btMultiSphereShape represents the convex hull of a collection of spheres
oCbtMultiSphereShapeData
oCbtNodeOverlapCallback
oCbtNullPairCacheBtNullPairCache skips add/removal of overlapping pairs. Userful for benchmarking and unit testing
oCbtOpenCLAcceleratedSoftBodyInterfaceSoftBody class to maintain information about a soft body instance within a solver
oCbtOpenCLBuffer
oCbtOpenCLSoftBodySolver
oCbtOpenCLSoftBodySolverSIMDAware
oCbtOpenGLInteropVertexBufferDescriptor
oCbtOptimizedBvhThe btOptimizedBvh extends the btQuantizedBvh to create AABB tree for triangle meshes, through the btStridingMeshInterface
oCbtOptimizedBvhNodeBtOptimizedBvhNode contains both internal and leaf node information
oCbtOptimizedBvhNodeDoubleData
oCbtOptimizedBvhNodeFloatData
oCbtOverlapCallback
oCbtOverlapFilterCallback
oCbtOverlappingPairCacheThe btOverlappingPairCache provides an interface for overlapping pair management (add, remove, storage), used by the btBroadphaseInterface broadphases
oCbtOverlappingPairCallbackAdditional optional broadphase user callback for adding/removing overlapping pairs, similar interface to btOverlappingPairCache
oCbtPairCachingGhostObject
oCbtPairSetA pairset array
oCbtParallelConstraintSolverThe btParallelConstraintSolver performs computations on constraint rows in parallel Using the cross-platform threading it supports Windows, Linux, Mac OSX and PlayStation 3 Cell SPUs
oCbtParallelSolverMemoryCache
oCbtPersistentManifoldBtPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping in the broadphase
oCbtPersistentManifoldSortPredicateFunction object that routes calls to operator<
oCbtPerturbedContactResult
oCbtPhysicsSdk
oCbtPlane
oCbtPlaneShapeClass for accessing the plane equation
oCbtPoint2PointConstraintPoint to point constraint between two rigidbodies each with a pivotpoint that descibes the 'ballsocket' location in local space
oCbtPoint2PointConstraintDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtPoint2PointConstraintFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtPointCollector
oCbtPointerUid
oCbtPolarDecompositionThis class is used to compute the polar decomposition of a matrix
oCbtPolyhedralContactClipping
oCbtPolyhedralConvexAabbCachingShapeThe btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape
oCbtPolyhedralConvexShapeThe btPolyhedralConvexShape is an internal interface class for polyhedral convex shapes
oCbtPoolAllocatorAllows to efficiently allocate a large pool of objects, instead of dynamically allocating them separately
oCbtPositionAndRadius
oCbtPrimitiveManagerBasePrototype Base class for primitive classification
oCbtPrimitiveTriangle
oCbtQuadWordBase class for btVector3 and btQuaternion
oCbtQuantizedBvhStores an AABB tree that can be quickly traversed on CPU and Cell SPU
oCbtQuantizedBvhDoubleData
oCbtQuantizedBvhFloatData
oCbtQuantizedBvhNodeBtQuantizedBvhNode is a compressed aabb node, 16 bytes
oCbtQuantizedBvhNodeData
oCbtQuantizedBvhTreeBasic Box tree structure
oCbtQuaternionThe btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform
oCbtRaycastVehicleRayCast vehicle, very special constraint that turn a rigidbody into a vehicle
oCbtRigidBodyThe btRigidBody is the main class for rigid body objects
oCbtRigidBodyDoubleDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtRigidBodyFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtRotationalLimitMotorRotation Limit structure for generic joints
oCbtScaledBvhTriangleMeshShapeThe btScaledBvhTriangleMeshShape allows to instance a scaled version of an existing btBvhTriangleMeshShape
oCbtScaledTriangleCallback
oCbtScaledTriangleMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtSequentialImpulseConstraintSolverThe btSequentialImpulseConstraintSolver is a fast SIMD implementation of the Projected Gauss Seidel (iterative LCP) method
oCbtSerializer
oCbtShapeHullBtShapeHull implemented by John McCutchan
oCbtShortIntIndexData
oCbtShortIntIndexTripletData
oCbtSimpleBroadphaseThe SimpleBroadphase is just a unit-test for btAxisSweep3, bt32BitAxisSweep3, or btDbvtBroadphase, so use those classes instead
oCbtSimpleBroadphaseProxy
oCbtSimpleDynamicsWorldThe btSimpleDynamicsWorld serves as unit-test and to verify more complicated and optimized dynamics worlds
oCbtSimulationIslandManagerSimulationIslandManager creates and handles simulation islands, using btUnionFind
oCbtSingleContactCallback
oCbtSingleRayCallback
oCbtSingleSweepCallback
oCbtSliderConstraint
oCbtSliderConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtSoftBodyThe btSoftBody is an class to simulate cloth and volumetric soft bodies
oCbtSoftBodyCollisionShape
oCbtSoftBodyConcaveCollisionAlgorithmBtSoftBodyConcaveCollisionAlgorithm supports collision between soft body shapes and (concave) trianges meshes
oCbtSoftBodyFloatDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtSoftBodyHelpers
oCbtSoftBodyJointData
oCbtSoftBodyLinkData
oCbtSoftBodyLinkDataDX11
oCbtSoftBodyLinkDataDX11SIMDAware
oCbtSoftBodyLinkDataOpenCL
oCbtSoftBodyLinkDataOpenCLSIMDAware
oCbtSoftBodyRigidBodyCollisionConfigurationBtSoftBodyRigidBodyCollisionConfiguration add softbody interaction on top of btDefaultCollisionConfiguration
oCbtSoftBodySolver
oCbtSoftBodySolverOutputClass to manage movement of data from a solver to a given target
oCbtSoftBodySolverOutputCLtoCPUClass to manage movement of data from a solver to a given target
oCbtSoftBodySolverOutputCLtoGLClass to manage movement of data from a solver to a given target
oCbtSoftBodySolverOutputDXtoCPUClass to manage movement of data from a solver to a given target
oCbtSoftBodySolverOutputDXtoDXClass to manage movement of data from a solver to a given target
oCbtSoftBodyTriangleCallbackFor each triangle in the concave mesh that overlaps with the AABB of a soft body (m_softBody), processTriangle is called
oCbtSoftBodyTriangleData
oCbtSoftBodyTriangleDataDX11
oCbtSoftBodyTriangleDataOpenCL
oCbtSoftBodyVertexDataWrapper for vertex data information
oCbtSoftBodyVertexDataDX11
oCbtSoftBodyVertexDataOpenCL
oCbtSoftBodyWorldInfo
oCbtSoftClusterCollisionShape
oCbtSoftColliders
oCbtSoftRigidCollisionAlgorithmBtSoftRigidCollisionAlgorithm provides collision detection between btSoftBody and btRigidBody
oCbtSoftRigidDynamicsWorld
oCbtSoftSingleRayCallback
oCbtSoftSoftCollisionAlgorithmCollision detection between two btSoftBody shapes
oCbtSolve2LinearConstraintConstraint class used for lateral tyre friction
oCbtSolverBodyThe btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packed to increase cache coherence/performance
oCbtSolverConstraint1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and friction constraints
oCbtSortConstraintOnIslandPredicate
oCbtSortedOverlappingPairCacheBtSortedOverlappingPairCache maintains the objects with overlapping AABB Typically managed by the Broadphase, Axis3Sweep or btSimpleBroadphase
oCbtSparseSdf
oCbtSphereBoxCollisionAlgorithmBtSphereBoxCollisionAlgorithm provides sphere-box collision detection
oCbtSphereShapeThe btSphereShape implements an implicit sphere, centered around a local origin with radius
oCbtSphereSphereCollisionAlgorithmBtSphereSphereCollisionAlgorithm provides sphere-sphere collision detection
oCbtSphereTriangleCollisionAlgorithmBtSphereSphereCollisionAlgorithm provides sphere-sphere collision detection
oCbtSpinlock
oCbtSpuCollisionPairCallbackInterface for iterating all overlapping collision pairs, no matter how those pairs are stored (array, set, map etc) this is useful for the collision dispatcher
oCbtStackAllocThe StackAlloc class provides some fast stack-based memory allocator (LIFO last-in first-out)
oCbtStaticPlaneShapeThe btStaticPlaneShape simulates an infinite non-moving (static) collision plane
oCbtStaticPlaneShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtStorageResult
oCbtStridingMeshInterfaceThe btStridingMeshInterface is the interface class for high performance generic access to triangle meshes, used in combination with btBvhTriangleMeshShape and some other collision shapes
oCbtStridingMeshInterfaceDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtSubSimplexClosestResult
oCbtSubsimplexConvexCastBtSubsimplexConvexCast 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
oCbtSymMatrixBtSoftBody implementation by Nathanael Presson
oCbtTetrahedronShapeExHelper class for tetrahedrons
oCbtThreadSupportInterface
oCbtTransformSupports rigid transforms with only translation and rotation and no scaling/shear
oCbtTransformDoubleData
oCbtTransformFloatDataFor serialization
oCbtTransformUtilUtils related to temporal transforms
oCbtTranslationalLimitMotor
oCbtTriangle
oCbtTriangleBufferThe 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 }
oCbtTriangleCallbackThe btTriangleCallback provides a callback for each overlapping triangle when calling processAllTriangles
oCbtTriangleConvexcastCallback
oCbtTriangleIndexVertexArrayThe btTriangleIndexVertexArray allows to access multiple triangle meshes, by indexing into existing triangle/index arrays
oCbtTriangleIndexVertexMaterialArrayTeh 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
oCbtTriangleInfoThe btTriangleInfo structure stores information to adjust collision normals to avoid collisions against internal edges it can be generated using
oCbtTriangleInfoDataThose fields have to be float and not btScalar for the serialization to work properly
oCbtTriangleInfoMapThe btTriangleInfoMap stores edge angle information for some triangles. You can compute this information yourself or using btGenerateInternalEdgeInfo
oCbtTriangleInfoMapData
oCbtTriangleMeshConvenience class derived from btTriangleIndexVertexArray, that provides storage for a concave triangle mesh
oCbtTriangleMeshShapeThe btTriangleMeshShape is an internal concave triangle mesh interface. Don't use this class directly, use btBvhTriangleMeshShape instead
oCbtTriangleMeshShapeDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtTriangleRaycastCallback
oCbtTriangleShape
oCbtTriangleShapeExHelper class for colliding Bullet Triangle Shapes
oCbtTriIndex
oCbtTypedConstraintTypedConstraint is the baseclass for Bullet constraints and vehicles
oCbtTypedConstraintDataDo not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
oCbtTypedObjectRudimentary class to provide type info
oCbtUniformScalingShapeThe btUniformScalingShape allows to re-use uniform scaled instances of btConvexShape in a memory efficient way
oCbtUnionFindUnionFind calculates connected subsets
oCbtUnionFindElementSortPredicate
oCbtUniversalConstraintConstraint 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
oCbtUsageBitfield
oCbtVector3BtVector3 can be used to represent 3D points and vectors
oCbtVector3DoubleData
oCbtVector3FloatData
oCbtVector4
oCbtVehicleRaycasterBtVehicleRaycaster is provides interface for between vehicle simulation and raycasting
oCbtVertexBufferDescriptor
oCbtVoronoiSimplexSolverBtVoronoiSimplexSolver is an implementation of the closest point distance algorithm from a 1-4 points simplex to the origin
oCbtWheelContactPoint
oCbtWheelInfoBtWheelInfo contains information per wheel about friction and suspension
oCbtWheelInfoConstructionInfo
oCbtWin32Barrier
oCbtWin32CriticalSection
oCbvhMeshShape_LocalStoreMemory
oCCheckOverlapCallback
oCCLFunctions
oCClipVertex
oCCollisionObjectIndices
oCCollisionShape_LocalStoreMemory
oCCollisionShapeDescriptionEntry in the collision shape array
oCCollisionTask_LocalStoreMemoryMake sure no destructors are called on this memory
oCCompoundShape_LocalStoreMemory
oCCONTACT_KEY_TOKEN
oCCONTACT_KEY_TOKEN_COMP
oCConvexH
oCCoplanar
oCcopy_elements_funcPrototype for copying elements
oCCProfileIteratorAn iterator to navigate through the tree
oCCProfileManagerThe Manager for the Profile system
oCCProfileNodeA node in the Profile Hierarchy Tree
oCCProfileSampleProfileSampleClass is a simple way to profile a function's scope Use the BT_PROFILE macro at the start of scope to time
oCCreateFunc
oCDebugDrawcallback
oCDISTANCE_PLANE_3D_FUNCThis function calcs the distance from a 3D plane
oCDoubleBufferDoubleBuffer
oCDXFunctions
oCEdgeFlag
oCfDrawFlags
oCfloat3
oCfloat4
oCfloat8
oCGIM_AABBAxis aligned box
oCGIM_AABB_DATA
oCgim_arrayVery simple array container with fast access and simd memory
oCgim_bitset
oCGIM_BOX_BOX_TRANSFORM_CACHEClass for transforming a model1 to the space of model0
oCGIM_BOX_TREEBasic Box tree structure
oCGIM_BOX_TREE_NODENode Structure for trees
oCGIM_BOX_TREE_SETClass for Box Tree Sets
oCGIM_BOX_TREE_TEMPLATE_SETGeneric Box Tree Template
oCGIM_BVH_DATAGIM_BVH_DATA is an internal GIMPACT collision structure to contain axis aligned bounding box
oCGIM_BVH_DATA_ARRAY
oCGIM_BVH_TREE_NODENode Structure for trees
oCGIM_BVH_TREE_NODE_ARRAY
oCGIM_CONTACTThe GIM_CONTACT is an internal GIMPACT structure, similar to btManifoldPoint
oCgim_contact_array
oCGIM_HASH_NODE_CMP_KEY_MACROMacro for comparing the key and the element
oCGIM_HASH_NODE_CMP_MACROMacro for comparing Hash nodes
oCGIM_HASH_NODE_GET_KEYMacro for getting the key
oCgim_hash_tableA compact hash table implementation
oCGIM_HASH_TABLE_NODE
oCGIM_PAIROverlapping pair
oCgim_pair_setA pairset array
oCGIM_PRIMITIVE_MANAGER_PROTOTYPEPrototype Base class for primitive classification
oCGIM_QUANTIZED_BVH_NODE_ARRAY
oCGIM_RSORT_TOKEN
oCGIM_RSORT_TOKEN_COMPARATORPrototype for comparators
oCGIM_ShapeRetrieverRetrieving shapes shapes
oCGIM_STANDARD_ALLOCATOR
oCGIM_TREE_TREE_COLLIDERGIM_BOX_SET collision methods
oCGIM_TRIANGLEClass for colliding triangles
oCGIM_TRIANGLE_CALCULATION_CACHE
oCGIM_TRIANGLE_CONTACTStructure for collision
oCGIM_TRIANGLE_CONTACT_DATAStructure for collision
oCGrahamVector3
oCHeapManager
oCHullDesc
oCHullLibraryCan create a convex hull from a collection of vertices, using the ComputeHull method
oCHullResult
oCInplaceSolverIslandCallback
oCint2
oCint3
oCint4
oCinteger_comparatorPrototype for comparators
oCless_comparatorMacros for sorting
oCLocalSupportVertexCallbackIt's not nice to have all this virtual function overhead, so perhaps we can also gather the points once but then we are duplicating
oCmemcopy_elements_funcPrototype for copying elements
oCMiniCLKernel
oCMiniCLKernelDesc
oCMiniCLKernelDescEntry
oCMiniCLTask_LocalStoreMemory
oCMiniCLTaskDesc
oCMiniCLTaskSchedulerMiniCLTaskScheduler handles SPU processing of collision pairs
oCMyCallback
oCMyInternalTriangleIndexCallback
oCNodeLinks
oCPfxParallelBatch
oCPfxParallelGroup
oCPfxPostSolverIO
oCPfxSetupContactConstraintsIO
oCPfxSolveConstraintsIO
oCPfxSolverBody
oCPfxSortData16
oCPHullResult
oCPlaneFlag
oCplRayCastResult
oCpointCmp
oCPosixBarrier
oCPosixCriticalSection
oCPosixThreadSupport
oCQuickSortCompare
oCRemovePairContainingProxy
oCRemovingOverlapCallback
oCSampleTask_LocalStoreMemory
oCSequentialThreadSupportThe SequentialThreadSupport is a portable non-parallel implementation of the btThreadSupportInterface This is useful for debugging and porting SPU Tasks to other platforms
oCSoftBodyClusterData
oCSoftBodyConfigData
oCSoftBodyFaceData
oCSoftBodyLinkData
oCSoftBodyMaterialData
oCSoftBodyNodeData
oCSoftBodyPoseData
oCSoftBodyTetraData
oCSoftRigidAnchorData
oCSphereTriangleDetectorSphere-triangle to match the btDiscreteCollisionDetectorInterface
oCSpuClosestPointInput
oCSpuCollisionObjectWrapper
oCSpuCollisionPairInput
oCSpuCollisionTaskProcessSpuCollisionTaskProcess handles SPU processing of collision pairs
oCSpuContactManifoldCollisionAlgorithmSpuContactManifoldCollisionAlgorithm provides contact manifold and should be processed on SPU
oCSpuContactResultSpuContactResult exports the contact points using double-buffered DMA transfers, only when needed So when an existing contact point is duplicated, no transfer/refresh is performed
oCSpuConvexPenetrationDepthSolverConvexPenetrationDepthSolver provides an interface for penetration depth calculation
oCSpuConvexPolyhedronVertexData
oCSpuGatherAndProcessPairsTaskDescTask Description for SPU collision detection
oCSpuGatherAndProcessWorkUnitInputMidphaseWorkUnitInput stores individual primitive versus mesh collision detection input, to be processed by the SPU
oCSpuGatheringCollisionDispatcherSpuGatheringCollisionDispatcher can use SPU to gather and calculate collision detection Time of Impact, Closest Points and Penetration Depth
oCSpuMinkowskiPenetrationDepthSolverMinkowskiPenetrationDepthSolver implements bruteforce penetration depth estimation
oCspuNodeCallback
oCSpuSampleTaskDesc
oCSpuSampleTaskProcessSpuSampleTaskProcess handles SPU processing of collision pairs
oCSSEFloat
oCSupportVertexCallback
oCTrbDynBody
oCTrbState
oCuint2
oCuint3
oCuint4
oCuint_key_funcPrototype for getting the integer representation of an object
oCVertFlag
\CWin32ThreadSupportWin32ThreadSupport helps to initialize/shutdown libspe2, start/stop SPU tasks and communication