FCL  0.6.0
Flexible Collision Library
fcl::detail::GJKSolver_indep< S_ > Struct Template Reference

collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet) More...

#include <gjk_solver_indep.h>

Public Types

using S = S_
 

Public Member Functions

template<typename Shape1 , typename Shape2 >
FCL_DEPRECATED bool shapeIntersect (const Shape1 &s1, const Transform3< S > &tf1, const Shape2 &s2, const Transform3< S > &tf2, Vector3< S > *contact_points, S *penetration_depth, Vector3< S > *normal) const
 intersection checking between two shapes More...
 
template<typename Shape1 , typename Shape2 >
bool shapeIntersect (const Shape1 &s1, const Transform3< S > &tf1, const Shape2 &s2, const Transform3< S > &tf2, std::vector< ContactPoint< S >> *contacts=nullptr) const
 intersection checking between two shapes
 
template<typename Shape >
bool shapeTriangleIntersect (const Shape &s, const Transform3< S > &tf, const Vector3< S > &P1, const Vector3< S > &P2, const Vector3< S > &P3, Vector3< S > *contact_points=nullptr, S *penetration_depth=nullptr, Vector3< S > *normal=nullptr) const
 intersection checking between one shape and a triangle
 
template<typename Shape >
bool shapeTriangleIntersect (const Shape &s, const Transform3< S > &tf1, const Vector3< S > &P1, const Vector3< S > &P2, const Vector3< S > &P3, const Transform3< S > &tf2, Vector3< S > *contact_points=nullptr, S *penetration_depth=nullptr, Vector3< S > *normal=nullptr) const
 
template<typename Shape1 , typename Shape2 >
bool shapeDistance (const Shape1 &s1, const Transform3< S > &tf1, const Shape2 &s2, const Transform3< S > &tf2, S *distance=nullptr, Vector3< S > *p1=nullptr, Vector3< S > *p2=nullptr) const
 distance computation between two shapes
 
template<typename Shape >
bool shapeTriangleDistance (const Shape &s, const Transform3< S > &tf, const Vector3< S > &P1, const Vector3< S > &P2, const Vector3< S > &P3, S *distance=nullptr, Vector3< S > *p1=nullptr, Vector3< S > *p2=nullptr) const
 distance computation between one shape and a triangle
 
template<typename Shape >
bool shapeTriangleDistance (const Shape &s, const Transform3< S > &tf1, const Vector3< S > &P1, const Vector3< S > &P2, const Vector3< S > &P3, const Transform3< S > &tf2, S *distance=nullptr, Vector3< S > *p1=nullptr, Vector3< S > *p2=nullptr) const
 distance computation between one shape and a triangle with transformation
 
 GJKSolver_indep ()
 default setting for GJK algorithm
 
void enableCachedGuess (bool if_enable) const
 
void setCachedGuess (const Vector3< S > &guess) const
 
Vector3< S > getCachedGuess () const
 
template<typename Shape1 , typename Shape2 >
bool shapeIntersect (const Shape1 &s1, const Transform3< S > &tf1, const Shape2 &s2, const Transform3< S > &tf2, Vector3< S > *contact_points, S *penetration_depth, Vector3< S > *normal) const
 

Public Attributes

unsigned int epa_max_face_num
 maximum number of simplex face used in EPA algorithm
 
unsigned int epa_max_vertex_num
 maximum number of simplex vertex used in EPA algorithm
 
unsigned int epa_max_iterations
 maximum number of iterations used for EPA iterations
 
epa_tolerance
 the threshold used in EPA to stop iteration
 
gjk_tolerance
 the threshold used in GJK to stop iteration
 
gjk_max_iterations
 maximum number of iterations used for GJK iterations
 
bool enable_cached_guess
 Whether smart guess can be provided.
 
Vector3< S > cached_guess
 smart guess
 

Detailed Description

template<typename S_>
struct fcl::detail::GJKSolver_indep< S_ >

collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet)

Member Function Documentation

template<typename S_>
template<typename Shape1 , typename Shape2 >
FCL_DEPRECATED bool fcl::detail::GJKSolver_indep< S_ >::shapeIntersect ( const Shape1 &  s1,
const Transform3< S > &  tf1,
const Shape2 &  s2,
const Transform3< S > &  tf2,
Vector3< S > *  contact_points,
S *  penetration_depth,
Vector3< S > *  normal 
) const

The documentation for this struct was generated from the following files: