Minkowski difference class of two shapes. More...
#include <gjk.h>
Classes | |
| struct | ShapeData |
Public Types | |
| typedef Eigen::Array< FCL_REAL, 1, 2 > | Array2d |
| 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... | |
| 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... | |
| 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... | |
Public Attributes | |
| ShapeData | data [2] |
| Store temporary data for the computation of the support point for each shape. More... | |
| GetSupportFunction | getSupportFunc |
| Array2d | inflation |
| The radius of the sphere swepted volume. The 2 values correspond to the inflation of shape 0 and shape 1/ These inflation values are used for Sphere and Capsule. 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... | |
| bool | normalize_support_direction |
| Wether or not to use the normalize heuristic in the GJK Nesterov acceleration. This setting is only applied if the Nesterov acceleration in the GJK class is active. More... | |
| Matrix3f | oR1 |
rotation from shape1 to shape0 such that . More... | |
| Vec3f | ot1 |
translation from shape1 to shape0 such that . More... | |
| const ShapeBase * | shapes [2] |
| points to two shapes More... | |
Minkowski difference class of two shapes.
| typedef Eigen::Array<FCL_REAL, 1, 2> hpp::fcl::details::MinkowskiDiff::Array2d |
| 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]) |
Set the two shapes, assuming the relative transformation between them is identity.
Definition at line 505 of file src/narrowphase/gjk.cpp.
| 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.
Definition at line 488 of file src/narrowphase/gjk.cpp.
|
inline |
| ShapeData hpp::fcl::details::MinkowskiDiff::data[2] |
| GetSupportFunction hpp::fcl::details::MinkowskiDiff::getSupportFunc |
| Array2d hpp::fcl::details::MinkowskiDiff::inflation |
| int hpp::fcl::details::MinkowskiDiff::linear_log_convex_threshold |
| bool hpp::fcl::details::MinkowskiDiff::normalize_support_direction |
| Matrix3f hpp::fcl::details::MinkowskiDiff::oR1 |
| Vec3f hpp::fcl::details::MinkowskiDiff::ot1 |
| const ShapeBase* hpp::fcl::details::MinkowskiDiff::shapes[2] |