Traversal node for collision between BVH and shape. More...
#include <hpp/fcl/traversal/traversal_node_bvh_shape.h>
Public Member Functions | |
BVHShapeCollisionTraversalNode (bool enable_distance_lower_bound) | |
bool | isFirstNodeLeaf (int b) const |
Whether the BV node in the first BVH tree is leaf. | |
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. | |
bool | BVTesting (int b1, int b2) const |
BV culling test in one BVTT node. | |
bool | BVTesting (int b1, int b2, FCL_REAL &sqrDistLowerBound) const |
BV test between b1 and b2. | |
Public Attributes | |
const BVHModel< BV > * | model1 |
const S * | model2 |
BV | model2_bv |
int | num_bv_tests |
int | num_leaf_tests |
FCL_REAL | query_time_seconds |
Traversal node for collision between BVH and shape.
fcl::BVHShapeCollisionTraversalNode< BV, S >::BVHShapeCollisionTraversalNode | ( | bool | enable_distance_lower_bound | ) | [inline] |
bool fcl::BVHShapeCollisionTraversalNode< BV, S >::BVTesting | ( | int | b1, |
int | b2 | ||
) | const [inline, virtual] |
BV culling test in one BVTT node.
Implements fcl::CollisionTraversalNodeBase.
Reimplemented in fcl::MeshShapeCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >, fcl::MeshShapeCollisionTraversalNodekIOS< S, NarrowPhaseSolver >, fcl::MeshShapeCollisionTraversalNodeRSS< S, NarrowPhaseSolver >, and fcl::MeshShapeCollisionTraversalNodeOBB< S, NarrowPhaseSolver >.
bool fcl::BVHShapeCollisionTraversalNode< BV, S >::BVTesting | ( | int | b1, |
int | b2, | ||
FCL_REAL & | sqrDistLowerBound | ||
) | const [inline, virtual] |
BV test between b1 and b2.
b1,b2 | Bounding volumes to test, |
sqrDistLowerBound | square of a lower bound of the minimal distance between bounding volumes. BV culling test in one BVTT node |
Implements fcl::CollisionTraversalNodeBase.
Reimplemented in fcl::MeshShapeCollisionTraversalNodeOBBRSS< S, NarrowPhaseSolver >.
int fcl::BVHShapeCollisionTraversalNode< BV, S >::getFirstLeftChild | ( | int | b | ) | const [inline, virtual] |
Obtain the left child of BV node in the first BVH.
Reimplemented from fcl::TraversalNodeBase.
int fcl::BVHShapeCollisionTraversalNode< BV, S >::getFirstRightChild | ( | int | b | ) | const [inline, virtual] |
Obtain the right child of BV node in the first BVH.
Reimplemented from fcl::TraversalNodeBase.
bool fcl::BVHShapeCollisionTraversalNode< BV, S >::isFirstNodeLeaf | ( | int | b | ) | const [inline, virtual] |
Whether the BV node in the first BVH tree is leaf.
Reimplemented from fcl::TraversalNodeBase.
const BVHModel<BV>* fcl::BVHShapeCollisionTraversalNode< BV, S >::model1 |
Referenced by fcl::BVHShapeCollisionTraversalNode< RSS, S >::BVHShapeCollisionTraversalNode(), fcl::BVHShapeCollisionTraversalNode< RSS, S >::BVTesting(), fcl::BVHShapeCollisionTraversalNode< RSS, S >::getFirstLeftChild(), fcl::BVHShapeCollisionTraversalNode< RSS, S >::getFirstRightChild(), fcl::initialize(), fcl::BVHShapeCollisionTraversalNode< RSS, S >::isFirstNodeLeaf(), and fcl::MeshShapeCollisionTraversalNode< OBBRSS, S, NarrowPhaseSolver >::leafTesting().
const S* fcl::BVHShapeCollisionTraversalNode< BV, S >::model2 |
BV fcl::BVHShapeCollisionTraversalNode< BV, S >::model2_bv |
Referenced by fcl::BVHShapeCollisionTraversalNode< RSS, S >::BVTesting(), and fcl::initialize().
int fcl::BVHShapeCollisionTraversalNode< BV, S >::num_bv_tests [mutable] |
int fcl::BVHShapeCollisionTraversalNode< BV, S >::num_leaf_tests [mutable] |
FCL_REAL fcl::BVHShapeCollisionTraversalNode< BV, S >::query_time_seconds [mutable] |