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 Tue Dec 5 2023 03:40:48