RobWorkProject  23.9.11-
Public Types | Public Member Functions | Protected Attributes | List of all members
BVTreeToleranceCollider< BVTREE > Class Template Referenceabstract

this class encapsulates the methods for iterating through two hierachical OBV trees while testing if the OBV's are disjoint by more than a specified tolerance. More...

#include <BVTreeToleranceCollider.hpp>

Public Types

typedef rw::core::Ptr< BVTreeToleranceCollider< BVTREE > > Ptr
 smart pointer for this class
 

Public Member Functions

virtual ~BVTreeToleranceCollider ()
 destructor
 
virtual bool collides (const rw::math::Transform3D< typename BVTREE::value_type > &fTA, const BVTREE &treeA, const rw::math::Transform3D< typename BVTREE::value_type > &fTB, const BVTREE &treeB, double tolerance, std::vector< std::pair< int, int >> *collidingPrimitives=NULL)=0
 tests if two BV trees are colliding. More...
 
virtual void setQueryType (rw::proximity::CollisionStrategy::QueryType type)
 set the query type
 
virtual rw::proximity::CollisionStrategy::QueryType getQueryType ()
 get the collision query type
 
virtual int getMemUsage ()=0
 type of the primitive in collision callb ack function More...
 
virtual int getNrOfTestedBVs ()
 
virtual int getNrOfCollidingBVs ()
 
virtual int getNrOfTestedPrimitives ()
 
virtual int getNrOfCollidingPrimitives ()
 

Protected Attributes

rw::proximity::CollisionStrategy::QueryType _queryType
 creates a tree collider that performes depth first search of bv collisions between two hierarchical trees. The search is performed using a synchronous descent strategy which means that the traversal descents both trees at the same time. More...
 

Detailed Description

template<class BVTREE>
class rw::proximity::BVTreeToleranceCollider< BVTREE >

this class encapsulates the methods for iterating through two hierachical OBV trees while testing if the OBV's are disjoint by more than a specified tolerance.

Note
The TreeCollider is statefull and should therefore NOT be used by multiple threads. The state is small so there is only little to no overhead cloning the TreeCollider.

Member Function Documentation

◆ collides()

virtual bool collides ( const rw::math::Transform3D< typename BVTREE::value_type > &  fTA,
const BVTREE &  treeA,
const rw::math::Transform3D< typename BVTREE::value_type > &  fTB,
const BVTREE &  treeB,
double  tolerance,
std::vector< std::pair< int, int >> *  collidingPrimitives = NULL 
)
pure virtual

tests if two BV trees are colliding.

Parameters
fTA[in] transform from reference frame f to tree treeA root.
treeA[in]
fTB[in] transform from reference frame f to tree treeB root.
treeB[in]
tolerancedocumentation missing !
collidingPrimitivesdocumentation missing !

◆ getMemUsage()

virtual int getMemUsage ( )
pure virtual

type of the primitive in collision callb ack function

returns the amount of heap memmory used by the tree collider.

Returns
nr of bytes used

Member Data Documentation

◆ _queryType

creates a tree collider that performes depth first search of bv collisions between two hierarchical trees. The search is performed using a synchronous descent strategy which means that the traversal descents both trees at the same time.

Parameters
weight
Returns

The documentation for this class was generated from the following file: