Traversal node for collision between BVH models. More...
#include <hpp/fcl/traversal/traversal_node_bvhs.h>
Public Member Functions | |
BVHCollisionTraversalNode (const CollisionRequest &request) | |
bool | isFirstNodeLeaf (int b) const |
Whether the BV node in the first BVH tree is leaf. More... | |
bool | isSecondNodeLeaf (int b) const |
Whether the BV node in the second BVH tree is leaf. More... | |
bool | firstOverSecond (int b1, int b2) const |
Determine the traversal order, is the first BVTT subtree better. More... | |
int | getFirstLeftChild (int b) const |
Obtain the left child of BV node in the first BVH. More... | |
int | getFirstRightChild (int b) const |
Obtain the right child of BV node in the first BVH. More... | |
int | getSecondLeftChild (int b) const |
Obtain the left child of BV node in the second BVH. More... | |
int | getSecondRightChild (int b) const |
Obtain the right child of BV node in the second BVH. More... | |
![]() | |
CollisionTraversalNodeBase (const CollisionRequest &request_) | |
virtual | ~CollisionTraversalNodeBase () |
virtual bool | BVTesting (int b1, int b2) const =0 |
BV test between b1 and b2. More... | |
virtual bool | BVTesting (int b1, int b2, FCL_REAL &sqrDistLowerBound) const =0 |
BV test between b1 and b2. More... | |
virtual void | leafTesting (int, int, FCL_REAL &) const |
Leaf test between node b1 and b2, if they are both leafs. More... | |
virtual bool | canStop () const |
Check whether the traversal can stop. More... | |
void | enableStatistics (bool enable) |
Whether store some statistics information during traversal. More... | |
![]() | |
virtual | ~TraversalNodeBase () |
virtual void | preprocess () |
virtual void | postprocess () |
Public Attributes | |
const BVHModel< BV > * | model1 |
The first BVH model. More... | |
const BVHModel< BV > * | model2 |
The second BVH model. More... | |
int | num_bv_tests |
statistical information More... | |
int | num_leaf_tests |
FCL_REAL | query_time_seconds |
![]() | |
const CollisionRequest & | request |
request setting for collision More... | |
CollisionResult * | result |
collision result kept during the traversal iteration More... | |
bool | enable_statistics |
Whether stores statistics. More... | |
![]() | |
Transform3f | tf1 |
configuation of first object More... | |
Transform3f | tf2 |
configuration of second object More... | |
Traversal node for collision between BVH models.
|
inline |
|
inlinevirtual |
Determine the traversal order, is the first BVTT subtree better.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model1, and hpp::fcl::BVHCollisionTraversalNode< BV >::model2.
|
inlinevirtual |
Obtain the left child of BV node in the first BVH.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model1.
|
inlinevirtual |
Obtain the right child of BV node in the first BVH.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model1.
|
inlinevirtual |
Obtain the left child of BV node in the second BVH.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model2.
|
inlinevirtual |
Obtain the right child of BV node in the second BVH.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model2.
|
inlinevirtual |
Whether the BV node in the first BVH tree is leaf.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model1.
|
inlinevirtual |
Whether the BV node in the second BVH tree is leaf.
Reimplemented from hpp::fcl::TraversalNodeBase.
References hpp::fcl::BVHCollisionTraversalNode< BV >::model2.
const BVHModel<BV>* hpp::fcl::BVHCollisionTraversalNode< BV >::model1 |
The first BVH model.
Referenced by hpp::fcl::BVHCollisionTraversalNode< BV >::BVHCollisionTraversalNode(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::BVTesting(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), hpp::fcl::BVHCollisionTraversalNode< BV >::firstOverSecond(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::firstOverSecond(), hpp::fcl::BVHCollisionTraversalNode< BV >::getFirstLeftChild(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::getFirstLeftChild(), hpp::fcl::BVHCollisionTraversalNode< BV >::getFirstRightChild(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::getFirstRightChild(), hpp::fcl::initialize(), hpp::fcl::BVHCollisionTraversalNode< BV >::isFirstNodeLeaf(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::isFirstNodeLeaf(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::leafTesting(), and hpp::fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting().
const BVHModel<BV>* hpp::fcl::BVHCollisionTraversalNode< BV >::model2 |
The second BVH model.
Referenced by hpp::fcl::BVHCollisionTraversalNode< BV >::BVHCollisionTraversalNode(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::BVTesting(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), hpp::fcl::BVHCollisionTraversalNode< BV >::firstOverSecond(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::firstOverSecond(), hpp::fcl::BVHCollisionTraversalNode< BV >::getSecondLeftChild(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::getSecondLeftChild(), hpp::fcl::BVHCollisionTraversalNode< BV >::getSecondRightChild(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::getSecondRightChild(), hpp::fcl::initialize(), hpp::fcl::BVHCollisionTraversalNode< BV >::isSecondNodeLeaf(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::isSecondNodeLeaf(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::leafTesting(), and hpp::fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting().
|
mutable |
statistical information
Referenced by hpp::fcl::BVHCollisionTraversalNode< BV >::BVHCollisionTraversalNode(), hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), hpp::fcl::MeshCollisionTraversalNode< BV, _Options >::BVTesting(), and hpp::fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting().
|
mutable |
|
mutable |