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

this class encapsulates the methods for iterating through two hierachical OBV trees while testing if the BV's are disjoint. More...

#include <BVTreeCollider.hpp>

Inherited by OBVTreeDFSCollider< BVTREE, BVCOLLIDER, DESCENTSTRATEGY, PRIMCOLLIDER >.

Public Types

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

Public Member Functions

virtual ~BVTreeCollider ()
 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, 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
 

Detailed Description

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

this class encapsulates the methods for iterating through two hierachical OBV trees while testing if the BV's are disjoint.

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,
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] documentation missing !
fTB[in] transform from reference frame f to tree treeB root.
treeB[in] documentation 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

Implemented in OBVTreeDFSCollider< BVTREE, BVCOLLIDER, DESCENTSTRATEGY, PRIMCOLLIDER >.


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