Go to the documentation of this file.
   38 #ifndef FCL_TRAVERSAL_MESHDISTANCETRAVERSALNODE_H 
   39 #define FCL_TRAVERSAL_MESHDISTANCETRAVERSALNODE_H 
   54 template <
typename BV>
 
   59   using S = 
typename BV::S;
 
   64   void leafTesting(
int b1, 
int b2) 
const;
 
   67   bool canStop(
S c) 
const;
 
   82 template <
typename BV>
 
   92     bool use_refit = 
false, 
bool refit_bottomup = 
false);
 
  108     if (this->enable_statistics) this->num_bv_tests++;
 
  110     return distance(tf.linear(), tf.translation(), this->model1->getBV(b1).bv, this->model2->getBV(b2).bv);
 
  113   void leafTesting(
int b1, 
int b2) 
const;
 
  117   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
  125 template <
typename S>
 
  136 template <
typename S>
 
  149     if (this->enable_statistics) this->num_bv_tests++;
 
  151     return distance(tf.linear(), tf.translation(), this->model1->getBV(b1).bv, this->model2->getBV(b2).bv);
 
  154   void leafTesting(
int b1, 
int b2) 
const;
 
  158   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
  166 template <
typename S>
 
  177 template <
typename S>
 
  190     if (this->enable_statistics) this->num_bv_tests++;
 
  192     return distance(tf.linear(), tf.translation(), this->model1->getBV(b1).bv, this->model2->getBV(b2).bv);
 
  195   void leafTesting(
int b1, 
int b2) 
const;
 
  199   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
  207 template <
typename S>
 
  218 template <
typename BV>
 
  219 FCL_DEPRECATED_EXPORT
 
  231     bool enable_statistics,
 
  236 template <
typename BV>
 
  248     bool enable_statistics,
 
  253 template <
typename BV>
 
  269 template <
typename BV>
 
  284 template <
typename BV>
 
  
request to the distance computation
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
S rel_err
relative and absolute error, default value is 0.01 for both terms
Triangle with 3 indices for points.
Eigen::Matrix< S, 3, 1 > Vector3
Eigen::Matrix< S, 3, 3 > Matrix3
void distancePreprocessOrientedNode(const BVHModel< BV > *model1, const BVHModel< BV > *model2, const Vector3< typename BV::S > *vertices1, Vector3< typename BV::S > *vertices2, Triangle *tri_indices1, Triangle *tri_indices2, int init_tri_id1, int init_tri_id2, const Matrix3< typename BV::S > &R, const Vector3< typename BV::S > &T, const DistanceRequest< typename BV::S > &request, DistanceResult< typename BV::S > &result)
void meshDistanceOrientedNodeLeafTesting(int b1, int b2, const BVHModel< BV > *model1, const BVHModel< BV > *model2, Vector3< typename BV::S > *vertices1, Vector3< typename BV::S > *vertices2, Triangle *tri_indices1, Triangle *tri_indices2, const Matrix3< typename BV::S > &R, const Vector3< typename BV::S > &T, bool enable_statistics, int &num_leaf_tests, const DistanceRequest< typename BV::S > &request, DistanceResult< typename BV::S > &result)
Traversal node for distance computation between two meshes.
template bool initialize(MeshCollisionTraversalNodeOBB< double > &node, const BVHModel< OBB< double >> &model1, const Transform3< double > &tf1, const BVHModel< OBB< double >> &model2, const Transform3< double > &tf2, const CollisionRequest< double > &request, CollisionResult< double > &result)
template void distance(DistanceTraversalNodeBase< double > *node, BVHFrontList *front_list, int qsize)
A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as ...
S BVTesting(int b1, int b2) const
BV test between b1 and b2.
void distancePostprocessOrientedNode(const BVHModel< BV > *model1, const BVHModel< BV > *model2, const Transform3< typename BV::S > &tf1, const DistanceRequest< typename BV::S > &request, DistanceResult< typename BV::S > &result)
Traversal node for distance computation between BVH models.
fcl
Author(s): 
autogenerated on Fri Mar 14 2025 02:38:18