hpp-fcl: include/hpp/fcl/narrowphase/narrowphase.h File Reference

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

Classes | Namespaces | Macros
narrowphase.h File Reference
`#include <hpp/fcl/narrowphase/gjk.h>`

Go to the source code of this file.

## Classes
struct | hpp::fcl::GJKSolver
| collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet) More...

## Namespaces
| hpp
| Main namespace.
| hpp::fcl

## Macros
#define | SHAPE_INTERSECT_SPECIALIZATION_BASE(S1, S2)
#define | SHAPE_INTERSECT_SPECIALIZATION(S1, S2)
#define | SHAPE_DISTANCE_SPECIALIZATION_BASE(S1, S2)
#define | SHAPE_DISTANCE_SPECIALIZATION(S1, S2)
Shape intersection specializations
#define | HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape1, Shape2, doc)
#define | HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF(Shape, doc) HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape,Shape,doc)
#define | HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR(Shape1, Shape2, doc)
Shape triangle interaction specializations
#define | HPP_FCL_DECLARE_SHAPE_TRIANGLE(Shape, doc)
Shape distance specializations
#define | HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape1, Shape2, doc)
#define | HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF(Shape, doc) HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape,Shape,doc)
#define | HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR(Shape1, Shape2, doc)

## Macro Definition Documentation

## ◆ HPP_FCL_DECLARE_SHAPE_DISTANCE

#define HPP_FCL_DECLARE_SHAPE_DISTANCE | ( |  | Shape1,
|  |  | Shape2,
|  |  | doc
| ) |  |

Value:
\
doc \
template<> \
bool HPP_FCL_DLLAPI GJKSolver::shapeDistance<Shape1, Shape2> \
(const Shape1& s1, const Transform3f& tf1, \
const Shape2& s2, const Transform3f& tf2, \
FCL_REAL& dist, Vec3f& p1, Vec3f& p2, Vec3f& normal) const

## ◆ HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR

#define HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR | ( |  | Shape1,
|  |  | Shape2,
|  |  | doc
| ) |  |

Value:
HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape1,Shape2,doc); \
HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape2,Shape1,doc)

## ◆ HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF

#define HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF | ( |  | Shape,
|  |  | doc
| ) |  | HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape,Shape,doc)

## ◆ HPP_FCL_DECLARE_SHAPE_INTERSECT

#define HPP_FCL_DECLARE_SHAPE_INTERSECT | ( |  | Shape1,
|  |  | Shape2,
|  |  | doc
| ) |  |

Value:
\
doc \
template<> \
HPP_FCL_DLLAPI bool GJKSolver::shapeIntersect<Shape1, Shape2> \
(const Shape1& s1, const Transform3f& tf1, \
const Shape2& s2, const Transform3f& tf2, \
FCL_REAL& distance_lower_bound, bool enable_penetration, \
Vec3f* contact_points, Vec3f* normal) const

## ◆ HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR

#define HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR | ( |  | Shape1,
|  |  | Shape2,
|  |  | doc
| ) |  |

Value:
HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape1,Shape2,doc); \
HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape2,Shape1,doc)

## ◆ HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF

#define HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF | ( |  | Shape,
|  |  | doc
| ) |  | HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape,Shape,doc)

## ◆ HPP_FCL_DECLARE_SHAPE_TRIANGLE

#define HPP_FCL_DECLARE_SHAPE_TRIANGLE | ( |  | Shape,
|  |  | doc
| ) |  |

Value:
\
doc \
template<> HPP_FCL_DLLAPI bool GJKSolver::shapeTriangleInteraction<Shape> \
(const Shape& s, const Transform3f& tf1, const Vec3f& P1, const Vec3f& P2, \
const Vec3f& P3, const Transform3f& tf2, FCL_REAL& distance, \
Vec3f& p1, Vec3f& p2, Vec3f& normal) const

## ◆ SHAPE_DISTANCE_SPECIALIZATION

#define SHAPE_DISTANCE_SPECIALIZATION | ( |  | S1,
|  |  | S2
| ) |  |

Value:
SHAPE_DISTANCE_SPECIALIZATION_BASE(S1,S2); \
SHAPE_DISTANCE_SPECIALIZATION_BASE(S2,S1)

## ◆ SHAPE_DISTANCE_SPECIALIZATION_BASE

#define SHAPE_DISTANCE_SPECIALIZATION_BASE | ( |  | S1,
|  |  | S2
| ) |  |

Value:
template<> \
HPP_FCL_DLLAPI bool GJKSolver::shapeDistance<S1, S2> \
(const S1& s1, const Transform3f& tf1, \
const S2& s2, const Transform3f& tf2, \
FCL_REAL& dist, Vec3f& p1, Vec3f& p2, Vec3f& normal) const

## ◆ SHAPE_INTERSECT_SPECIALIZATION

#define SHAPE_INTERSECT_SPECIALIZATION | ( |  | S1,
|  |  | S2
| ) |  |

Value:
SHAPE_INTERSECT_SPECIALIZATION_BASE(S1,S2); \
SHAPE_INTERSECT_SPECIALIZATION_BASE(S2,S1)

## ◆ SHAPE_INTERSECT_SPECIALIZATION_BASE

#define SHAPE_INTERSECT_SPECIALIZATION_BASE | ( |  | S1,
|  |  | S2
| ) |  |

Value:
template<> \
HPP_FCL_DLLAPI bool GJKSolver::shapeIntersect<S1, S2> \
(const S1 &s1, const Transform3f& tf1, \
const S2 &s2, const Transform3f& tf2, \
FCL_REAL& distance_lower_bound, \
bool, \
Vec3f* contact_points, Vec3f* normal) const
hpp::fcl::Vec3f
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:67
SHAPE_DISTANCE_SPECIALIZATION_BASE
#define SHAPE_DISTANCE_SPECIALIZATION_BASE(S1, S2)
Definition: narrowphase.h:402
SHAPE_INTERSECT_SPECIALIZATION_BASE
#define SHAPE_INTERSECT_SPECIALIZATION_BASE(S1, S2)
Definition: narrowphase.h:369
HPP_FCL_DECLARE_SHAPE_DISTANCE
#define HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape1, Shape2, doc)
Definition: narrowphase.h:520
hpp::fcl::FCL_REAL
double FCL_REAL
Definition: data_types.h:66
HPP_FCL_DECLARE_SHAPE_INTERSECT
#define HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape1, Shape2, doc)
Definition: narrowphase.h:432
hpp::fcl::distance
FCL_REAL distance(const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
Approximate distance between two kIOS bounding volumes.