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)  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... | |
| 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 void | postprocess () | 
| virtual void | preprocess () | 
| virtual | ~TraversalNodeBase () | 
| Public Attributes | |
| Transform3< S > | tf1 | 
| configuation of first object  More... | |
| Transform3< S > | tf2 | 
| configuration of second object  More... | |
Node structure encoding the information required for traversal.
Definition at line 51 of file traversal_node_base.h.
| 
 | virtual | 
Definition at line 57 of file traversal_node_base-inl.h.
| 
 | pure virtual | 
Enable statistics (verbose mode)
Implemented in fcl::detail::DistanceTraversalNodeBase< S >, fcl::detail::DistanceTraversalNodeBase< BV::S >, fcl::detail::DistanceTraversalNodeBase< kIOS< Shape::S > ::S >, fcl::detail::DistanceTraversalNodeBase< OBBRSS< S > ::S >, fcl::detail::DistanceTraversalNodeBase< NarrowPhaseSolver::S >, fcl::detail::DistanceTraversalNodeBase< RSS< Shape::S > ::S >, fcl::detail::DistanceTraversalNodeBase< RSS< S > ::S >, fcl::detail::DistanceTraversalNodeBase< Shape1::S >, fcl::detail::DistanceTraversalNodeBase< kIOS< S > ::S >, fcl::detail::DistanceTraversalNodeBase< Shape::S >, fcl::detail::DistanceTraversalNodeBase< OBBRSS< Shape::S > ::S >, fcl::detail::CollisionTraversalNodeBase< S >, fcl::detail::CollisionTraversalNodeBase< BV::S >, fcl::detail::CollisionTraversalNodeBase< kIOS< Shape::S > ::S >, fcl::detail::CollisionTraversalNodeBase< OBBRSS< S > ::S >, fcl::detail::CollisionTraversalNodeBase< NarrowPhaseSolver::S >, fcl::detail::CollisionTraversalNodeBase< RSS< Shape::S > ::S >, fcl::detail::CollisionTraversalNodeBase< OBB< Shape::S > ::S >, fcl::detail::CollisionTraversalNodeBase< Shape1::S >, fcl::detail::CollisionTraversalNodeBase< RSS< S > ::S >, fcl::detail::CollisionTraversalNodeBase< OBB< S > ::S >, fcl::detail::CollisionTraversalNodeBase< kIOS< S > ::S >, fcl::detail::CollisionTraversalNodeBase< Shape::S >, and fcl::detail::CollisionTraversalNodeBase< OBBRSS< Shape::S > ::S >.
| 
 | virtual | 
Traverse the subtree of the node in the first tree first.
Reimplemented in fcl::detail::ShapeBVHCollisionTraversalNode< Shape, BV >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBB< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, RSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, kIOS< Shape::S > >, fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, and fcl::detail::BVHCollisionTraversalNode< OBB< S > >.
Definition at line 96 of file traversal_node_base-inl.h.
| 
 | virtual | 
Get the left child of the node b in the first tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::BVHShapeCollisionTraversalNode< BV, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< BV, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< RSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBBRSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBB< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape >, and fcl::detail::BVHShapeDistanceTraversalNode< OBBRSS< Shape::S >, Shape >.
Definition at line 106 of file traversal_node_base-inl.h.
| 
 | virtual | 
Get the right child of the node b in the first tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::BVHShapeCollisionTraversalNode< BV, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< BV, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< RSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBBRSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBB< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape >, and fcl::detail::BVHShapeDistanceTraversalNode< OBBRSS< Shape::S >, Shape >.
Definition at line 113 of file traversal_node_base-inl.h.
| 
 | virtual | 
Get the left child of the node b in the second tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, BV >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBB< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, RSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, kIOS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, BV >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, RSS< Shape::S > >, and fcl::detail::ShapeBVHDistanceTraversalNode< Shape, kIOS< Shape::S > >.
Definition at line 120 of file traversal_node_base-inl.h.
| 
 | virtual | 
Get the right child of the node b in the second tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, BV >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBB< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, RSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, kIOS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, BV >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, RSS< Shape::S > >, and fcl::detail::ShapeBVHDistanceTraversalNode< Shape, kIOS< Shape::S > >.
Definition at line 127 of file traversal_node_base-inl.h.
| 
 | virtual | 
Whether b is a leaf node in the first BVH tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::BVHShapeCollisionTraversalNode< BV, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< BV, Shape >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::BVHShapeCollisionTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< RSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBBRSS< Shape::S >, Shape >, fcl::detail::BVHShapeCollisionTraversalNode< OBB< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< kIOS< Shape::S >, Shape >, fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape >, and fcl::detail::BVHShapeDistanceTraversalNode< OBBRSS< Shape::S >, Shape >.
Definition at line 78 of file traversal_node_base-inl.h.
| 
 | virtual | 
Whether b is a leaf node in the second BVH tree.
Reimplemented in fcl::detail::BVHDistanceTraversalNode< BV >, fcl::detail::BVHDistanceTraversalNode< kIOS< S > >, fcl::detail::BVHDistanceTraversalNode< OBBRSS< S > >, fcl::detail::BVHDistanceTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< BV >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, BV >, fcl::detail::BVHCollisionTraversalNode< kIOS< S > >, fcl::detail::BVHCollisionTraversalNode< OBBRSS< S > >, fcl::detail::BVHCollisionTraversalNode< RSS< S > >, fcl::detail::BVHCollisionTraversalNode< OBB< S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, OBB< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, RSS< Shape::S > >, fcl::detail::ShapeBVHCollisionTraversalNode< Shape, kIOS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, BV >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, OBBRSS< Shape::S > >, fcl::detail::ShapeBVHDistanceTraversalNode< Shape, RSS< Shape::S > >, and fcl::detail::ShapeBVHDistanceTraversalNode< Shape, kIOS< Shape::S > >.
Definition at line 87 of file traversal_node_base-inl.h.
| 
 | virtual | 
Reimplemented in fcl::detail::MeshShapeDistanceTraversalNodeOBBRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodeOBBRSS< S >, fcl::detail::ShapeMeshDistanceTraversalNodeOBBRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshShapeDistanceTraversalNodekIOS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodekIOS< S >, fcl::detail::ShapeMeshDistanceTraversalNodekIOS< Shape, NarrowPhaseSolver >, fcl::detail::MeshShapeDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodeRSS< S >, and fcl::detail::ShapeMeshDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >.
Definition at line 71 of file traversal_node_base-inl.h.
| 
 | virtual | 
Reimplemented in fcl::detail::MeshShapeDistanceTraversalNodeOBBRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodeOBBRSS< S >, fcl::detail::ShapeMeshDistanceTraversalNodeOBBRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshShapeDistanceTraversalNodekIOS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodekIOS< S >, fcl::detail::ShapeMeshDistanceTraversalNodekIOS< Shape, NarrowPhaseSolver >, fcl::detail::MeshShapeDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >, fcl::detail::MeshDistanceTraversalNodeRSS< S >, and fcl::detail::ShapeMeshDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >.
Definition at line 64 of file traversal_node_base-inl.h.
| Transform3<S> fcl::detail::TraversalNodeBase< S >::tf1 | 
configuation of first object
Definition at line 85 of file traversal_node_base.h.
| Transform3<S> fcl::detail::TraversalNodeBase< S >::tf2 | 
configuration of second object
Definition at line 88 of file traversal_node_base.h.