Node structure encoding the information required for distance traversal. More...
#include <hpp/fcl/traversal/traversal_node_base.h>
Public Member Functions | |
DistanceTraversalNodeBase () | |
virtual | ~DistanceTraversalNodeBase () |
virtual FCL_REAL | BVTesting (int b1, int b2) const |
BV test between b1 and b2. | |
virtual void | leafTesting (int b1, int b2) const =0 |
Leaf test between node b1 and b2, if they are both leafs. | |
virtual bool | canStop (FCL_REAL c) const |
Check whether the traversal can stop. | |
void | enableStatistics (bool enable) |
Whether store some statistics information during traversal. | |
Public Attributes | |
DistanceRequest | request |
request setting for distance | |
DistanceResult * | result |
distance result kept during the traversal iteration | |
bool | enable_statistics |
Whether stores statistics. |
Node structure encoding the information required for distance traversal.
fcl::DistanceTraversalNodeBase::DistanceTraversalNodeBase | ( | ) | [inline] |
virtual fcl::DistanceTraversalNodeBase::~DistanceTraversalNodeBase | ( | ) | [virtual] |
virtual FCL_REAL fcl::DistanceTraversalNodeBase::BVTesting | ( | int | b1, |
int | b2 | ||
) | const [virtual] |
BV test between b1 and b2.
Reimplemented in fcl::ShapeMeshConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >, fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, OBBRSS, NarrowPhaseSolver >, fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >, fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< BV, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< RSS, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< OBBRSS, S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNodeOBBRSS, fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNodeRSS, fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::ShapeBVHDistanceTraversalNode< S, BV >, fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, fcl::ShapeBVHDistanceTraversalNode< S, RSS >, fcl::BVHShapeDistanceTraversalNode< BV, S >, fcl::BVHShapeDistanceTraversalNode< kIOS, S >, fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, fcl::BVHShapeDistanceTraversalNode< RSS, S >, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< RSS >, fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >, fcl::MeshDistanceTraversalNodeOBBRSS, fcl::MeshDistanceTraversalNodekIOS, fcl::MeshDistanceTraversalNodeRSS, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, and fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >.
virtual bool fcl::DistanceTraversalNodeBase::canStop | ( | FCL_REAL | c | ) | const [virtual] |
Check whether the traversal can stop.
Reimplemented in fcl::ShapeMeshConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, OBBRSS, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< BV, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< RSS, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< OBBRSS, S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, RSS, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, OBBRSS, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, kIOS, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNodeOBBRSS, fcl::MeshConservativeAdvancementTraversalNodeRSS, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshShapeDistanceTraversalNode< BV, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< kIOS, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< RSS, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< RSS >, fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >, fcl::MeshDistanceTraversalNode< BV >, fcl::MeshDistanceTraversalNode< kIOS >, fcl::MeshDistanceTraversalNode< RSS >, and fcl::MeshDistanceTraversalNode< OBBRSS >.
void fcl::DistanceTraversalNodeBase::enableStatistics | ( | bool | enable | ) | [inline, virtual] |
Whether store some statistics information during traversal.
Implements fcl::TraversalNodeBase.
References enable_statistics.
virtual void fcl::DistanceTraversalNodeBase::leafTesting | ( | int | b1, |
int | b2 | ||
) | const [pure virtual] |
Leaf test between node b1 and b2, if they are both leafs.
Implemented in fcl::ShapeMeshConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, OBBRSS, NarrowPhaseSolver >, fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >, fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >, fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< BV, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< RSS, S, NarrowPhaseSolver >, fcl::MeshShapeConservativeAdvancementTraversalNode< OBBRSS, S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, RSS, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, OBBRSS, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNode< S, kIOS, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNodeOBBRSS, fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNodeRSS, fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< BV, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< kIOS, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< RSS, S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< RSS >, fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >, fcl::MeshDistanceTraversalNodeOBBRSS, fcl::MeshDistanceTraversalNodekIOS, fcl::MeshDistanceTraversalNodeRSS, fcl::MeshDistanceTraversalNode< BV >, fcl::MeshDistanceTraversalNode< kIOS >, fcl::MeshDistanceTraversalNode< RSS >, fcl::MeshDistanceTraversalNode< OBBRSS >, fcl::ShapeConservativeAdvancementTraversalNode< S1, S2, NarrowPhaseSolver >, and fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >.
Whether stores statistics.
Referenced by fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::BVTesting(), enableStatistics(), fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::leafTesting(), and fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >::leafTesting().
request setting for distance
Referenced by fcl::initialize(), fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting(), fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >::leafTesting(), fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >::leafTesting(), fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >::leafTesting(), fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >::leafTesting(), fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >::leafTesting(), fcl::MeshDistanceTraversalNode< OBBRSS >::MeshDistanceTraversalNode(), fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess(), fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::preprocess(), fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::preprocess(), and fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess().
distance result kept during the traversal iteration
Referenced by fcl::MeshDistanceTraversalNode< OBBRSS >::canStop(), fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >::canStop(), fcl::initialize(), fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting(), fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >::leafTesting(), fcl::OcTreeDistanceTraversalNode< NarrowPhaseSolver >::leafTesting(), fcl::ShapeOcTreeDistanceTraversalNode< S, NarrowPhaseSolver >::leafTesting(), fcl::OcTreeShapeDistanceTraversalNode< S, NarrowPhaseSolver >::leafTesting(), fcl::MeshOcTreeDistanceTraversalNode< BV, NarrowPhaseSolver >::leafTesting(), and fcl::OcTreeMeshDistanceTraversalNode< BV, NarrowPhaseSolver >::leafTesting().