Classes | Namespaces | Macros | Functions
src/narrowphase/gjk.cpp File Reference
#include <hpp/fcl/narrowphase/gjk.h>
#include <hpp/fcl/internal/intersect.h>
#include <hpp/fcl/internal/tools.h>
#include <hpp/fcl/shape/geometric_shapes_traits.h>
Include dependency graph for src/narrowphase/gjk.cpp:

Go to the source code of this file.

Classes

struct  hpp::fcl::details::LargeConvex
 
struct  hpp::fcl::details::SmallConvex
 

Namespaces

 hpp
 Main namespace.
 
 hpp::fcl
 
 hpp::fcl::details
 
 hpp::fcl::details::details
 

Macros

#define CALL_GET_SHAPE_SUPPORT(ShapeType)
 
#define REGION_INSIDE()
 

Functions

bool hpp::fcl::details::details::getClosestPoints (const GJK::Simplex &simplex, Vec3f &w0, Vec3f &w1)
 
bool hpp::fcl::details::getNormalizeSupportDirection (const ShapeBase *shape)
 
void hpp::fcl::details::getNormalizeSupportDirectionFromShapes (const ShapeBase *shape0, const ShapeBase *shape1, bool &normalize_support_direction)
 
void hpp::fcl::details::getShapeSupport (const TriangleP *triangle, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Box *box, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Sphere *, const Vec3f &, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Ellipsoid *ellipsoid, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Capsule *capsule, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Cone *cone, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const Cylinder *cylinder, const Vec3f &dir, Vec3f &support, int &, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const ConvexBase *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupport (const SmallConvex *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *data)
 
void hpp::fcl::details::getShapeSupport (const LargeConvex *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *data)
 
void hpp::fcl::details::getShapeSupportLinear (const ConvexBase *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *)
 
void hpp::fcl::details::getShapeSupportLog (const ConvexBase *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *data)
 
Vec3f hpp::fcl::details::getSupport (const ShapeBase *shape, const Vec3f &dir, bool dirIsNormalized, int &hint)
 the support function for shape More...
 
template<typename Shape0 , typename Shape1 , bool TransformIsIdentity>
void hpp::fcl::details::getSupportFuncTpl (const MinkowskiDiff &md, const Vec3f &dir, bool dirIsNormalized, Vec3f &support0, Vec3f &support1, support_func_guess_t &hint, MinkowskiDiff::ShapeData data[2])
 
template<typename Shape0 , typename Shape1 , bool TransformIsIdentity>
void hpp::fcl::details::getSupportTpl (const Shape0 *s0, const Shape1 *s1, const Matrix3f &oR1, const Vec3f &ot1, const Vec3f &dir, Vec3f &support0, Vec3f &support1, support_func_guess_t &hint, MinkowskiDiff::ShapeData data[2])
 
template<bool Separated>
void hpp::fcl::details::details::inflate (const MinkowskiDiff &shape, Vec3f &w0, Vec3f &w1)
 Inflate the points. More...
 
MinkowskiDiff::GetSupportFunction hpp::fcl::details::makeGetSupportFunction0 (const ShapeBase *s0, const ShapeBase *s1, bool identity, Eigen::Array< FCL_REAL, 1, 2 > &inflation, int linear_log_convex_threshold)
 
template<typename Shape0 >
MinkowskiDiff::GetSupportFunction hpp::fcl::details::makeGetSupportFunction1 (const ShapeBase *s1, bool identity, Eigen::Array< FCL_REAL, 1, 2 > &inflation, int linear_log_convex_threshold)
 
void hpp::fcl::details::originToPoint (const GJK::Simplex &current, GJK::vertex_id_t a, const Vec3f &A, GJK::Simplex &next, Vec3f &ray)
 
void hpp::fcl::details::originToSegment (const GJK::Simplex &current, GJK::vertex_id_t a, GJK::vertex_id_t b, const Vec3f &A, const Vec3f &B, const Vec3f &AB, const FCL_REAL &ABdotAO, GJK::Simplex &next, Vec3f &ray)
 
bool hpp::fcl::details::originToTriangle (const GJK::Simplex &current, GJK::vertex_id_t a, GJK::vertex_id_t b, GJK::vertex_id_t c, const Vec3f &ABC, const FCL_REAL &ABCdotAO, GJK::Simplex &next, Vec3f &ray)
 

Macro Definition Documentation

◆ CALL_GET_SHAPE_SUPPORT

#define CALL_GET_SHAPE_SUPPORT (   ShapeType)
Value:
static_cast<const ShapeType*>(shape), \
(shape_traits<ShapeType>::NeedNormalizedDir && !dirIsNormalized) \
? dir.normalized() \
: dir, \
support, hint, NULL)
void getShapeSupport(const LargeConvex *convex, const Vec3f &dir, Vec3f &support, int &hint, MinkowskiDiff::ShapeData *data)

Definition at line 252 of file src/narrowphase/gjk.cpp.

◆ REGION_INSIDE

#define REGION_INSIDE ( )
Value:
ray.setZero(); \
next.vertex[0] = current.vertex[d]; \
next.vertex[1] = current.vertex[c]; \
next.vertex[2] = current.vertex[b]; \
next.vertex[3] = current.vertex[a]; \
next.rank = 4; \
return true;
c
list a


hpp-fcl
Author(s):
autogenerated on Fri Jun 2 2023 02:39:02