All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::MeshDistanceTraversalNodeRSS Class Reference

Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS) More...

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

Inheritance diagram for fcl::MeshDistanceTraversalNodeRSS:
Collaboration diagram for fcl::MeshDistanceTraversalNodeRSS:

Public Member Functions

 MeshDistanceTraversalNodeRSS ()
 
void preprocess ()
 
void postprocess ()
 
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...
 
- Public Member Functions inherited from fcl::MeshDistanceTraversalNode< RSS >
 MeshDistanceTraversalNode ()
 
void leafTesting (int b1, int b2) const
 Distance testing between leaves (two triangles) More...
 
bool canStop (FCL_REAL c) const
 Whether the traversal process can stop early. More...
 
- Public Member Functions inherited from fcl::BVHDistanceTraversalNode< RSS >
 BVHDistanceTraversalNode ()
 
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...
 
FCL_REAL BVTesting (int b1, int b2) const
 BV culling test in one BVTT node. 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 ()
 

Public Attributes

Matrix3f R
 
Vec3f T
 
- Public Attributes inherited from fcl::MeshDistanceTraversalNode< RSS >
Vec3fvertices1
 
Vec3fvertices2
 
Triangletri_indices1
 
Triangletri_indices2
 
FCL_REAL rel_err
 relative and absolute error, default value is 0.01 for both terms More...
 
FCL_REAL abs_err
 
- Public Attributes inherited from fcl::BVHDistanceTraversalNode< RSS >
const BVHModel< RSS > * model1
 The first BVH model. More...
 
const BVHModel< RSS > * 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::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...
 

Detailed Description

Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS)

Constructor & Destructor Documentation

fcl::MeshDistanceTraversalNodeRSS::MeshDistanceTraversalNodeRSS ( )

Member Function Documentation

FCL_REAL fcl::MeshDistanceTraversalNodeRSS::BVTesting ( int  b1,
int  b2 
) const
virtual

BV test between b1 and b2.

Reimplemented from fcl::DistanceTraversalNodeBase.

void fcl::MeshDistanceTraversalNodeRSS::leafTesting ( int  b1,
int  b2 
) const
virtual

Leaf test between node b1 and b2, if they are both leafs.

Implements fcl::DistanceTraversalNodeBase.

void fcl::MeshDistanceTraversalNodeRSS::postprocess ( )
virtual

Reimplemented from fcl::TraversalNodeBase.

void fcl::MeshDistanceTraversalNodeRSS::preprocess ( )
virtual

Reimplemented from fcl::TraversalNodeBase.

Member Data Documentation

Matrix3f fcl::MeshDistanceTraversalNodeRSS::R
Vec3f fcl::MeshDistanceTraversalNodeRSS::T