#include <limits>
#include <hpp/fcl/narrowphase/gjk.h>
Go to the source code of this file.
|
struct | hpp::fcl::GJKSolver |
| collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet) More...
|
|
|
#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) |
|
|
#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) |
|
|
#define | HPP_FCL_DECLARE_SHAPE_TRIANGLE(Shape, doc) |
|
|
#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) |
|
◆ HPP_FCL_DECLARE_SHAPE_DISTANCE
#define HPP_FCL_DECLARE_SHAPE_DISTANCE |
( |
|
Shape1, |
|
|
|
Shape2, |
|
|
|
doc |
|
) |
| |
Value: \
doc \
template<> \
(const Shape1& s1, const Transform3f& tf1, \
const Shape2& s2, const Transform3f& tf2, \
#define HPP_FCL_DLLAPI
Definition: config.hh:64
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:67
◆ HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR
#define HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR |
( |
|
Shape1, |
|
|
|
Shape2, |
|
|
|
doc |
|
) |
| |
Value:
HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape2,Shape1,doc)
#define HPP_FCL_DECLARE_SHAPE_DISTANCE(Shape1, Shape2, doc)
Definition: narrowphase.h:543
◆ HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF
◆ 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(Shape2,Shape1,doc)
#define HPP_FCL_DECLARE_SHAPE_INTERSECT(Shape1, Shape2, doc)
Definition: narrowphase.h:455
◆ HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF
◆ 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, \
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.
double FCL_REAL
Definition: data_types.h:66
◆ SHAPE_DISTANCE_SPECIALIZATION
#define SHAPE_DISTANCE_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value:
SHAPE_DISTANCE_SPECIALIZATION_BASE(S2,S1)
#define SHAPE_DISTANCE_SPECIALIZATION_BASE(S1, S2)
Definition: narrowphase.h:425
◆ 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, \
◆ SHAPE_INTERSECT_SPECIALIZATION
#define SHAPE_INTERSECT_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value:
SHAPE_INTERSECT_SPECIALIZATION_BASE(S2,S1)
#define SHAPE_INTERSECT_SPECIALIZATION_BASE(S1, S2)
Definition: narrowphase.h:392
◆ 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