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

collision and distance solver based on libccd library. More...

#include <gjk_solver_libccd.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 *dist=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 *dist=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 *dist=nullptr, Vector3< S > *p1=nullptr, Vector3< S > *p2=nullptr) const
 distance computation between one shape and a triangle with transformation
 
 GJKSolver_libccd ()
 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 max_collision_iterations
 maximum number of iterations used in GJK algorithm for collision
 
unsigned int max_distance_iterations
 maximum number of iterations used in GJK algorithm for distance
 
collision_tolerance
 the threshold used in GJK algorithm to stop collision iteration
 
distance_tolerance
 the threshold used in GJK algorithm to stop distance iteration
 

Detailed Description

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

collision and distance solver based on libccd library.

Member Function Documentation

template<typename S_>
template<typename Shape1 , typename Shape2 >
FCL_DEPRECATED bool fcl::detail::GJKSolver_libccd< 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: