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.