Go to the documentation of this file.
38 #ifndef FCL_TRAVERSAL_SHAPEDISTANCETRAVERSALNODE_INL_H
39 #define FCL_TRAVERSAL_SHAPEDISTANCETRAVERSALNODE_INL_H
50 template <
typename Shape1,
typename Shape2,
typename NarrowPhaseSolver>
61 template <
typename Shape1,
typename Shape2,
typename NarrowPhaseSolver>
69 template <
typename Shape1,
typename Shape2,
typename NarrowPhaseSolver>
73 using S =
typename Shape1::S;
85 if (this->request.enable_signed_distance ==
true)
87 nsolver->shapeSignedDistance(*model1, this->tf1, *model2, this->tf2, &
distance, &closest_p1, &closest_p2);
91 nsolver->shapeDistance(*model1, this->tf1, *model2, this->tf2, &
distance, &closest_p1, &closest_p2);
105 template <
typename Shape1,
typename Shape2,
typename NarrowPhaseSolver>
108 const Shape1& shape1,
110 const Shape2& shape2,
112 const NarrowPhaseSolver* nsolver,
request to the distance computation
S BVTesting(int, int) const
BV culling test in one BVTT node.
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
Node structure encoding the information required for distance traversal.
DistanceRequest< Shape1::S > request
request setting for distance
Transform3< Shape1::S > tf1
configuation of first object
void leafTesting(int, int) const
Distance testing between leaves (two shapes)
DistanceResult< Shape1::S > * result
distance result kept during the traversal iteration
const NarrowPhaseSolver * nsolver
Eigen::Matrix< S, 3, 1 > Vector3
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)
Traversal node for distance between two shapes.
Transform3< Shape1::S > tf2
configuration of second object
ShapeDistanceTraversalNode()
fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:48