Public Member Functions | Public Attributes | List of all members
hpp::fcl::DistanceTraversalNodeBase Class Referenceabstract

Node structure encoding the information required for distance traversal. More...

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

Inheritance diagram for hpp::fcl::DistanceTraversalNodeBase:
[legend]
Collaboration diagram for hpp::fcl::DistanceTraversalNodeBase:
[legend]

Public Member Functions

 DistanceTraversalNodeBase ()
 
virtual ~DistanceTraversalNodeBase ()
 
virtual FCL_REAL BVTesting (int b1, int b2) const
 BV test between b1 and b2. More...
 
virtual void leafTesting (int b1, int b2) const =0
 Leaf test between node b1 and b2, if they are both leafs. More...
 
virtual bool canStop (FCL_REAL c) 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 hpp::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

DistanceRequest request
 request setting for distance More...
 
DistanceResultresult
 distance result kept during the traversal iteration More...
 
bool enable_statistics
 Whether stores statistics. More...
 
- Public Attributes inherited from hpp::fcl::TraversalNodeBase
Transform3f tf1
 configuation of first object More...
 
Transform3f tf2
 configuration of second object More...
 

Detailed Description

Node structure encoding the information required for distance traversal.

Constructor & Destructor Documentation

hpp::fcl::DistanceTraversalNodeBase::DistanceTraversalNodeBase ( )
inline
virtual hpp::fcl::DistanceTraversalNodeBase::~DistanceTraversalNodeBase ( )
virtual

Member Function Documentation

virtual FCL_REAL hpp::fcl::DistanceTraversalNodeBase::BVTesting ( int  b1,
int  b2 
) const
virtual

BV test between b1 and b2.

Returns
a lower bound of the distance between the two BV.
Note
except for OBB, this method returns the distance.

Reimplemented in hpp::fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >, hpp::fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >, hpp::fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >, hpp::fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >, hpp::fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, BV >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, RSS >, hpp::fcl::BVHShapeDistanceTraversalNode< BV, S >, hpp::fcl::BVHShapeDistanceTraversalNode< kIOS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< RSS, S >, hpp::fcl::MeshDistanceTraversalNodeOBBRSS, hpp::fcl::MeshDistanceTraversalNodekIOS, hpp::fcl::MeshDistanceTraversalNodeRSS, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, and hpp::fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >.

virtual bool hpp::fcl::DistanceTraversalNodeBase::canStop ( FCL_REAL  c) const
virtual
void hpp::fcl::DistanceTraversalNodeBase::enableStatistics ( bool  enable)
inlinevirtual

Whether store some statistics information during traversal.

Implements hpp::fcl::TraversalNodeBase.

virtual void hpp::fcl::DistanceTraversalNodeBase::leafTesting ( int  b1,
int  b2 
) const
pure virtual

Leaf test between node b1 and b2, if they are both leafs.

Implemented in hpp::fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >, hpp::fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >, hpp::fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >, hpp::fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >, hpp::fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNode< S, RSS, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNode< S, OBBRSS, NarrowPhaseSolver >, hpp::fcl::ShapeMeshDistanceTraversalNode< S, kIOS, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNode< BV, S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNode< kIOS, S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNode< RSS, S, NarrowPhaseSolver >, hpp::fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >, hpp::fcl::MeshDistanceTraversalNodeOBBRSS, hpp::fcl::MeshDistanceTraversalNodekIOS, hpp::fcl::MeshDistanceTraversalNodeRSS, hpp::fcl::MeshDistanceTraversalNode< BV >, hpp::fcl::MeshDistanceTraversalNode< kIOS >, hpp::fcl::MeshDistanceTraversalNode< RSS >, hpp::fcl::MeshDistanceTraversalNode< OBBRSS >, and hpp::fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >.

Member Data Documentation

bool hpp::fcl::DistanceTraversalNodeBase::enable_statistics

Whether stores statistics.

DistanceRequest hpp::fcl::DistanceTraversalNodeBase::request

request setting for distance

Referenced by hpp::fcl::initialize().

DistanceResult* hpp::fcl::DistanceTraversalNodeBase::result

distance result kept during the traversal iteration

Referenced by hpp::fcl::initialize().