18#ifndef TESSERACT_COLLISION_TESSERACT_CONVEX_CONVEX_ALGORITHM_H
19#define TESSERACT_COLLISION_TESSERACT_CONVEX_CONVEX_ALGORITHM_H
23#include <BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h>
24#include <BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h>
25#include <BulletCollision/NarrowPhaseCollision/btPersistentManifold.h>
26#include <BulletCollision/BroadphaseCollision/btBroadphaseProxy.h>
27#include <BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h>
28#include <BulletCollision/CollisionDispatch/btCollisionCreateFunc.h>
29#include <BulletCollision/CollisionDispatch/btCollisionDispatcher.h>
30#include <LinearMath/btTransformUtil.h>
31#include <BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h>
36class btConvexPenetrationDepthSolver;
67#ifdef USE_SEPDISTANCE_UTIL2
68 btConvexSeparatingDistanceUtil m_sepDistance;
88 const btCollisionAlgorithmConstructionInfo& ci,
89 const btCollisionObjectWrapper* body0Wrap,
90 const btCollisionObjectWrapper* body1Wrap,
91 btConvexPenetrationDepthSolver* pdSolver,
92 int numPerturbationIterations,
93 int minimumPointsPerturbationThreshold);
102 const btCollisionObjectWrapper* body1Wrap,
103 const btDispatcherInfo& dispatchInfo,
104 btManifoldResult* resultOut)
override;
107 btCollisionObject* body1,
108 const btDispatcherInfo& dispatchInfo,
109 btManifoldResult* resultOut)
override;
128 CreateFunc(btConvexPenetrationDepthSolver* pdSolver);
131 const btCollisionObjectWrapper* body0Wrap,
132 const btCollisionObjectWrapper* body1Wrap)
override
This is a modifed Convex to Convex collision algorithm.
Definition: tesseract_convex_convex_algorithm.h:66
const btPersistentManifold * getManifold()
Definition: tesseract_convex_convex_algorithm.h:120
void processCollision(const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) override
Definition: tesseract_convex_convex_algorithm.cpp:283
void setLowLevelOfDetail(bool useLowLevel)
Definition: tesseract_convex_convex_algorithm.cpp:222
TesseractConvexConvexAlgorithm(TesseractConvexConvexAlgorithm &&)=delete
int m_numPerturbationIterations
Definition: tesseract_convex_convex_algorithm.h:79
bool m_lowLevelOfDetail
Definition: tesseract_convex_convex_algorithm.h:77
int m_minimumPointsPerturbationThreshold
Definition: tesseract_convex_convex_algorithm.h:80
TesseractConvexConvexAlgorithm(const TesseractConvexConvexAlgorithm &)=delete
btVertexArray worldVertsB1
Definition: tesseract_convex_convex_algorithm.h:72
btScalar calculateTimeOfImpact(btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) override
Definition: tesseract_convex_convex_algorithm.cpp:860
~TesseractConvexConvexAlgorithm() override
Definition: tesseract_convex_convex_algorithm.cpp:213
ContactTestData * m_cdata
Definition: tesseract_convex_convex_algorithm.h:82
btPersistentManifold * m_manifoldPtr
Definition: tesseract_convex_convex_algorithm.h:76
bool m_ownManifold
Definition: tesseract_convex_convex_algorithm.h:75
TesseractConvexConvexAlgorithm & operator=(const TesseractConvexConvexAlgorithm &)=delete
void getAllContactManifolds(btManifoldArray &manifoldArray) override
Definition: tesseract_convex_convex_algorithm.h:111
btConvexPenetrationDepthSolver * m_pdSolver
Definition: tesseract_convex_convex_algorithm.h:70
btVertexArray worldVertsB2
Definition: tesseract_convex_convex_algorithm.h:73
TesseractConvexConvexAlgorithm & operator=(TesseractConvexConvexAlgorithm &&)=delete
#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_convex_convex_algorithm.h:123
int m_minimumPointsPerturbationThreshold
Definition: tesseract_convex_convex_algorithm.h:126
btConvexPenetrationDepthSolver * m_pdSolver
Definition: tesseract_convex_convex_algorithm.h:124
btCollisionAlgorithm * CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap) override
Definition: tesseract_convex_convex_algorithm.h:130
int m_numPerturbationIterations
Definition: tesseract_convex_convex_algorithm.h:125
Tesseracts Collision Common Types.