Simox  2.3.49
VirtualRobot::CollisionCheckerPQP Class Reference
Inheritance diagram for VirtualRobot::CollisionCheckerPQP:
VirtualRobot::CollisionCheckerImplementation

Public Member Functions

 CollisionCheckerPQP ()
 
virtual ~CollisionCheckerPQP ()
 
virtual float calculateDistance (CollisionModelPtr model1, CollisionModelPtr model2, Eigen::Vector3f &P1, Eigen::Vector3f &P2, int *trID1=NULL, int *trID2=NULL)
 
virtual bool checkCollision (CollisionModelPtr model1, CollisionModelPtr model2)
 
float getMinDistance (boost::shared_ptr< PQP::PQP_Model > m1, boost::shared_ptr< PQP::PQP_Model > m2, const Eigen::Matrix4f &mat1, const Eigen::Matrix4f &mat2)
 
float getMinDistance (boost::shared_ptr< PQP::PQP_Model > m1, boost::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 boost::shared_ptr< PQP::PQP_Model > &model1, const boost::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
 
- Protected Attributes inherited from VirtualRobot::CollisionCheckerImplementation
bool automaticSizeCheck
 

Friends

class CollisionChecker
 

Additional Inherited Members

- Data Fields inherited from VirtualRobot::CollisionCheckerImplementation
bool debugOutput
 

Detailed Description

This implementation encapsulates the PQP collision checker.

Constructor & Destructor Documentation

VirtualRobot::CollisionCheckerPQP::CollisionCheckerPQP ( )
VirtualRobot::CollisionCheckerPQP::~CollisionCheckerPQP ( )
virtual

Member Function Documentation

float VirtualRobot::CollisionCheckerPQP::calculateDistance ( CollisionModelPtr  model1,
CollisionModelPtr  model2,
Eigen::Vector3f &  P1,
Eigen::Vector3f &  P2,
int *  trID1 = NULL,
int *  trID2 = NULL 
)
virtual
bool VirtualRobot::CollisionCheckerPQP::checkCollision ( CollisionModelPtr  model1,
CollisionModelPtr  model2 
)
virtual
float VirtualRobot::CollisionCheckerPQP::getMinDistance ( boost::shared_ptr< PQP::PQP_Model >  m1,
boost::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 ( boost::shared_ptr< PQP::PQP_Model >  m1,
boost::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 boost::shared_ptr< PQP::PQP_Model > &  model1,
const boost::shared_ptr< PQP::PQP_Model > &  model2,
const Eigen::Matrix4f &  matrix1,
const Eigen::Matrix4f &  matrix2,
PQP::PQP_DistanceResult &  pqpResult 
)
static bool VirtualRobot::CollisionCheckerPQP::IsSupported_CollisionDetection ( )
inlinestatic

Does the underlying collision detection library support discrete collision detection.

static bool VirtualRobot::CollisionCheckerPQP::IsSupported_ContinuousCollisionDetection ( )
inlinestatic

Does the underlying collision detection library support continuous collision detection.

static bool VirtualRobot::CollisionCheckerPQP::IsSupported_DistanceCalculations ( )
inlinestatic

Does the underlying collision detection library support distance calculations.

static bool VirtualRobot::CollisionCheckerPQP::IsSupported_Multithreading_MultipleColCheckers ( )
inlinestatic

Does the underlying collision detection library support multiple instances of the collision checker. E.g. one per thread.

static bool VirtualRobot::CollisionCheckerPQP::IsSupported_Multithreading_Threadsafe ( )
inlinestatic

Does the underlying collision detection library support threadsafe access. E.g. multiple threads query the collision checker asynchronously.

Friends And Related Function Documentation

friend class CollisionChecker
friend

Field Documentation

PQP::PQP_Checker* VirtualRobot::CollisionCheckerPQP::pqpChecker
protected