#include <hpp/fcl/traversal/traversal_node_bvh_shape.h>
Public Member Functions | |
ShapeMeshConservativeAdvancementTraversalNodeRSS (FCL_REAL w_=1) | |
FCL_REAL | BVTesting (int b1, int b2) const |
BV test between b1 and b2. More... | |
void | leafTesting (int b1, int b2) const |
Leaf test between node b1 and b2, if they are both leafs. More... | |
bool | canStop (FCL_REAL c) const |
Check whether the traversal can stop. More... | |
![]() | |
ShapeMeshConservativeAdvancementTraversalNode (FCL_REAL w_=1) | |
FCL_REAL | BVTesting (int b1, int b2) const |
BV culling test in one BVTT node. More... | |
void | leafTesting (int b1, int b2) const |
Conservative advancement testing between leaves (one triangle and one shape) More... | |
bool | canStop (FCL_REAL c) const |
Whether the traversal process can stop early. More... | |
![]() | |
ShapeMeshDistanceTraversalNode () | |
![]() | |
ShapeBVHDistanceTraversalNode () | |
bool | isSecondNodeLeaf (int b) const |
Whether the BV node in the second BVH tree is leaf. 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... | |
![]() | |
DistanceTraversalNodeBase () | |
virtual | ~DistanceTraversalNodeBase () |
void | enableStatistics (bool enable) |
Whether store some statistics information during traversal. More... | |
![]() | |
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 | 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... | |
|
inline |
|
inlinevirtual |
BV test between b1 and b2.
Reimplemented from fcl::DistanceTraversalNodeBase.
References fcl::distance(), fcl::ShapeBVHDistanceTraversalNode< S, RSS >::model1_bv, fcl::ShapeBVHDistanceTraversalNode< S, RSS >::num_bv_tests, and fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::stack.
|
inlinevirtual |
Check whether the traversal can stop.
Reimplemented from fcl::DistanceTraversalNodeBase.
References fcl::ShapeMeshDistanceTraversalNode< S, RSS, NarrowPhaseSolver >::abs_err, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::delta_t, fcl::details::meshShapeConservativeAdvancementOrientedNodeCanStop(), fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::min_distance, fcl::ShapeBVHDistanceTraversalNode< S, RSS >::model1_bv, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::motion1, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::motion2, fcl::ShapeMeshDistanceTraversalNode< S, RSS, NarrowPhaseSolver >::rel_err, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::stack, and fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::w.
|
inlinevirtual |
Leaf test between node b1 and b2, if they are both leafs.
Implements fcl::DistanceTraversalNodeBase.
References fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::delta_t, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::last_tri_id, fcl::details::meshShapeConservativeAdvancementOrientedNodeLeafTesting(), fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::min_distance, fcl::ShapeBVHDistanceTraversalNode< S, RSS >::model1_bv, fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::motion1, and fcl::ShapeMeshConservativeAdvancementTraversalNode< S, RSS, NarrowPhaseSolver >::motion2.