Traversal node for collision between shape and mesh. More...
#include <hpp/fcl/traversal/traversal_node_bvh_shape.h>
Public Types | |
enum | { Options = _Options, RTIsIdentity = _Options & RelativeTransformationIsIdentity } |
Public Member Functions | |
ShapeMeshCollisionTraversalNode () | |
bool | BVTesting (int, int b2) const |
BV test between b1 and b2. More... | |
bool | BVTesting (int, int b2, FCL_REAL &sqrDistLowerBound) const |
BV test between b1 and b2. More... | |
void | leafTesting (int, int b2, FCL_REAL &sqrDistLowerBound) const |
Intersection testing between leaves (one shape and one triangle) More... | |
bool | canStop () const |
Whether the traversal process can stop early. More... | |
![]() | |
ShapeBVHCollisionTraversalNode (const CollisionRequest &request) | |
bool | firstOverSecond (int, int) const |
Alway extend the second model, which is a BVH model. More... | |
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... | |
![]() | |
CollisionTraversalNodeBase (const CollisionRequest &request_) | |
virtual | ~CollisionTraversalNodeBase () |
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 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... | |
Public Attributes | |
Vec3f * | vertices |
Triangle * | tri_indices |
const NarrowPhaseSolver * | nsolver |
![]() | |
const S * | model1 |
const BVHModel< BV > * | model2 |
BV | model1_bv |
int | num_bv_tests |
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 shape and mesh.
anonymous enum |
|
inline |
|
inlinevirtual |
BV test between b1 and b2.
b2 | Bounding volumes to test, |
Implements hpp::fcl::CollisionTraversalNodeBase.
|
inlinevirtual |
BV test between b1 and b2.
b2 | Bounding volumes to test, |
sqrDistLowerBound | square of a lower bound of the minimal distance between bounding volumes. |
Implements hpp::fcl::CollisionTraversalNodeBase.
|
inlinevirtual |
Whether the traversal process can stop early.
Reimplemented from hpp::fcl::CollisionTraversalNodeBase.
|
inlinevirtual |
Intersection testing between leaves (one shape and one triangle)
Reimplemented from hpp::fcl::CollisionTraversalNodeBase.
const NarrowPhaseSolver* hpp::fcl::ShapeMeshCollisionTraversalNode< S, BV, NarrowPhaseSolver, _Options >::nsolver |
Referenced by hpp::fcl::initialize().
Triangle* hpp::fcl::ShapeMeshCollisionTraversalNode< S, BV, NarrowPhaseSolver, _Options >::tri_indices |
Referenced by hpp::fcl::initialize().
Vec3f* hpp::fcl::ShapeMeshCollisionTraversalNode< S, BV, NarrowPhaseSolver, _Options >::vertices |
Referenced by hpp::fcl::initialize().