|
hpp-fcl 1.8.0
HPP fork of FCL -- The Flexible Collision Library
|
Minkowski difference class of two shapes. More...
#include <hpp/fcl/narrowphase/gjk.h>
Classes | |
| struct | ShapeData |
Public Types | |
| typedef void(* | GetSupportFunction) (const MinkowskiDiff &minkowskiDiff, const Vec3f &dir, bool dirIsNormalized, Vec3f &support0, Vec3f &support1, support_func_guess_t &hint, ShapeData data[2]) |
Public Member Functions | |
| MinkowskiDiff () | |
| void | set (const ShapeBase *shape0, const ShapeBase *shape1) |
| void | set (const ShapeBase *shape0, const ShapeBase *shape1, const Transform3f &tf0, const Transform3f &tf1) |
| Set the two shapes, with a relative transformation. More... | |
| Vec3f | support0 (const Vec3f &d, bool dIsNormalized, int &hint) const |
| support function for shape0 More... | |
| Vec3f | support1 (const Vec3f &d, bool dIsNormalized, int &hint) const |
| support function for shape1 More... | |
| void | support (const Vec3f &d, bool dIsNormalized, Vec3f &supp0, Vec3f &supp1, support_func_guess_t &hint) const |
| support function for the pair of shapes More... | |
Public Attributes | |
| const ShapeBase * | shapes [2] |
| points to two shapes More... | |
| ShapeData | data [2] |
| Store temporary data for the computation of the support point for each shape. More... | |
| Matrix3f | oR1 |
| rotation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \). More... | |
| Vec3f | ot1 |
| translation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \). More... | |
| Eigen::Array< FCL_REAL, 1, 2 > | inflation |
| The radius of the sphere swepted volume. The 2 values correspond to the inflation of shape 0 and shape 1. More... | |
| int | linear_log_convex_threshold |
| Number of points in a Convex object from which using a logarithmic support function is faster than a linear one. It defaults to 32. More... | |
| GetSupportFunction | getSupportFunc |
Minkowski difference class of two shapes.
| typedef void(* hpp::fcl::details::MinkowskiDiff::GetSupportFunction) (const MinkowskiDiff &minkowskiDiff, const Vec3f &dir, bool dirIsNormalized, Vec3f &support0, Vec3f &support1, support_func_guess_t &hint, ShapeData data[2]) |
|
inline |
Set the two shapes, assuming the relative transformation between them is identity.
| void hpp::fcl::details::MinkowskiDiff::set | ( | const ShapeBase * | shape0, |
| const ShapeBase * | shape1, | ||
| const Transform3f & | tf0, | ||
| const Transform3f & | tf1 | ||
| ) |
Set the two shapes, with a relative transformation.
|
inline |
support function for the pair of shapes
|
inline |
support function for shape0
|
inline |
support function for shape1
| ShapeData hpp::fcl::details::MinkowskiDiff::data[2] |
Store temporary data for the computation of the support point for each shape.
| GetSupportFunction hpp::fcl::details::MinkowskiDiff::getSupportFunc |
| Eigen::Array<FCL_REAL, 1, 2> hpp::fcl::details::MinkowskiDiff::inflation |
The radius of the sphere swepted volume. The 2 values correspond to the inflation of shape 0 and shape 1.
| int hpp::fcl::details::MinkowskiDiff::linear_log_convex_threshold |
| Matrix3f hpp::fcl::details::MinkowskiDiff::oR1 |
rotation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \).
| Vec3f hpp::fcl::details::MinkowskiDiff::ot1 |
translation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \).
| const ShapeBase* hpp::fcl::details::MinkowskiDiff::shapes[2] |
points to two shapes