#include <limits>
#include <iostream>
#include <hpp/fcl/narrowphase/gjk.h>
#include <hpp/fcl/collision_data.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, \
◆ 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)
◆ 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)
◆ 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,
const Vec3f& P3,
const Transform3f& tf2, \
◆ SHAPE_DISTANCE_SPECIALIZATION
#define SHAPE_DISTANCE_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value:
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, \
◆ SHAPE_INTERSECT_SPECIALIZATION
#define SHAPE_INTERSECT_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value:
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, \