Traversal node for distance computation between BVH models. More...
#include <hpp/fcl/traversal/traversal_node_bvhs.h>
Public Member Functions | |
BVHDistanceTraversalNode () | |
bool | isFirstNodeLeaf (int b) const |
Whether the BV node in the first BVH tree is leaf. | |
bool | isSecondNodeLeaf (int b) const |
Whether the BV node in the second BVH tree is leaf. | |
bool | firstOverSecond (int b1, int b2) const |
Determine the traversal order, is the first BVTT subtree better. | |
int | getFirstLeftChild (int b) const |
Obtain the left child of BV node in the first BVH. | |
int | getFirstRightChild (int b) const |
Obtain the right child of BV node in the first BVH. | |
int | getSecondLeftChild (int b) const |
Obtain the left child of BV node in the second BVH. | |
int | getSecondRightChild (int b) const |
Obtain the right child of BV node in the second BVH. | |
FCL_REAL | BVTesting (int b1, int b2) const |
BV culling test in one BVTT node. | |
Public Attributes | |
const BVHModel< BV > * | model1 |
The first BVH model. | |
const BVHModel< BV > * | model2 |
The second BVH model. | |
int | num_bv_tests |
statistical information | |
int | num_leaf_tests |
FCL_REAL | query_time_seconds |
Traversal node for distance computation between BVH models.
fcl::BVHDistanceTraversalNode< BV >::BVHDistanceTraversalNode | ( | ) | [inline] |
FCL_REAL fcl::BVHDistanceTraversalNode< BV >::BVTesting | ( | int | b1, |
int | b2 | ||
) | const [inline, virtual] |
BV culling test in one BVTT node.
Reimplemented from fcl::DistanceTraversalNodeBase.
Reimplemented in fcl::MeshConservativeAdvancementTraversalNodeOBBRSS, fcl::MeshConservativeAdvancementTraversalNodeRSS, fcl::MeshConservativeAdvancementTraversalNode< BV >, fcl::MeshConservativeAdvancementTraversalNode< RSS >, fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >, fcl::MeshDistanceTraversalNodeOBBRSS, fcl::MeshDistanceTraversalNodekIOS, and fcl::MeshDistanceTraversalNodeRSS.
bool fcl::BVHDistanceTraversalNode< BV >::firstOverSecond | ( | int | b1, |
int | b2 | ||
) | const [inline, virtual] |
Determine the traversal order, is the first BVTT subtree better.
Reimplemented from fcl::TraversalNodeBase.
int fcl::BVHDistanceTraversalNode< BV >::getFirstLeftChild | ( | int | b | ) | const [inline, virtual] |
Obtain the left child of BV node in the first BVH.
Reimplemented from fcl::TraversalNodeBase.
int fcl::BVHDistanceTraversalNode< BV >::getFirstRightChild | ( | int | b | ) | const [inline, virtual] |
Obtain the right child of BV node in the first BVH.
Reimplemented from fcl::TraversalNodeBase.
int fcl::BVHDistanceTraversalNode< BV >::getSecondLeftChild | ( | int | b | ) | const [inline, virtual] |
Obtain the left child of BV node in the second BVH.
Reimplemented from fcl::TraversalNodeBase.
int fcl::BVHDistanceTraversalNode< BV >::getSecondRightChild | ( | int | b | ) | const [inline, virtual] |
Obtain the right child of BV node in the second BVH.
Reimplemented from fcl::TraversalNodeBase.
bool fcl::BVHDistanceTraversalNode< BV >::isFirstNodeLeaf | ( | int | b | ) | const [inline, virtual] |
Whether the BV node in the first BVH tree is leaf.
Reimplemented from fcl::TraversalNodeBase.
bool fcl::BVHDistanceTraversalNode< BV >::isSecondNodeLeaf | ( | int | b | ) | const [inline, virtual] |
Whether the BV node in the second BVH tree is leaf.
Reimplemented from fcl::TraversalNodeBase.
const BVHModel<BV>* fcl::BVHDistanceTraversalNode< BV >::model1 |
The first BVH model.
Referenced by fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::BVTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::canStop(), fcl::BVHDistanceTraversalNode< OBBRSS >::firstOverSecond(), fcl::BVHDistanceTraversalNode< OBBRSS >::getFirstLeftChild(), fcl::BVHDistanceTraversalNode< OBBRSS >::getFirstRightChild(), fcl::initialize(), fcl::BVHDistanceTraversalNode< OBBRSS >::isFirstNodeLeaf(), fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting(), and fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::leafTesting().
const BVHModel<BV>* fcl::BVHDistanceTraversalNode< BV >::model2 |
The second BVH model.
Referenced by fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::BVTesting(), fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::canStop(), fcl::BVHDistanceTraversalNode< OBBRSS >::firstOverSecond(), fcl::BVHDistanceTraversalNode< OBBRSS >::getSecondLeftChild(), fcl::BVHDistanceTraversalNode< OBBRSS >::getSecondRightChild(), fcl::initialize(), fcl::BVHDistanceTraversalNode< OBBRSS >::isSecondNodeLeaf(), fcl::MeshDistanceTraversalNode< OBBRSS >::leafTesting(), and fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::leafTesting().
int fcl::BVHDistanceTraversalNode< BV >::num_bv_tests [mutable] |
statistical information
Referenced by fcl::BVHDistanceTraversalNode< OBBRSS >::BVHDistanceTraversalNode(), fcl::BVHDistanceTraversalNode< OBBRSS >::BVTesting(), and fcl::MeshConservativeAdvancementTraversalNode< OBBRSS >::BVTesting().
int fcl::BVHDistanceTraversalNode< BV >::num_leaf_tests [mutable] |
FCL_REAL fcl::BVHDistanceTraversalNode< BV >::query_time_seconds [mutable] |