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] |