Go to the documentation of this file.
55 for (std::vector<Contact>::iterator it =
contacts.begin();
57 std::swap(it->o1, it->o2);
58 std::swap(it->b1, it->b2);
74 if (request.
security_margin == -std::numeric_limits<FCL_REAL>::infinity()) {
85 std::invalid_argument);
100 <<
" is not yet supported.",
101 std::invalid_argument);
105 o2,
tf2, o1,
tf1, &solver, request, result);
114 <<
" is not yet supported.",
115 std::invalid_argument);
119 o1,
tf1, o2,
tf2, &solver, request, result);
150 <<
" is not yet supported.",
151 std::invalid_argument);
164 if (request.
security_margin == -std::numeric_limits<FCL_REAL>::infinity()) {
ComputeCollision(const CollisionGeometry *o1, const CollisionGeometry *o2)
Default constructor from two Collision Geometries.
void swapObjects()
reposition Contact objects when fcl inverts them during their construction.
collision matrix stores the functions for collision between different types of objects and provides a...
const CollisionGeometry * o2
GJKInitialGuess gjk_initial_guess
which warm start to use for GJK
const CollisionGeometry * collisionGeometryPtr() const
get raw pointer to collision geometry of the object instance
CollisionFunctionMatrix::CollisionFunc func
virtual OBJECT_TYPE getObjectType() const
get the type of the object
CollisionFunctionMatrix & getCollisionFunctionLookTable()
This class mimics the way "boost/timer/timer.hpp" operates while using the modern std::chrono library...
The geometry for the object for collision or distance computation.
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18,...
HPP_FCL_DLLAPI 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,...
bool enable_timings
enable timings when performing collision/distance request
OBJECT_TYPE
object type: BVH (mesh, points), basic geometry, octree
void set(const DistanceRequest &request)
setter from a DistanceRequest
bool enable_cached_guess
Whether smart guess can be provided @Deprecated Use gjk_initial_guess instead.
collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the ...
CPUTimes timings
timings for the given request
FCL_REAL security_margin
Distance below which objects are considered in collision. See Collision.
virtual std::size_t run(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
void clear()
clear the results obtained
const Transform3f & getTransform() const
get object's transform
const char * get_node_type_name(NODE_TYPE node_type)
Returns the name associated to a NODE_TYPE.
request to the collision algorithm
the object for collision or distance computation, contains the geometry and the transform information
Vec3f cached_gjk_guess
stores the last GJK ray when relevant.
CollisionFunc collision_matrix[NODE_COUNT][NODE_COUNT]
each item in the collision matrix is a function to handle collision between objects of type1 and type...
std::vector< Contact > contacts
contact information
const CollisionGeometry * o1
#define HPP_FCL_THROW_PRETTY(message, exception)
size_t num_max_contacts
The maximum number of contacts will return.
std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
virtual NODE_TYPE getNodeType() const
get the node type
support_func_guess_t cached_support_func_guess
stores the last support function vertex index, when relevant.
support_func_guess_t support_func_cached_guess
smart guess for the support function
Vec3f cached_guess
smart guess
hpp-fcl
Author(s):
autogenerated on Fri Aug 2 2024 02:45:13