Classes | Namespaces | Macros
gjk_solver_libccd-inl.h File Reference
#include "fcl/narrowphase/detail/gjk_solver_libccd.h"
#include <algorithm>
#include "fcl/common/unused.h"
#include "fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/capsule_capsule.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_box.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_capsule.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_cylinder.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_sphere.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/sphere_triangle.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/box_box.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/halfspace.h"
#include "fcl/narrowphase/detail/primitive_shape_algorithm/plane.h"
#include "fcl/narrowphase/detail/failed_at_this_configuration.h"
Include dependency graph for gjk_solver_libccd-inl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fcl::detail::ShapeDistanceLibccdImpl< S, Shape1, Shape2 >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Box< S >, Sphere< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Capsule< S >, Capsule< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Capsule< S >, Sphere< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Cylinder< S >, Sphere< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Sphere< S >, Box< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Sphere< S >, Capsule< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Sphere< S >, Cylinder< S > >
 
struct  fcl::detail::ShapeDistanceLibccdImpl< S, Sphere< S >, Sphere< S > >
 
struct  fcl::detail::ShapeIntersectLibccdImpl< S, Shape1, Shape2 >
 
struct  fcl::detail::ShapeIntersectLibccdImpl< S, Halfspace< S >, Halfspace< S > >
 
struct  fcl::detail::ShapeIntersectLibccdImpl< S, Halfspace< S >, Plane< S > >
 
struct  fcl::detail::ShapeIntersectLibccdImpl< S, Plane< S >, Halfspace< S > >
 
struct  fcl::detail::ShapeIntersectLibccdImpl< S, Plane< S >, Plane< S > >
 
struct  fcl::detail::ShapeSignedDistanceLibccdImpl< S, Shape1, Shape2 >
 
struct  fcl::detail::ShapeTransformedTriangleDistanceLibccdImpl< S, Shape >
 
struct  fcl::detail::ShapeTransformedTriangleDistanceLibccdImpl< S, Sphere< S > >
 
struct  fcl::detail::ShapeTransformedTriangleIntersectLibccdImpl< S, Shape >
 
struct  fcl::detail::ShapeTransformedTriangleIntersectLibccdImpl< S, Halfspace< S > >
 
struct  fcl::detail::ShapeTransformedTriangleIntersectLibccdImpl< S, Plane< S > >
 
struct  fcl::detail::ShapeTransformedTriangleIntersectLibccdImpl< S, Sphere< S > >
 
struct  fcl::detail::ShapeTriangleDistanceLibccdImpl< S, Shape >
 
struct  fcl::detail::ShapeTriangleDistanceLibccdImpl< S, Sphere< S > >
 
struct  fcl::detail::ShapeTriangleIntersectLibccdImpl< S, Shape >
 
struct  fcl::detail::ShapeTriangleIntersectLibccdImpl< S, Sphere< S > >
 

Namespaces

 fcl
 Main namespace.
 
 fcl::detail
 

Macros

#define FCL_GJK_LIBCCD_SHAPE_INTERSECT(SHAPE, ALG)   FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG(SHAPE, SHAPE, ALG)
 
#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT(SHAPE1, SHAPE2, ALG)
 
#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_INV(SHAPE1, SHAPE2, ALG)
 
#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG(SHAPE1, SHAPE2, ALG)
 

Macro Definition Documentation

◆ FCL_GJK_LIBCCD_SHAPE_INTERSECT

#define FCL_GJK_LIBCCD_SHAPE_INTERSECT (   SHAPE,
  ALG 
)    FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG(SHAPE, SHAPE, ALG)

Definition at line 238 of file gjk_solver_libccd-inl.h.

◆ FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT

#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT (   SHAPE1,
  SHAPE2,
  ALG 
)
Value:
FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_INV(SHAPE1, SHAPE2, ALG)

Definition at line 241 of file gjk_solver_libccd-inl.h.

◆ FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_INV

#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_INV (   SHAPE1,
  SHAPE2,
  ALG 
)
Value:
template <typename S>\
struct ShapeIntersectLibccdImpl<S, SHAPE2<S>, SHAPE1<S>>\
{\
static bool run(\
const GJKSolver_libccd<S>& /*gjkSolver*/,\
const SHAPE2<S>& s1,\
const Transform3<S>& tf1,\
const SHAPE1<S>& s2,\
const Transform3<S>& tf2,\
std::vector<ContactPoint<S>>* contacts)\
{\
const bool res = ALG(s2, tf2, s1, tf1, contacts);\
if (contacts) flipNormal(*contacts);\
return res;\
}\
};

Definition at line 220 of file gjk_solver_libccd-inl.h.

◆ FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG

#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG (   SHAPE1,
  SHAPE2,
  ALG 
)
Value:
template <typename S>\
struct ShapeIntersectLibccdImpl<S, SHAPE1<S>, SHAPE2<S>>\
{\
static bool run(\
const GJKSolver_libccd<S>& /*gjkSolver*/,\
const SHAPE1<S>& s1,\
const Transform3<S>& tf1,\
const SHAPE2<S>& s2,\
const Transform3<S>& tf2,\
std::vector<ContactPoint<S>>* contacts)\
{\
return ALG(s1, tf1, s2, tf2, contacts);\
}\
};

Definition at line 204 of file gjk_solver_libccd-inl.h.

fcl::flipNormal
template void flipNormal(std::vector< ContactPoint< double >> &contacts)
FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG
#define FCL_GJK_LIBCCD_SHAPE_SHAPE_INTERSECT_REG(SHAPE1, SHAPE2, ALG)
Definition: gjk_solver_libccd-inl.h:204


fcl
Author(s):
autogenerated on Tue Jun 22 2021 07:27:53