38 #ifndef FCL_TRAVERSAL_MESHSHAPECOLLISIONTRAVERSALNODE_H 39 #define FCL_TRAVERSAL_MESHSHAPECOLLISIONTRAVERSALNODE_H 41 #include "fcl/geometry/shape/utility.h" 42 #include "fcl/narrowphase/detail/traversal/collision/bvh_shape_collision_traversal_node.h" 51 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
57 using S =
typename BV::S;
72 const NarrowPhaseSolver* nsolver;
77 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
81 Transform3<typename BV::S>&
tf1,
83 const Transform3<typename BV::S>&
tf2,
84 const NarrowPhaseSolver* nsolver,
87 bool use_refit =
false,
bool refit_bottomup =
false);
89 template <
typename BV,
typename Shape,
typename NarrowPhaseSolver>
90 void meshShapeCollisionOrientedNodeLeafTesting(
95 Vector3<typename BV::S>* vertices,
97 const Transform3<typename BV::S>& tf1,
98 const Transform3<typename BV::S>& tf2,
99 const NarrowPhaseSolver* nsolver,
101 typename BV::S cost_density,
107 template <
typename Shape,
typename NarrowPhaseSolver>
110 OBB<typename Shape::S>, Shape, NarrowPhaseSolver>
123 template <
typename Shape,
typename NarrowPhaseSolver>
127 const Transform3<typename Shape::S>& tf1,
129 const Transform3<typename Shape::S>& tf2,
130 const NarrowPhaseSolver* nsolver,
134 template <
typename Shape,
typename NarrowPhaseSolver>
137 RSS<typename Shape::S>, Shape, NarrowPhaseSolver>
150 template <
typename Shape,
typename NarrowPhaseSolver>
154 const Transform3<typename Shape::S>& tf1,
156 const Transform3<typename Shape::S>& tf2,
157 const NarrowPhaseSolver* nsolver,
161 template <
typename Shape,
typename NarrowPhaseSolver>
164 kIOS<typename Shape::S>, Shape, NarrowPhaseSolver>
177 template <
typename Shape,
typename NarrowPhaseSolver>
181 const Transform3<typename Shape::S>& tf1,
183 const Transform3<typename Shape::S>& tf2,
184 const NarrowPhaseSolver* nsolver,
188 template <
typename Shape,
typename NarrowPhaseSolver>
191 OBBRSS<typename Shape::S>, Shape, NarrowPhaseSolver>
204 template <
typename Shape,
typename NarrowPhaseSolver>
208 const Transform3<typename Shape::S>& tf1,
210 const Transform3<typename Shape::S>& tf2,
211 const NarrowPhaseSolver* nsolver,
218 #include "fcl/narrowphase/detail/traversal/collision/mesh_shape_collision_traversal_node-inl.h" Traversal node for collision between mesh and shape.
Definition: mesh_shape_collision_traversal_node.h:52
bool enable_statistics
Whether stores statistics.
Definition: collision_traversal_node_base.h:78
Main namespace.
Definition: broadphase_bruteforce-inl.h:45
collision result
Definition: collision_request.h:48
void leafTesting(int b1, int b2) const
Intersection testing between leaves (one triangle and one shape)
Definition: mesh_shape_collision_traversal_node-inl.h:62
Transform3< BV::S > tf2
configuration of second object
Definition: traversal_node_base.h:88
CollisionRequest< BV::S > request
request setting for collision
Definition: collision_traversal_node_base.h:72
Traversal node for collision between BVH and shape.
Definition: bvh_shape_collision_traversal_node.h:52
Triangle with 3 indices for points.
Definition: triangle.h:47
bool canStop() const
Whether the traversal process can stop early.
Definition: mesh_shape_collision_traversal_node-inl.h:126
Traversal node for mesh and shape, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
Definition: mesh_shape_collision_traversal_node.h:108
request to the collision algorithm
Definition: collision_request.h:52
bool BVTesting(int b1, int b2) const
BV culling test in one BVTT node.
Definition: bvh_shape_collision_traversal_node-inl.h:85
A class describing the bounding hierarchy of a mesh model or a point cloud model (which is viewed as ...
Definition: BVH_model.h:57
CollisionResult< BV::S > * result
collision result kept during the traversal iteration
Definition: collision_traversal_node_base.h:75
Transform3< BV::S > tf1
configuation of first object
Definition: traversal_node_base.h:85
Definition: mesh_shape_collision_traversal_node.h:162
A class describing the kIOS collision structure, which is a set of spheres.
Definition: kIOS.h:48
Oriented bounding box class.
Definition: OBB.h:51