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,
107 solver.enable_cached_guess = cached;
119 res = run(tf1, tf2, request, result);
123 res = run(tf1, tf2, request, result);
136 std::size_t res = operator()(tf1, tf2, (
const CollisionRequest&) request, result);
154 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
support_func_guess_t cached_support_func_guess
the support function initial guess set by user
Definition: collision_data.h:148
support_func_guess_t cached_support_func_guess
stores the last support function vertex index, when relevant.
Definition: collision_data.h:179
CPUTimes elapsed() const
Definition: timings.h:48
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:232
Main namespace.
Definition: AABB.h:43
GJKSolver solver
Definition: collision.h:145
virtual ~ComputeCollision()
Definition: collision.h:141
collision result
Definition: collision_data.h:276
bool enable_cached_gjk_guess
whether enable gjk initial guess
Definition: collision_data.h:142
bool swap_geoms
Definition: collision.h:148
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:209
void updateGuess(const QueryResult &result)
Definition: collision_data.h:190
This class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shap...
Definition: collision.h:97
Vec3f cached_gjk_guess
the gjk initial guess set by user
Definition: collision_data.h:145
This class mimics the way "boost/timer/timer.hpp" operates while using the modern std::chrono library...
Definition: timings.h:39
CPUTimes timings
timings for the given request
Definition: collision_data.h:182
bool enable_timings
enable timings when performing collision/distance request
Definition: collision_data.h:151
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:133
std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
Definition: collision.h:103
CollisionFunctionMatrix::CollisionFunc func
Definition: collision.h:147
Vec3f cached_gjk_guess
stores the last GJK ray when relevant.
Definition: collision_data.h:176
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:199
The geometry for the object for collision or distance computation.
Definition: collision_object.h:66
#define HPP_FCL_DLLAPI
Definition: config.hh:64