All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver > Class Template Reference

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

Inheritance diagram for fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >:
Collaboration diagram for fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >:

Public Member Functions

 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...
 
- Public Member Functions inherited from fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >
 ShapeMeshDistanceTraversalNode ()
 
- Public Member Functions inherited from fcl::ShapeBVHDistanceTraversalNode< S, BV >
 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...
 
- Public Member Functions inherited from fcl::DistanceTraversalNodeBase
 DistanceTraversalNodeBase ()
 
virtual ~DistanceTraversalNodeBase ()
 
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 ()
 
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...
 

Public Attributes

FCL_REAL min_distance
 
Vec3f closest_p1
 
Vec3f closest_p2
 
int last_tri_id
 
FCL_REAL w
 CA controlling variable: early stop for the early iterations of CA. More...
 
FCL_REAL toc
 The time from beginning point. More...
 
FCL_REAL t_err
 
FCL_REAL delta_t
 The delta_t each step. More...
 
const MotionBasemotion1
 Motions for the two objects in query. More...
 
const MotionBasemotion2
 
std::vector
< ConservativeAdvancementStackData
stack
 
- Public Attributes inherited from fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >
Vec3fvertices
 
Triangletri_indices
 
FCL_REAL rel_err
 
FCL_REAL abs_err
 
const NarrowPhaseSolver * nsolver
 
- Public Attributes inherited from fcl::ShapeBVHDistanceTraversalNode< S, BV >
const S * model1
 
const BVHModel< BV > * model2
 
BV model1_bv
 
int num_bv_tests
 
int num_leaf_tests
 
FCL_REAL query_time_seconds
 
- Public Attributes inherited from fcl::DistanceTraversalNodeBase
DistanceRequest request
 request setting for distance More...
 
DistanceResultresult
 distance result kept during the traversal iteration More...
 
bool enable_statistics
 Whether stores statistics. More...
 
- Public Attributes inherited from fcl::TraversalNodeBase
Transform3f tf1
 configuation of first object More...
 
Transform3f tf2
 configuration of second object More...
 

Constructor & Destructor Documentation

template<typename S, typename BV, typename NarrowPhaseSolver>
fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::ShapeMeshConservativeAdvancementTraversalNode ( FCL_REAL  w_ = 1)
inline

Member Function Documentation

template<typename S, typename BV, typename NarrowPhaseSolver>
FCL_REAL fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::BVTesting ( int  b1,
int  b2 
) const
inlinevirtual

BV culling test in one BVTT node.

Reimplemented from fcl::ShapeBVHDistanceTraversalNode< S, BV >.

template<typename S, typename BV, typename NarrowPhaseSolver>
bool fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::canStop ( FCL_REAL  c) const
inlinevirtual

Whether the traversal process can stop early.

Reimplemented from fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >.

template<typename S, typename BV, typename NarrowPhaseSolver>
void fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::leafTesting ( int  b1,
int  b2 
) const
inlinevirtual

Conservative advancement testing between leaves (one triangle and one shape)

Reimplemented from fcl::ShapeMeshDistanceTraversalNode< S, BV, NarrowPhaseSolver >.

Member Data Documentation

template<typename S, typename BV, typename NarrowPhaseSolver>
Vec3f fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::closest_p1
mutable
template<typename S, typename BV, typename NarrowPhaseSolver>
Vec3f fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::closest_p2
mutable
template<typename S, typename BV, typename NarrowPhaseSolver>
int fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::last_tri_id
mutable
template<typename S, typename BV, typename NarrowPhaseSolver>
FCL_REAL fcl::ShapeMeshConservativeAdvancementTraversalNode< S, BV, NarrowPhaseSolver >::toc