Node structure encoding the information required for traversal. More...
#include <traversal_node_base.h>
Public Member Functions | |
virtual void | enableStatistics (bool enable)=0 |
Enable statistics (verbose mode) | |
virtual bool | firstOverSecond (int b1, int b2) const |
Traverse the subtree of the node in the first tree first. | |
virtual int | getFirstLeftChild (int b) const |
Get the left child of the node b in the first tree. | |
virtual int | getFirstRightChild (int b) const |
Get the right child of the node b in the first tree. | |
virtual int | getSecondLeftChild (int b) const |
Get the left child of the node b in the second tree. | |
virtual int | getSecondRightChild (int b) const |
Get the right child of the node b in the second tree. | |
virtual bool | isFirstNodeLeaf (int b) const |
Whether b is a leaf node in the first BVH tree. | |
virtual bool | isSecondNodeLeaf (int b) const |
Whether b is a leaf node in the second BVH tree. | |
virtual void | postprocess () |
virtual void | preprocess () |
virtual | ~TraversalNodeBase () |
Public Attributes | |
Transform3f | tf1 |
configuation of first object | |
Transform3f | tf2 |
configuration of second object |
Node structure encoding the information required for traversal.
Definition at line 48 of file traversal_node_base.h.
fcl::TraversalNodeBase::~TraversalNodeBase | ( | ) | [virtual] |
Definition at line 44 of file traversal_node_base.cpp.
virtual void fcl::TraversalNodeBase::enableStatistics | ( | bool | enable | ) | [pure virtual] |
Enable statistics (verbose mode)
Implemented in fcl::DistanceTraversalNodeBase, and fcl::CollisionTraversalNodeBase.
bool fcl::TraversalNodeBase::firstOverSecond | ( | int | b1, |
int | b2 | ||
) | const [virtual] |
Traverse the subtree of the node in the first tree first.
Reimplemented in fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, BV >, fcl::ShapeBVHCollisionTraversalNode< S, OBB >, fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, RSS >, fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, and fcl::BVHCollisionTraversalNode< OBBRSS >.
Definition at line 58 of file traversal_node_base.cpp.
int fcl::TraversalNodeBase::getFirstLeftChild | ( | int | b | ) | const [virtual] |
Get the left child of the node b in the first tree.
Reimplemented in fcl::BVHShapeDistanceTraversalNode< BV, S >, fcl::BVHShapeDistanceTraversalNode< kIOS, S >, fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, fcl::BVHShapeDistanceTraversalNode< RSS, S >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, fcl::BVHCollisionTraversalNode< OBBRSS >, fcl::BVHShapeCollisionTraversalNode< BV, S >, fcl::BVHShapeCollisionTraversalNode< OBB, S >, fcl::BVHShapeCollisionTraversalNode< kIOS, S >, fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Definition at line 63 of file traversal_node_base.cpp.
int fcl::TraversalNodeBase::getFirstRightChild | ( | int | b | ) | const [virtual] |
Get the right child of the node b in the first tree.
Reimplemented in fcl::BVHShapeDistanceTraversalNode< BV, S >, fcl::BVHShapeDistanceTraversalNode< kIOS, S >, fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, fcl::BVHShapeDistanceTraversalNode< RSS, S >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, fcl::BVHCollisionTraversalNode< OBBRSS >, fcl::BVHShapeCollisionTraversalNode< BV, S >, fcl::BVHShapeCollisionTraversalNode< OBB, S >, fcl::BVHShapeCollisionTraversalNode< kIOS, S >, fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Definition at line 68 of file traversal_node_base.cpp.
int fcl::TraversalNodeBase::getSecondLeftChild | ( | int | b | ) | const [virtual] |
Get the left child of the node b in the second tree.
Reimplemented in fcl::ShapeBVHDistanceTraversalNode< S, BV >, fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, fcl::ShapeBVHDistanceTraversalNode< S, RSS >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, BV >, fcl::ShapeBVHCollisionTraversalNode< S, OBB >, fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, RSS >, fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, and fcl::BVHCollisionTraversalNode< OBBRSS >.
Definition at line 73 of file traversal_node_base.cpp.
int fcl::TraversalNodeBase::getSecondRightChild | ( | int | b | ) | const [virtual] |
Get the right child of the node b in the second tree.
Reimplemented in fcl::ShapeBVHDistanceTraversalNode< S, BV >, fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, fcl::ShapeBVHDistanceTraversalNode< S, RSS >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, BV >, fcl::ShapeBVHCollisionTraversalNode< S, OBB >, fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, RSS >, fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, and fcl::BVHCollisionTraversalNode< OBBRSS >.
Definition at line 78 of file traversal_node_base.cpp.
bool fcl::TraversalNodeBase::isFirstNodeLeaf | ( | int | b | ) | const [virtual] |
Whether b is a leaf node in the first BVH tree.
Reimplemented in fcl::BVHShapeDistanceTraversalNode< BV, S >, fcl::BVHShapeDistanceTraversalNode< kIOS, S >, fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, fcl::BVHShapeDistanceTraversalNode< RSS, S >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, fcl::BVHCollisionTraversalNode< OBBRSS >, fcl::BVHShapeCollisionTraversalNode< BV, S >, fcl::BVHShapeCollisionTraversalNode< OBB, S >, fcl::BVHShapeCollisionTraversalNode< kIOS, S >, fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Definition at line 48 of file traversal_node_base.cpp.
bool fcl::TraversalNodeBase::isSecondNodeLeaf | ( | int | b | ) | const [virtual] |
Whether b is a leaf node in the second BVH tree.
Reimplemented in fcl::ShapeBVHDistanceTraversalNode< S, BV >, fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, fcl::ShapeBVHDistanceTraversalNode< S, RSS >, fcl::BVHDistanceTraversalNode< BV >, fcl::BVHDistanceTraversalNode< kIOS >, fcl::BVHDistanceTraversalNode< RSS >, fcl::BVHDistanceTraversalNode< OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, BV >, fcl::ShapeBVHCollisionTraversalNode< S, OBB >, fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, fcl::ShapeBVHCollisionTraversalNode< S, RSS >, fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, fcl::BVHCollisionTraversalNode< BV >, fcl::BVHCollisionTraversalNode< OBB >, fcl::BVHCollisionTraversalNode< kIOS >, fcl::BVHCollisionTraversalNode< RSS >, and fcl::BVHCollisionTraversalNode< OBBRSS >.
Definition at line 53 of file traversal_node_base.cpp.
virtual void fcl::TraversalNodeBase::postprocess | ( | ) | [inline, virtual] |
Reimplemented in fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshDistanceTraversalNodeOBBRSS, fcl::MeshDistanceTraversalNodekIOS, and fcl::MeshDistanceTraversalNodeRSS.
Definition at line 55 of file traversal_node_base.h.
virtual void fcl::TraversalNodeBase::preprocess | ( | ) | [inline, virtual] |
Reimplemented in fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >, fcl::MeshDistanceTraversalNodeOBBRSS, fcl::MeshDistanceTraversalNodekIOS, and fcl::MeshDistanceTraversalNodeRSS.
Definition at line 53 of file traversal_node_base.h.
configuation of first object
Reimplemented in fcl::OcTreeMeshCollisionTraversalNode< BV, NarrowPhaseSolver >, fcl::MeshOcTreeCollisionTraversalNode< BV, NarrowPhaseSolver >, fcl::OcTreeShapeCollisionTraversalNode< S, NarrowPhaseSolver >, fcl::ShapeOcTreeCollisionTraversalNode< S, NarrowPhaseSolver >, and fcl::OcTreeCollisionTraversalNode< NarrowPhaseSolver >.
Definition at line 82 of file traversal_node_base.h.
configuration of second object
Reimplemented in fcl::OcTreeMeshCollisionTraversalNode< BV, NarrowPhaseSolver >, fcl::MeshOcTreeCollisionTraversalNode< BV, NarrowPhaseSolver >, fcl::OcTreeShapeCollisionTraversalNode< S, NarrowPhaseSolver >, fcl::ShapeOcTreeCollisionTraversalNode< S, NarrowPhaseSolver >, and fcl::OcTreeCollisionTraversalNode< NarrowPhaseSolver >.
Definition at line 85 of file traversal_node_base.h.