38 #ifndef FCL_TRAVERSAL_SHAPEMESHCOLLISIONTRAVERSALNODE_H 39 #define FCL_TRAVERSAL_SHAPEMESHCOLLISIONTRAVERSALNODE_H 41 #include "fcl/geometry/shape/utility.h" 42 #include "fcl/narrowphase/detail/traversal/collision/shape_bvh_collision_traversal_node.h" 51 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
56 using S =
typename BV::S;
71 const NarrowPhaseSolver* nsolver;
76 template <
typename Shape,
typename BV,
typename NarrowPhaseSolver>
80 const Transform3<typename BV::S>&
tf1,
82 Transform3<typename BV::S>&
tf2,
83 const NarrowPhaseSolver* nsolver,
86 bool use_refit =
false,
bool refit_bottomup =
false);
89 template <
typename Shape,
typename NarrowPhaseSolver>
92 Shape, OBB<typename Shape::S>, NarrowPhaseSolver>
104 template <
typename Shape,
typename NarrowPhaseSolver>
108 const Transform3<typename Shape::S>& tf1,
110 const Transform3<typename Shape::S>& tf2,
111 const NarrowPhaseSolver* nsolver,
115 template <
typename Shape,
typename NarrowPhaseSolver>
130 template <
typename Shape,
typename NarrowPhaseSolver>
134 const Transform3<typename Shape::S>& tf1,
136 const Transform3<typename Shape::S>& tf2,
137 const NarrowPhaseSolver* nsolver,
141 template <
typename Shape,
typename NarrowPhaseSolver>
156 template <
typename Shape,
typename NarrowPhaseSolver>
160 const Transform3<typename Shape::S>& tf1,
162 const Transform3<typename Shape::S>& tf2,
163 const NarrowPhaseSolver* nsolver,
167 template <
typename Shape,
typename NarrowPhaseSolver>
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/collision/shape_mesh_collision_traversal_node-inl.h" Main namespace.
Definition: broadphase_bruteforce-inl.h:45
collision result
Definition: collision_request.h:48
Traversal node for collision between shape and BVH.
Definition: shape_bvh_collision_traversal_node.h:52
Transform3< BV::S > tf2
configuration of second object
Definition: traversal_node_base.h:88
void leafTesting(int b1, int b2) const
Intersection testing between leaves (one shape and one triangle)
Definition: shape_mesh_collision_traversal_node-inl.h:62
CollisionRequest< BV::S > request
request setting for collision
Definition: collision_traversal_node_base.h:72
Triangle with 3 indices for points.
Definition: triangle.h:47
bool BVTesting(int b1, int b2) const
BV culling test in one BVTT node.
Definition: shape_bvh_collision_traversal_node-inl.h:92
Traversal node for collision between shape and mesh.
Definition: shape_mesh_collision_traversal_node.h:52
request to the collision algorithm
Definition: collision_request.h:52
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
bool canStop() const
Whether the traversal process can stop early.
Definition: shape_mesh_collision_traversal_node-inl.h:128
Definition: shape_mesh_collision_traversal_node.h:142
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
Traversal node for shape and mesh, when mesh BVH is one of the oriented node (OBB, RSS, OBBRSS, kIOS)
Definition: shape_mesh_collision_traversal_node.h:90