40 #ifndef HPP_FCL_COLLISION_H 41 #define HPP_FCL_COLLISION_H 59 const CollisionRequest& request, CollisionResult& result);
63 const CollisionGeometry* o2,
const Transform3f& tf2,
64 const CollisionRequest& request, CollisionResult& result);
84 std::size_t res =
collide(o1, tf1, o2, tf2,
105 solver.enable_cached_guess = cached;
117 res = func(o2, tf2, o1, tf1, &solver, request, result);
120 res = func (o1, tf1, o2, tf2, &solver, request, result);
135 std::size_t res = operator()(tf1, tf2, (
const CollisionRequest&) request, result);
support_func_guess_t cached_support_func_guess
the support function intial guess set by user
Definition: collision_data.h:147
support_func_guess_t cached_support_func_guess
stores the last support function vertex index, when relevant.
Definition: collision_data.h:173
CPUTimes elapsed() const
Definition: timings.h:60
FCL_REAL distance_upper_bound
Distance above which GJK solver makes an early stopping. GJK stops searching for the closest points w...
Definition: collision_data.h:226
Main namespace.
Definition: AABB.h:43
collision result
Definition: collision_data.h:264
bool enable_cached_gjk_guess
whether enable gjk intial guess
Definition: collision_data.h:141
std::size_t(* CollisionFunc)(const CollisionGeometry *o1, const Transform3f &tf1, const CollisionGeometry *o2, const Transform3f &tf2, const GJKSolver *nsolver, const CollisionRequest &request, CollisionResult &result)
the uniform call interface for collision: for collision, we need know
Definition: collision_func_matrix.h:61
request to the collision algorithm
Definition: collision_data.h:203
void updateGuess(const QueryResult &result)
Definition: collision_data.h:184
Definition: collision.h:97
Vec3f cached_gjk_guess
the gjk intial guess set by user
Definition: collision_data.h:144
This class mimics the way "boost/timer/timer.hpp" operates while using moder boost::chrono library...
Definition: timings.h:52
CPUTimes timings
timings for the given request
Definition: collision_data.h:176
std::size_t collide(const CollisionObject *o1, const CollisionObject *o2, const CollisionRequest &request, CollisionResult &result)
Main collision interface: given two collision objects, and the requirements for contacts, including num of max contacts, whether perform exhaustive collision (i.e., returning returning all the contact points), whether return detailed contact information (i.e., normal, contact point, depth; otherwise only contact primitive id is returned), this function performs the collision between them. Return value is the number of contacts generated between the two objects.
std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, CollisionRequest &request, CollisionResult &result) const
Definition: collision.h:132
std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
Definition: collision.h:101
Vec3f cached_gjk_guess
stores the last GJK ray when relevant.
Definition: collision_data.h:170
collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the ...
Definition: narrowphase.h:53
the object for collision or distance computation, contains the geometry and the transform information...
Definition: collision_object.h:198
The geometry for the object for collision or distance computation.
Definition: collision_object.h:65
void swapObjects()
reposition Contact objects when fcl inverts them during their construction.
#define HPP_FCL_DLLAPI
Definition: config.hh:64