Struct MinkowskiDiff
Defined in File gjk.h
Nested Relationships
Nested Types
Struct Documentation
-
struct MinkowskiDiff
Minkowski difference class of two shapes.
Note
The Minkowski difference is expressed in the frame of the first shape.
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 Functions
-
inline MinkowskiDiff()
-
void set(const ShapeBase *shape0, const ShapeBase *shape1)
Set the two shapes, assuming the relative transformation between them is identity.
-
void set(const ShapeBase *shape0, const ShapeBase *shape1, const Transform3f &tf0, const Transform3f &tf1)
Set the two shapes, with a relative transformation.
-
inline Vec3f support0(const Vec3f &d, bool dIsNormalized, int &hint) const
support function for shape0
-
inline Vec3f support1(const Vec3f &d, bool dIsNormalized, int &hint) const
support function for shape1
-
inline void support(const Vec3f &d, bool dIsNormalized, Vec3f &supp0, Vec3f &supp1, support_func_guess_t &hint) const
support function for the pair of shapes
Public Members
-
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.
-
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.
Note
It must set before the call to set.
-
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.
-
GetSupportFunction getSupportFunc
-
typedef void (*GetSupportFunction)(const MinkowskiDiff &minkowskiDiff, const Vec3f &dir, bool dirIsNormalized, Vec3f &support0, Vec3f &support1, support_func_guess_t &hint, ShapeData data[2])