38 #ifndef FCL_TRAVERSAL_SHAPEMESHDISTANCETRAVERSALNODE_H 39 #define FCL_TRAVERSAL_SHAPEMESHDISTANCETRAVERSALNODE_H 41 #include "fcl/narrowphase/detail/traversal/distance/shape_bvh_distance_traversal_node.h" 42 #include "fcl/geometry/bvh/BVH_model.h" 51 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
57 using S =
typename BV::S;
73 const NarrowPhaseSolver* nsolver;
78 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
82 const Transform3<typename BV::S>&
tf1,
84 Transform3<typename BV::S>&
tf2,
85 const NarrowPhaseSolver* nsolver,
88 bool use_refit =
false,
89 bool refit_bottomup =
false);
91 template <
typename Shape,
typename NarrowPhaseSolver>
94 Shape, RSS<typename Shape::S>, NarrowPhaseSolver>
98 using S =
typename Shape::S;
114 template <
typename Shape,
typename NarrowPhaseSolver>
118 const Transform3<typename Shape::S>& tf1,
120 const Transform3<typename Shape::S>& tf2,
121 const NarrowPhaseSolver* nsolver,
125 template <
typename Shape,
typename NarrowPhaseSolver>
128 Shape, kIOS<typename Shape::S>, NarrowPhaseSolver>
132 using S =
typename Shape::S;
148 template <
typename Shape,
typename NarrowPhaseSolver>
152 const Transform3<typename Shape::S>& tf1,
154 const Transform3<typename Shape::S>& tf2,
155 const NarrowPhaseSolver* nsolver,
159 template <
typename Shape,
typename NarrowPhaseSolver>
162 Shape, OBBRSS<typename Shape::S>, NarrowPhaseSolver>
166 using S =
typename Shape::S;
182 template <
typename Shape,
typename NarrowPhaseSolver>
186 const Transform3<typename Shape::S>& tf1,
188 const Transform3<typename Shape::S>& tf2,
189 const NarrowPhaseSolver* nsolver,
196 #include "fcl/narrowphase/detail/traversal/distance/shape_mesh_distance_traversal_node-inl.h"
Traversal node for distance between shape and mesh.
Definition: shape_mesh_distance_traversal_node.h:52
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
Definition: shape_mesh_distance_traversal_node.h:126
distance result
Definition: distance_request.h:48
Transform3< BV::S > tf2
configuration of second object
Definition: traversal_node_base.h:88
Traversal node for distance computation between shape and BVH.
Definition: shape_bvh_distance_traversal_node.h:53
Triangle with 3 indices for points.
Definition: triangle.h:47
bool canStop(S c) const
Whether the traversal process can stop early.
Definition: shape_mesh_distance_traversal_node-inl.h:98
S BVTesting(int b1, int b2) const
BV culling test in one BVTT node.
Definition: shape_bvh_distance_traversal_node-inl.h:86
DistanceRequest< BV::S > request
request setting for distance
Definition: distance_traversal_node_base.h:73
A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as ...
Definition: BVH_model.h:57
void leafTesting(int b1, int b2) const
Distance testing between leaves (one shape and one triangle)
Definition: shape_mesh_distance_traversal_node-inl.h:66
DistanceResult< BV::S > * result
distance result kept during the traversal iteration
Definition: distance_traversal_node_base.h:76
Transform3< BV::S > tf1
configuation of first object
Definition: traversal_node_base.h:85
request to the distance computation
Definition: distance_request.h:52
A class describing the kIOS collision structure, which is a set of spheres.
Definition: kIOS.h:48