hpp-fcl: hpp::fcl::details::MinkowskiDiff Struct Reference

hpp-fcl 1.7.3 HPP fork of FCL -- The Flexible Collision Library

Classes | Public Types | Public Member Functions | Public Attributes | List of all members
hpp::fcl::details::MinkowskiDiff Struct Reference

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

## Detailed Description

Minkowski difference class of two shapes.

Note
  The Minkowski difference is expressed in the frame of the first shape.

## Member Typedef Documentation

## ◆ GetSupportFunction

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

## Constructor & Destructor Documentation

## ◆ MinkowskiDiff()

hpp::fcl::details::MinkowskiDiff::MinkowskiDiff | ( |  | ) |
| inline

## Member Function Documentation

## ◆ set() [1/2]

void hpp::fcl::details::MinkowskiDiff::set | ( | const ShapeBase * | shape0,
|  | const ShapeBase * | shape1
| ) |  |

Set the two shapes, assuming the relative transformation between them is identity.

## ◆ set() [2/2]

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.

## ◆ support()

void hpp::fcl::details::MinkowskiDiff::support | ( | const Vec3f & | d,
|  | bool | dIsNormalized,
|  | Vec3f & | supp0,
|  | Vec3f & | supp1,
|  | support_func_guess_t & | hint
| ) |  | const
| inline

support function for the pair of shapes

## ◆ support0()

Vec3f hpp::fcl::details::MinkowskiDiff::support0 | ( | const Vec3f & | d,
|  | bool | dIsNormalized,
|  | int & | hint
| ) |  | const
| inline

support function for shape0

## ◆ support1()

Vec3f hpp::fcl::details::MinkowskiDiff::support1 | ( | const Vec3f & | d,
|  | bool | dIsNormalized,
|  | int & | hint
| ) |  | const
| inline

support function for shape1

## Member Data Documentation

## ◆ data

ShapeData hpp::fcl::details::MinkowskiDiff::data[2]

Store temporary data for the computation of the support point for each shape.

## ◆ getSupportFunc

GetSupportFunction hpp::fcl::details::MinkowskiDiff::getSupportFunc

## ◆ inflation

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.

## ◆ linear_log_convex_threshold

int hpp::fcl::details::MinkowskiDiff::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.

## ◆ oR1

Matrix3f hpp::fcl::details::MinkowskiDiff::oR1

rotation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \).

## ◆ ot1

Vec3f hpp::fcl::details::MinkowskiDiff::ot1

translation from shape1 to shape0 such that \( p_in_0 = oR1 * p_in_1 + ot1 \).

## ◆ shapes

const ShapeBase* hpp::fcl::details::MinkowskiDiff::shapes[2]

points to two shapes

The documentation for this struct was generated from the following file:

- include/hpp/fcl/narrowphase/gjk.h