Minkowski difference class of two shapes. More...
#include <hpp/fcl/narrowphase/gjk.h>
Public Types | |
typedef void(* | GetSupportFunction) (const MinkowskiDiff &minkowskiDiff, const Vec3f &dir, bool dirIsNormalized, Vec3f &support0, Vec3f &support1) |
Public Member Functions | |
MinkowskiDiff () | |
void | set (const ShapeBase *shape0, const ShapeBase *shape1) |
Set the two shapes, assuming the relative transformation between them is identity. More... | |
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) const |
support function for shape0 More... | |
Vec3f | support1 (const Vec3f &d, bool dIsNormalized) const |
support function for shape1 More... | |
void | support (const Vec3f &d, bool dIsNormalized, Vec3f &supp0, Vec3f &supp1) const |
support function for the pair of shapes More... | |
Public Attributes | |
const ShapeBase * | shapes [2] |
points to two shapes 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. 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) |
|
inline |
Set the two shapes, assuming the relative transformation between them is identity.
Referenced by hpp::fcl::GJKSolver::shapeDistance(), hpp::fcl::GJKSolver::shapeIntersect(), and hpp::fcl::GJKSolver::shapeTriangleInteraction().
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
References getSupportFunc.
Referenced by hpp::fcl::details::GJK::getSupport().
|
inline |
support function for shape0
References hpp::fcl::details::getSupport().
|
inline |
support function for shape1
References hpp::fcl::details::getSupport().
GetSupportFunction hpp::fcl::details::MinkowskiDiff::getSupportFunc |
Referenced by support().
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.
Referenced by hpp::fcl::details::GJK::hasPenetrationInformation().
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