Node structure encoding the information required for traversal. More...
#include <hpp/fcl/traversal/traversal_node_base.h>
Public Member Functions | |
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... | |
virtual void | enableStatistics (bool enable)=0 |
Enable statistics (verbose mode) More... | |
Public Attributes | |
Transform3f | tf1 |
configuation of first object More... | |
Transform3f | tf2 |
configuration of second object More... | |
Node structure encoding the information required for traversal.
|
virtual |
|
pure virtual |
Enable statistics (verbose mode)
Implemented in hpp::fcl::DistanceTraversalNodeBase, and hpp::fcl::CollisionTraversalNodeBase.
Referenced by postprocess().
|
virtual |
Traverse the subtree of the node in the first tree first.
Reimplemented in hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, BV >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBB >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, RSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, and hpp::fcl::BVHCollisionTraversalNode< BV >.
Referenced by postprocess().
|
virtual |
Get the left child of the node b in the first tree.
Reimplemented in hpp::fcl::BVHShapeDistanceTraversalNode< BV, S >, hpp::fcl::BVHShapeDistanceTraversalNode< kIOS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< RSS, S >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::BVHCollisionTraversalNode< BV >, hpp::fcl::BVHShapeCollisionTraversalNode< BV, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBB, S >, hpp::fcl::BVHShapeCollisionTraversalNode< kIOS, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and hpp::fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Referenced by postprocess().
|
virtual |
Get the right child of the node b in the first tree.
Reimplemented in hpp::fcl::BVHShapeDistanceTraversalNode< BV, S >, hpp::fcl::BVHShapeDistanceTraversalNode< kIOS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< RSS, S >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::BVHCollisionTraversalNode< BV >, hpp::fcl::BVHShapeCollisionTraversalNode< BV, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBB, S >, hpp::fcl::BVHShapeCollisionTraversalNode< kIOS, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and hpp::fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Referenced by postprocess().
|
virtual |
Get the left child of the node b in the second tree.
Reimplemented in hpp::fcl::ShapeBVHDistanceTraversalNode< S, BV >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, RSS >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, BV >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBB >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, RSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, and hpp::fcl::BVHCollisionTraversalNode< BV >.
Referenced by postprocess().
|
virtual |
Get the right child of the node b in the second tree.
Reimplemented in hpp::fcl::ShapeBVHDistanceTraversalNode< S, BV >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, RSS >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, BV >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBB >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, RSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, and hpp::fcl::BVHCollisionTraversalNode< BV >.
Referenced by postprocess().
|
virtual |
Whether b is a leaf node in the first BVH tree.
Reimplemented in hpp::fcl::BVHShapeDistanceTraversalNode< BV, S >, hpp::fcl::BVHShapeDistanceTraversalNode< kIOS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< OBBRSS, S >, hpp::fcl::BVHShapeDistanceTraversalNode< RSS, S >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::BVHCollisionTraversalNode< BV >, hpp::fcl::BVHShapeCollisionTraversalNode< BV, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBB, S >, hpp::fcl::BVHShapeCollisionTraversalNode< kIOS, S >, hpp::fcl::BVHShapeCollisionTraversalNode< OBBRSS, S >, and hpp::fcl::BVHShapeCollisionTraversalNode< RSS, S >.
Referenced by postprocess().
|
virtual |
Whether b is a leaf node in the second BVH tree.
Reimplemented in hpp::fcl::ShapeBVHDistanceTraversalNode< S, BV >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, kIOS >, hpp::fcl::ShapeBVHDistanceTraversalNode< S, RSS >, hpp::fcl::BVHDistanceTraversalNode< BV >, hpp::fcl::BVHDistanceTraversalNode< kIOS >, hpp::fcl::BVHDistanceTraversalNode< RSS >, hpp::fcl::BVHDistanceTraversalNode< OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, BV >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBB >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, OBBRSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, RSS >, hpp::fcl::ShapeBVHCollisionTraversalNode< S, kIOS >, and hpp::fcl::BVHCollisionTraversalNode< BV >.
Referenced by postprocess().
|
inlinevirtual |
Reimplemented in 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::MeshDistanceTraversalNodeOBBRSS, hpp::fcl::MeshDistanceTraversalNodekIOS, and hpp::fcl::MeshDistanceTraversalNodeRSS.
References enableStatistics(), firstOverSecond(), getFirstLeftChild(), getFirstRightChild(), getSecondLeftChild(), getSecondRightChild(), isFirstNodeLeaf(), and isSecondNodeLeaf().
|
inlinevirtual |
Reimplemented in 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::MeshDistanceTraversalNodeOBBRSS, hpp::fcl::MeshDistanceTraversalNodekIOS, and hpp::fcl::MeshDistanceTraversalNodeRSS.
Transform3f hpp::fcl::TraversalNodeBase::tf1 |
configuation of first object
Referenced by hpp::fcl::MeshShapeCollisionTraversalNode< kIOS, S, NarrowPhaseSolver, 0 >::BVTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::initialize(), hpp::fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeCollisionTraversalNode< kIOS, S, NarrowPhaseSolver, 0 >::leafTesting(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::leafTesting(), hpp::fcl::ShapeMeshCollisionTraversalNode< S, OBB, NarrowPhaseSolver, 0 >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNode< S, kIOS, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::preprocess(), and hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::preprocess().
Transform3f hpp::fcl::TraversalNodeBase::tf2 |
configuration of second object
Referenced by hpp::fcl::ShapeMeshCollisionTraversalNode< S, OBB, NarrowPhaseSolver, 0 >::BVTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::BVTesting(), hpp::fcl::initialize(), hpp::fcl::ShapeCollisionTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeDistanceTraversalNode< S1, S2, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeCollisionTraversalNode< kIOS, S, NarrowPhaseSolver, 0 >::leafTesting(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::leafTesting(), hpp::fcl::ShapeMeshCollisionTraversalNode< S, OBB, NarrowPhaseSolver, 0 >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNode< OBBRSS, S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::leafTesting(), hpp::fcl::MeshShapeDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::MeshShapeDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::MeshShapeDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::ShapeMeshDistanceTraversalNodeRSS< S, NarrowPhaseSolver >::preprocess(), hpp::fcl::ShapeMeshDistanceTraversalNodekIOS< S, NarrowPhaseSolver >::preprocess(), and hpp::fcl::ShapeMeshDistanceTraversalNodeOBBRSS< S, NarrowPhaseSolver >::preprocess().