38 #ifndef FCL_TRAVERSAL_SHAPEMESHCONSERVATIVEADVANCEMENTTRAVERSALNODE_H 39 #define FCL_TRAVERSAL_SHAPEMESHCONSERVATIVEADVANCEMENTTRAVERSALNODE_H 41 #include "fcl/geometry/shape/utility.h" 42 #include "fcl/narrowphase/detail/traversal/distance/shape_mesh_distance_traversal_node.h" 43 #include "fcl/narrowphase/detail/traversal/distance/conservative_advancement_stack_data.h" 51 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
57 using S =
typename BV::S;
70 mutable S min_distance;
72 mutable Vector3<S> closest_p1, closest_p2;
74 mutable int last_tri_id;
90 mutable std::vector<ConservativeAdvancementStackData<S>> stack;
93 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
97 const Transform3<typename BV::S>&
tf1,
99 const Transform3<typename BV::S>&
tf2,
100 const NarrowPhaseSolver* nsolver,
101 typename BV::S
w = 1,
102 bool use_refit =
false,
103 bool refit_bottomup =
false);
105 template <
typename Shape,
typename NarrowPhaseSolver>
108 Shape, RSS<typename Shape::S>, NarrowPhaseSolver>
111 using S =
typename Shape::S;
122 template <
typename Shape,
typename NarrowPhaseSolver>
126 const Transform3<typename Shape::S>&
tf1,
128 const Transform3<typename Shape::S>&
tf2,
129 const NarrowPhaseSolver* nsolver,
130 typename Shape::S
w = 1);
132 template <
typename Shape,
typename NarrowPhaseSolver>
135 Shape, OBBRSS<typename Shape::S>, NarrowPhaseSolver>
138 using S =
typename Shape::S;
149 template <
typename Shape,
typename NarrowPhaseSolver>
153 const Transform3<typename Shape::S>& tf1,
155 const Transform3<typename Shape::S>& tf2,
156 const NarrowPhaseSolver* nsolver,
157 typename Shape::S
w = 1);
162 #include "fcl/narrowphase/detail/traversal/distance/shape_mesh_conservative_advancement_traversal_node-inl.h" const MotionBase< S > * motion1
Motions for the two objects in query.
Definition: shape_mesh_conservative_advancement_traversal_node.h:87
S toc
The time from beginning point.
Definition: shape_mesh_conservative_advancement_traversal_node.h:80
Traversal node for distance between shape and mesh.
Definition: shape_mesh_distance_traversal_node.h:52
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
bool canStop(S c) const
Whether the traversal process can stop early.
Definition: shape_mesh_conservative_advancement_traversal_node-inl.h:130
Transform3< BV::S > tf2
configuration of second object
Definition: traversal_node_base.h:88
S delta_t
The delta_t each step.
Definition: shape_mesh_conservative_advancement_traversal_node.h:84
S BVTesting(int b1, int b2) const
BV culling test in one BVTT node.
Definition: shape_mesh_conservative_advancement_traversal_node-inl.h:69
void leafTesting(int b1, int b2) const
Conservative advancement testing between leaves (one triangle and one shape)
Definition: shape_mesh_conservative_advancement_traversal_node-inl.h:82
Definition: bv_motion_bound_visitor.h:45
A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as ...
Definition: BVH_model.h:57
S w
CA controlling variable: early stop for the early iterations of CA.
Definition: shape_mesh_conservative_advancement_traversal_node.h:77
Transform3< BV::S > tf1
configuation of first object
Definition: traversal_node_base.h:85
Definition: shape_mesh_conservative_advancement_traversal_node.h:52