Go to the documentation of this file.
38 #ifndef FCL_TRAVERSAL_MESHSHAPECONSERVATIVEADVANCEMENTTRAVERSALNODE_H
39 #define FCL_TRAVERSAL_MESHSHAPECONSERVATIVEADVANCEMENTTRAVERSALNODE_H
51 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
57 using S =
typename BV::S;
62 S BVTesting(
int b1,
int b2)
const;
65 void leafTesting(
int b1,
int b2)
const;
68 bool canStop(
S c)
const;
90 mutable std::vector<ConservativeAdvancementStackData<S>>
stack;
93 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
100 const NarrowPhaseSolver* nsolver,
101 typename BV::S w = 1,
102 bool use_refit =
false,
103 bool refit_bottomup =
false);
105 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
118 const NarrowPhaseSolver* nsolver,
119 bool enable_statistics,
120 typename BV::S& min_distance,
124 typename BV::S& delta_t,
125 int& num_leaf_tests);
127 template <
typename BV,
typename Shape>
130 typename BV::S min_distance,
131 typename BV::S abs_err,
132 typename BV::S rel_err,
140 typename BV::S& delta_t);
142 template <
typename Shape,
typename NarrowPhaseSolver>
145 RSS<typename Shape::S>, Shape, NarrowPhaseSolver>
149 using S =
typename Shape::S;
153 S BVTesting(
int b1,
int b2)
const;
155 void leafTesting(
int b1,
int b2)
const;
157 bool canStop(
S c)
const;
160 template <
typename Shape,
typename NarrowPhaseSolver>
167 const NarrowPhaseSolver* nsolver,
168 typename Shape::S w = 1);
170 template <
typename Shape,
typename NarrowPhaseSolver>
173 OBBRSS<typename Shape::S>, Shape, NarrowPhaseSolver>
177 using S =
typename Shape::S;
181 S BVTesting(
int b1,
int b2)
const;
183 void leafTesting(
int b1,
int b2)
const;
185 bool canStop(
S c)
const;
188 template <
typename Shape,
typename NarrowPhaseSolver>
195 const NarrowPhaseSolver* nsolver,
196 typename Shape::S w = 1);
S delta_t
The delta_t each step.
Traversal node for distance between mesh and shape.
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
void meshShapeConservativeAdvancementOrientedNodeLeafTesting(int b1, int, const BVHModel< BV > *model1, const Shape &model2, const BV &model2_bv, Vector3< typename BV::S > *vertices, Triangle *tri_indices, const Transform3< typename BV::S > &tf1, const Transform3< typename BV::S > &tf2, const MotionBase< typename BV::S > *motion1, const MotionBase< typename BV::S > *motion2, const NarrowPhaseSolver *nsolver, bool enable_statistics, typename BV::S &min_distance, Vector3< typename BV::S > &p1, Vector3< typename BV::S > &p2, int &last_tri_id, typename BV::S &delta_t, int &num_leaf_tests)
Triangle with 3 indices for points.
const MotionBase< S > * motion2
Eigen::Matrix< S, 3, 1 > Vector3
bool meshShapeConservativeAdvancementOrientedNodeCanStop(typename BV::S c, typename BV::S min_distance, typename BV::S abs_err, typename BV::S rel_err, typename BV::S w, const BVHModel< BV > *model1, const Shape &model2, const BV &model2_bv, const MotionBase< typename BV::S > *motion1, const MotionBase< typename BV::S > *motion2, std::vector< ConservativeAdvancementStackData< typename BV::S >> &stack, typename BV::S &delta_t)
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)
S toc
The time from beginning point.
std::vector< ConservativeAdvancementStackData< S > > stack
A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as ...
const MotionBase< S > * motion1
Motions for the two objects in query.
typename RSS< Shape::S > ::S S
S w
CA controlling variable: early stop for the early iterations of CA.
Traversal node for conservative advancement computation between BVH and shape.
fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:48