19#ifndef TESSERACT_COLLISION_TESSERACT_COMPOUND_COMPOUND_COLLISION_ALGORITHM_H
20#define TESSERACT_COLLISION_TESSERACT_COMPOUND_COMPOUND_COLLISION_ALGORITHM_H
24#include <BulletCollision/BroadphaseCollision/btDispatcher.h>
25#include <BulletCollision/BroadphaseCollision/btBroadphaseInterface.h>
26#include <BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h>
27#include <BulletCollision/NarrowPhaseCollision/btPersistentManifold.h>
28#include <BulletCollision/BroadphaseCollision/btBroadphaseProxy.h>
29#include <BulletCollision/CollisionDispatch/btCollisionCreateFunc.h>
30#include <LinearMath/btAlignedObjectArray.h>
31#include <BulletCollision/BroadphaseCollision/btDbvt.h>
32#include <BulletCollision/CollisionDispatch/btHashedSimplePairCache.h>
37class btCollisionObject;
38class btCollisionShape;
67 const btCollisionObjectWrapper* body0Wrap,
68 const btCollisionObjectWrapper* body1Wrap,
78 const btCollisionObjectWrapper* body1Wrap,
79 const btDispatcherInfo& dispatchInfo,
80 btManifoldResult* resultOut)
override;
83 btCollisionObject* body1,
84 const btDispatcherInfo& dispatchInfo,
85 btManifoldResult* resultOut)
override;
89 struct CreateFunc :
public btCollisionAlgorithmCreateFunc
92 const btCollisionObjectWrapper* body0Wrap,
93 const btCollisionObjectWrapper* body1Wrap)
override
103 const btCollisionObjectWrapper* body0Wrap,
104 const btCollisionObjectWrapper* body1Wrap)
override
Supports collision between CompoundCollisionShapes and other collision shapes.
Definition: tesseract_compound_collision_algorithm.h:53
btManifoldArray manifoldArray
Definition: tesseract_compound_collision_algorithm.h:55
Supports collision between two btCompoundCollisionShape shapes.
Definition: tesseract_compound_compound_collision_algorithm.h:56
btSimplePairArray m_removePairs
Definition: tesseract_compound_compound_collision_algorithm.h:58
int m_compoundShapeRevision1
Definition: tesseract_compound_compound_collision_algorithm.h:61
TesseractCompoundCompoundCollisionAlgorithm(TesseractCompoundCompoundCollisionAlgorithm &&)=default
~TesseractCompoundCompoundCollisionAlgorithm() override
Definition: tesseract_compound_compound_collision_algorithm.cpp:67
void processCollision(const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) override
Definition: tesseract_compound_compound_collision_algorithm.cpp:319
TesseractCompoundCompoundCollisionAlgorithm & operator=(const TesseractCompoundCompoundCollisionAlgorithm &)=default
int m_compoundShapeRevision0
Definition: tesseract_compound_compound_collision_algorithm.h:60
TesseractCompoundCompoundCollisionAlgorithm(const TesseractCompoundCompoundCollisionAlgorithm &)=default
class btHashedSimplePairCache * m_childCollisionAlgorithmCache
Definition: tesseract_compound_compound_collision_algorithm.h:57
TesseractCompoundCompoundCollisionAlgorithm & operator=(TesseractCompoundCompoundCollisionAlgorithm &&)=default
void removeChildAlgorithms()
Definition: tesseract_compound_compound_collision_algorithm.cpp:86
void getAllContactManifolds(btManifoldArray &manifoldArray) override
Definition: tesseract_compound_compound_collision_algorithm.cpp:74
btScalar calculateTimeOfImpact(btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) override
Definition: tesseract_compound_compound_collision_algorithm.cpp:453
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: bullet_cast_bvh_manager.h:49
Definition: tesseract_compound_compound_collision_algorithm.h:90
btCollisionAlgorithm * CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap) override
Definition: tesseract_compound_compound_collision_algorithm.h:91
Definition: tesseract_compound_compound_collision_algorithm.h:101
btCollisionAlgorithm * CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap) override
Definition: tesseract_compound_compound_collision_algorithm.h:102