All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver > Class Template Reference

Traversal node for collision between two shapes. More...

#include <hpp/fcl/traversal/traversal_node_shapes.h>

Inheritance diagram for fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >:
Collaboration diagram for fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >:

Public Member Functions

 ShapeCollisionTraversalNode ()
 
bool BVTesting (int, int) const
 BV culling test in one BVTT node. More...
 
bool BVTesting (int, int, FCL_REAL &) const
 BV culling test in one BVTT node. More...
 
void leafTesting (int, int, FCL_REAL &) const
 Intersection testing between leaves (two shapes) More...
 
- Public Member Functions inherited from fcl::CollisionTraversalNodeBase
 CollisionTraversalNodeBase (bool enable_distance_lower_bound_=false)
 
virtual ~CollisionTraversalNodeBase ()
 
virtual bool canStop () const
 Check whether the traversal can stop. More...
 
void enableStatistics (bool enable)
 Whether store some statistics information during traversal. More...
 
- Public Member Functions inherited from fcl::TraversalNodeBase
virtual ~TraversalNodeBase ()
 
virtual void preprocess ()
 
virtual void postprocess ()
 
virtual bool isFirstNodeLeaf (int b) const
 Whether b is a leaf node in the first BVH tree. More...
 
virtual bool isSecondNodeLeaf (int b) const
 Whether b is a leaf node in the second BVH tree. More...
 
virtual bool firstOverSecond (int b1, int b2) const
 Traverse the subtree of the node in the first tree first. More...
 
virtual int getFirstLeftChild (int b) const
 Get the left child of the node b in the first tree. More...
 
virtual int getFirstRightChild (int b) const
 Get the right child of the node b in the first tree. More...
 
virtual int getSecondLeftChild (int b) const
 Get the left child of the node b in the second tree. More...
 
virtual int getSecondRightChild (int b) const
 Get the right child of the node b in the second tree. More...
 

Public Attributes

const S1 * model1
 
const S2 * model2
 
FCL_REAL cost_density
 
const NarrowPhaseSolver * nsolver
 
- Public Attributes inherited from fcl::CollisionTraversalNodeBase
CollisionRequest request
 request setting for collision More...
 
CollisionResultresult
 collision result kept during the traversal iteration More...
 
bool enable_statistics
 Whether stores statistics. More...
 
bool enable_distance_lower_bound
 Whether to compute a lower bound on distance between bounding volumes. More...
 
- Public Attributes inherited from fcl::TraversalNodeBase
Transform3f tf1
 configuation of first object More...
 
Transform3f tf2
 configuration of second object More...
 

Detailed Description

template<typename S1, typename S2, typename NarrowPhaseSolver>
class fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >

Traversal node for collision between two shapes.

Constructor & Destructor Documentation

Member Function Documentation

template<typename S1, typename S2, typename NarrowPhaseSolver>
bool fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::BVTesting ( int  ,
int   
) const
inlinevirtual

BV culling test in one BVTT node.

Implements fcl::CollisionTraversalNodeBase.

template<typename S1, typename S2, typename NarrowPhaseSolver>
bool fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::BVTesting ( int  ,
int  ,
FCL_REAL  
) const
inlinevirtual

BV culling test in one BVTT node.

Implements fcl::CollisionTraversalNodeBase.

Member Data Documentation

template<typename S1, typename S2, typename NarrowPhaseSolver>
FCL_REAL fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::cost_density
template<typename S1, typename S2, typename NarrowPhaseSolver>
const NarrowPhaseSolver* fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::nsolver