Class ComputeCollision

Class Documentation

class ComputeCollision

This class reduces the cost of identifying the geometry pair. This is mostly useful for repeated shape-shape queries.

ComputeCollision calc_collision (o1, o2);
std::size_t ncontacts = calc_collision(tf1, tf2, request, result);

Public Functions

ComputeCollision(const CollisionGeometry *o1, const CollisionGeometry *o2)

Default constructor from two Collision Geometries.

std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const
inline std::size_t operator()(const Transform3f &tf1, const Transform3f &tf2, CollisionRequest &request, CollisionResult &result) const
inline bool operator==(const ComputeCollision &other) const
inline bool operator!=(const ComputeCollision &other) const
inline virtual ~ComputeCollision()

Protected Functions

virtual std::size_t run(const Transform3f &tf1, const Transform3f &tf2, const CollisionRequest &request, CollisionResult &result) const

Protected Attributes

mutable const CollisionGeometry *o1
mutable const CollisionGeometry *o2
mutable GJKSolver solver
CollisionFunctionMatrix::CollisionFunc func
bool swap_geoms