Struct GJKSolver
Defined in File narrowphase.h
Struct Documentation
-
struct GJKSolver
collision and distance solver based on GJK algorithm implemented in fcl (rewritten the code from the GJK in bullet)
Shape intersection specializations
- template<> HPP_FCL_DLLAPI bool shapeIntersect (const Box &s1, const Transform3f &tf1, const Sphere &s2, const Transform3f &tf2, FCL_REAL &distance_lower_bound, bool enable_penetration, Vec3f *contact_points, Vec3f *normal) const
Public Functions
-
template<typename S1, typename S2>
inline void initialize_gjk(details::GJK &gjk, const details::MinkowskiDiff &shape, const S1 &s1, const S2 &s2, Vec3f &guess, support_func_guess_t &support_hint) const initialize GJK
-
template<typename S1, typename S2>
inline bool shapeIntersect(const S1 &s1, const Transform3f &tf1, const S2 &s2, const Transform3f &tf2, FCL_REAL &distance_lower_bound, bool enable_penetration, Vec3f *contact_points, Vec3f *normal) const intersection checking between two shapes
-
template<typename S>
inline bool shapeTriangleInteraction(const S &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL &distance, Vec3f &p1, Vec3f &p2, Vec3f &normal) const intersection checking between one shape and a triangle with transformation
- Returns:
true if the shape are colliding.
-
template<typename S1, typename S2>
inline bool shapeDistance(const S1 &s1, const Transform3f &tf1, const S2 &s2, const Transform3f &tf2, FCL_REAL &distance, Vec3f &p1, Vec3f &p2, Vec3f &normal) const distance computation between two shapes
- inline HPP_FCL_COMPILER_DIAGNOSTIC_PUSH HPP_FCL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS GJKSolver ()
Default constructor for GJK algorithm.
-
inline GJKSolver(const DistanceRequest &request)
Constructor from a DistanceRequest.
- Parameters:
request – [in] DistanceRequest input
-
inline void set(const DistanceRequest &request)
setter from a DistanceRequest
- Parameters:
request – [in] DistanceRequest input
-
inline GJKSolver(const CollisionRequest &request)
Constructor from a CollisionRequest.
- Parameters:
request – [in] CollisionRequest input
-
inline void set(const CollisionRequest &request)
setter from a CollisionRequest
- Parameters:
request – [in] CollisionRequest input
- inline HPP_FCL_COMPILER_DIAGNOSTIC_PUSH HPP_FCL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS bool operator== (const GJKSolver &other) const
- inline HPP_FCL_COMPILER_DIAGNOSTIC_POP bool operator!= (const GJKSolver &other) const
- template<> HPP_FCL_DLLAPI bool shapeTriangleInteraction (const Sphere &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL &distance, Vec3f &p1, Vec3f &p2, Vec3f &normal) const
- template<> HPP_FCL_DLLAPI bool shapeTriangleInteraction (const Halfspace &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL &distance, Vec3f &p1, Vec3f &p2, Vec3f &normal) const
- template<> HPP_FCL_DLLAPI bool shapeTriangleInteraction (const Plane &s, const Transform3f &tf1, const Vec3f &P1, const Vec3f &P2, const Vec3f &P3, const Transform3f &tf2, FCL_REAL &distance, Vec3f &p1, Vec3f &p2, Vec3f &normal) const
Public Members
-
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
-
mutable size_t gjk_max_iterations
maximum number of iterations used for GJK iterations
-
mutable bool enable_cached_guess
Whether smart guess can be provided @Deprecated Use gjk_initial_guess instead.
-
mutable GJKInitialGuess gjk_initial_guess
which warm start to use for GJK
-
mutable GJKVariant gjk_variant
Variant to use for the GJK algorithm.
-
mutable GJKConvergenceCriterion gjk_convergence_criterion
Criterion used to stop GJK.
-
mutable GJKConvergenceCriterionType gjk_convergence_criterion_type
Relative or absolute.
-
mutable support_func_guess_t support_func_cached_guess
smart guess for the support function