Public Member Functions | Public Attributes | List of all members
fcl::MeshContinuousCollisionTraversalNode< BV > Class Template Reference

Traversal node for continuous collision between meshes. More...

#include <hpp/fcl/traversal/traversal_node_bvhs.h>

Inheritance diagram for fcl::MeshContinuousCollisionTraversalNode< BV >:
[legend]
Collaboration diagram for fcl::MeshContinuousCollisionTraversalNode< BV >:
[legend]

Public Member Functions

 MeshContinuousCollisionTraversalNode ()
 
void leafTesting (int b1, int b2, FCL_REAL &) const
 Intersection testing between leaves (two triangles) More...
 
bool canStop () const
 Whether the traversal process can stop early. More...
 
- Public Member Functions inherited from fcl::BVHCollisionTraversalNode< BV >
 BVHCollisionTraversalNode (bool enable_distance_lower_bound)
 
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...
 
bool BVTesting (int b1, int b2) const
 BV culling test in one BVTT node. More...
 
bool BVTesting (int b1, int b2, FCL_REAL &sqrDistLowerBound) const
 BV test between b1 and b2. More...
 
- Public Member Functions inherited from fcl::CollisionTraversalNodeBase
 CollisionTraversalNodeBase (bool enable_distance_lower_bound_=false)
 
virtual ~CollisionTraversalNodeBase ()
 
void enableStatistics (bool enable)
 Whether store some statistics information during traversal. More...
 
- Public Member Functions inherited from fcl::TraversalNodeBase
virtual ~TraversalNodeBase ()
 
virtual void preprocess ()
 
virtual void postprocess ()
 

Public Attributes

Vec3fvertices1
 
Vec3fvertices2
 
Triangletri_indices1
 
Triangletri_indices2
 
Vec3fprev_vertices1
 
Vec3fprev_vertices2
 
int num_vf_tests
 
int num_ee_tests
 
std::vector< BVHContinuousCollisionPairpairs
 
FCL_REAL time_of_contact
 
- Public Attributes inherited from fcl::BVHCollisionTraversalNode< BV >
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
 
- Public Attributes inherited from fcl::CollisionTraversalNodeBase
CollisionRequest request
 request setting for collision More...
 
CollisionResultresult
 collision result kept during the traversal iteration More...
 
bool enable_statistics
 Whether stores statistics. More...
 
bool enable_distance_lower_bound
 Whether to compute a lower bound on distance between bounding volumes. More...
 
- Public Attributes inherited from fcl::TraversalNodeBase
Transform3f tf1
 configuation of first object More...
 
Transform3f tf2
 configuration of second object More...
 

Detailed Description

template<typename BV>
class fcl::MeshContinuousCollisionTraversalNode< BV >

Traversal node for continuous collision between meshes.

Constructor & Destructor Documentation

◆ MeshContinuousCollisionTraversalNode()

Member Function Documentation

◆ canStop()

template<typename BV>
bool fcl::MeshContinuousCollisionTraversalNode< BV >::canStop ( ) const
inlinevirtual

Whether the traversal process can stop early.

Reimplemented from fcl::CollisionTraversalNodeBase.

References fcl::CollisionRequest::num_max_contacts, and fcl::CollisionTraversalNodeBase::request.

◆ leafTesting()

template<typename BV>
void fcl::MeshContinuousCollisionTraversalNode< BV >::leafTesting ( int  b1,
int  b2,
FCL_REAL  
) const
inlinevirtual

Member Data Documentation

◆ num_ee_tests

template<typename BV>
int fcl::MeshContinuousCollisionTraversalNode< BV >::num_ee_tests
mutable

◆ num_vf_tests

template<typename BV>
int fcl::MeshContinuousCollisionTraversalNode< BV >::num_vf_tests
mutable

◆ pairs

template<typename BV>
std::vector<BVHContinuousCollisionPair> fcl::MeshContinuousCollisionTraversalNode< BV >::pairs
mutable

◆ prev_vertices1

template<typename BV>
Vec3f* fcl::MeshContinuousCollisionTraversalNode< BV >::prev_vertices1

Referenced by fcl::initialize().

◆ prev_vertices2

template<typename BV>
Vec3f* fcl::MeshContinuousCollisionTraversalNode< BV >::prev_vertices2

Referenced by fcl::initialize().

◆ time_of_contact

template<typename BV>
FCL_REAL fcl::MeshContinuousCollisionTraversalNode< BV >::time_of_contact
mutable

◆ tri_indices1

template<typename BV>
Triangle* fcl::MeshContinuousCollisionTraversalNode< BV >::tri_indices1

Referenced by fcl::initialize().

◆ tri_indices2

template<typename BV>
Triangle* fcl::MeshContinuousCollisionTraversalNode< BV >::tri_indices2

Referenced by fcl::initialize().

◆ vertices1

template<typename BV>
Vec3f* fcl::MeshContinuousCollisionTraversalNode< BV >::vertices1

Referenced by fcl::initialize().

◆ vertices2

template<typename BV>
Vec3f* fcl::MeshContinuousCollisionTraversalNode< BV >::vertices2

Referenced by fcl::initialize().