Simox
2.3.74.0
|
Public Member Functions | |
CollisionCheckerPQP () | |
~CollisionCheckerPQP () override | |
float | calculateDistance (const CollisionModelPtr &model1, const CollisionModelPtr &model2, Eigen::Vector3f &P1, Eigen::Vector3f &P2, int *trID1=NULL, int *trID2=NULL) final |
bool | checkCollision (const CollisionModelPtr &model1, const CollisionModelPtr &model2) final |
bool | checkCollision (const CollisionModelPtr &model1, const Eigen::Vector3f &point, float tolerance=0.0f) final |
MultiCollisionResult | checkMultipleCollisions (CollisionModelPtr const &model1, CollisionModelPtr const &model2) |
float | getMinDistance (std::shared_ptr< PQP::PQP_Model > m1, std::shared_ptr< PQP::PQP_Model > m2, const Eigen::Matrix4f &mat1, const Eigen::Matrix4f &mat2) |
float | getMinDistance (std::shared_ptr< PQP::PQP_Model > m1, std::shared_ptr< PQP::PQP_Model > m2, const Eigen::Matrix4f &mat1, const Eigen::Matrix4f &mat2, Eigen::Vector3f &storeP1, Eigen::Vector3f &storeP2, int *storeID1, int *storeID2) |
void | GetPQPDistance (const std::shared_ptr< PQP::PQP_Model > &model1, const std::shared_ptr< PQP::PQP_Model > &model2, const Eigen::Matrix4f &matrix1, const Eigen::Matrix4f &matrix2, PQP::PQP_DistanceResult &pqpResult) |
Public Member Functions inherited from VirtualRobot::CollisionCheckerImplementation | |
CollisionCheckerImplementation () | |
virtual | ~CollisionCheckerImplementation () |
virtual void | setAutomaticSizeCheck (bool checkSizeOnColModelCreation) |
virtual void | enableDebugOutput (bool e) |
Static Public Member Functions | |
static bool | IsSupported_CollisionDetection () |
static bool | IsSupported_ContinuousCollisionDetection () |
static bool | IsSupported_DistanceCalculations () |
static bool | IsSupported_Multithreading_Threadsafe () |
static bool | IsSupported_Multithreading_MultipleColCheckers () |
Protected Attributes | |
PQP::PQP_Checker * | pqpChecker |
std::unique_ptr< PQP::PQP_Model > | pointModel |
Protected Attributes inherited from VirtualRobot::CollisionCheckerImplementation | |
bool | automaticSizeCheck |
Friends | |
class | CollisionChecker |
Additional Inherited Members | |
Data Fields inherited from VirtualRobot::CollisionCheckerImplementation | |
bool | debugOutput |
This implementation encapsulates the PQP collision checker.
VirtualRobot::CollisionCheckerPQP::CollisionCheckerPQP | ( | ) |
|
override |
|
finalvirtual |
Implements VirtualRobot::CollisionCheckerImplementation.
|
finalvirtual |
Implements VirtualRobot::CollisionCheckerImplementation.
|
finalvirtual |
Implements VirtualRobot::CollisionCheckerImplementation.
MultiCollisionResult VirtualRobot::CollisionCheckerPQP::checkMultipleCollisions | ( | CollisionModelPtr const & | model1, |
CollisionModelPtr const & | model2 | ||
) |
float VirtualRobot::CollisionCheckerPQP::getMinDistance | ( | std::shared_ptr< PQP::PQP_Model > | m1, |
std::shared_ptr< PQP::PQP_Model > | m2, | ||
const Eigen::Matrix4f & | mat1, | ||
const Eigen::Matrix4f & | mat2 | ||
) |
If continuous collision detection (CCD) is supported, this method can be used to detect collisions on the path from the current pose of the collision models to the goal poses. true -> collision (then the time of contact [0..1] is stored to fStoreTOC)
float VirtualRobot::CollisionCheckerPQP::getMinDistance | ( | std::shared_ptr< PQP::PQP_Model > | m1, |
std::shared_ptr< PQP::PQP_Model > | m2, | ||
const Eigen::Matrix4f & | mat1, | ||
const Eigen::Matrix4f & | mat2, | ||
Eigen::Vector3f & | storeP1, | ||
Eigen::Vector3f & | storeP2, | ||
int * | storeID1, | ||
int * | storeID2 | ||
) |
void VirtualRobot::CollisionCheckerPQP::GetPQPDistance | ( | const std::shared_ptr< PQP::PQP_Model > & | model1, |
const std::shared_ptr< PQP::PQP_Model > & | model2, | ||
const Eigen::Matrix4f & | matrix1, | ||
const Eigen::Matrix4f & | matrix2, | ||
PQP::PQP_DistanceResult & | pqpResult | ||
) |
|
inlinestatic |
Does the underlying collision detection library support discrete collision detection.
|
inlinestatic |
Does the underlying collision detection library support continuous collision detection.
|
inlinestatic |
Does the underlying collision detection library support distance calculations.
|
inlinestatic |
Does the underlying collision detection library support multiple instances of the collision checker. E.g. one per thread.
|
inlinestatic |
Does the underlying collision detection library support threadsafe access. E.g. multiple threads query the collision checker asynchronously.
|
friend |
|
protected |
|
protected |