#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...
|
|
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION (Sphere, Capsule) |
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION (Sphere, Box) |
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION (Sphere, Cylinder) |
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION_BASE (Sphere, Sphere) |
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION_BASE (Capsule, Capsule) |
|
| hpp::fcl::SHAPE_DISTANCE_SPECIALIZATION_BASE (TriangleP, TriangleP) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Sphere, Capsule) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Sphere, Box) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Sphere, Halfspace) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Sphere, Plane) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Halfspace, Box) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Halfspace, Capsule) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Halfspace, Cylinder) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Halfspace, Cone) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Halfspace, Plane) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Plane, Box) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Plane, Capsule) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Plane, Cylinder) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION (Plane, Cone) |
|
| hpp::fcl::SHAPE_INTERSECT_SPECIALIZATION_BASE (Sphere, Sphere) |
|
|
#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) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF (Sphere,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Sphere, Capsule,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Sphere, Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Sphere, Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Box, Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Box, Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Capsule, Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Capsule, Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Cylinder, Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Cylinder, Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Cone, Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Cone, Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF (Halfspace,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_SELF (Plane,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_INTERSECT_PAIR (Plane, Halfspace,) |
|
|
#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::HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR (Sphere, Box,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR (Sphere, Capsule,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_DISTANCE_PAIR (Sphere, Cylinder,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF (Sphere,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF (Capsule,) |
|
| hpp::fcl::HPP_FCL_DECLARE_SHAPE_DISTANCE_SELF (TriangleP,) |
|
◆ 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, \
Vec3f& normal) const
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition at line 689 of file narrowphase.h.
◆ 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 at line 698 of file narrowphase.h.
◆ 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, \
bool enable_penetration,
Vec3f* contact_points,
Vec3f* normal) const
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition at line 605 of file narrowphase.h.
◆ 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 at line 614 of file narrowphase.h.
◆ 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, \
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
double distance(const std::vector< Transform3f > &tf, const BVHModel< BV > &m1, const BVHModel< BV > &m2, bool verbose)
Definition at line 668 of file narrowphase.h.
◆ SHAPE_DISTANCE_SPECIALIZATION
#define SHAPE_DISTANCE_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value: SHAPE_DISTANCE_SPECIALIZATION_BASE(S2, S1)
#define SHAPE_DISTANCE_SPECIALIZATION_BASE(S1, S2)
Definition at line 582 of file narrowphase.h.
◆ 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, \
Vec3f& normal) const
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition at line 575 of file narrowphase.h.
◆ SHAPE_INTERSECT_SPECIALIZATION
#define SHAPE_INTERSECT_SPECIALIZATION |
( |
|
S1, |
|
|
|
S2 |
|
) |
| |
Value: SHAPE_INTERSECT_SPECIALIZATION_BASE(S2, S1)
#define SHAPE_INTERSECT_SPECIALIZATION_BASE(S1, S2)
Definition at line 551 of file narrowphase.h.
◆ 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, \
Vec3f* contact_points,
Vec3f* normal) const
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition at line 544 of file narrowphase.h.