|
template<typename S1 , typename S2 > |
CoalScalar | shapeDistance (const S1 &s1, const Transform3s &tf1, const S2 &s2, const Transform3s &tf2, bool compute_penetration, Vec3s &p1, Vec3s &p2, Vec3s &normal, bool use_swept_sphere_radius_in_gjk_epa_iterations) const |
|
CoalScalar | getDistancePrecision (const bool compute_penetration) const |
| Helper to return the precision of the solver on the distance estimate, depending on whether or not compute_penetration is true. More...
|
|
COAL_COMPILER_DIAGNOSTIC_PUSH COAL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS | GJKSolver () |
| Default constructor for GJK algorithm By default, we don't want EPA to allocate memory because certain functions of the GJKSolver class have specializations which don't use EPA (and/or GJK). So we give EPA's constructor a max number of iterations of zero. Only the functions that need EPA will reset the algorithm and allocate memory if needed. More...
|
|
| GJKSolver (const CollisionRequest &request) |
| Constructor from a CollisionRequest. More...
|
|
| GJKSolver (const DistanceRequest &request) |
| Constructor from a DistanceRequest. More...
|
|
| GJKSolver (const GJKSolver &other)=default |
| Copy constructor. More...
|
|
COAL_COMPILER_DIAGNOSTIC_POP bool | operator!= (const GJKSolver &other) const |
|
COAL_COMPILER_DIAGNOSTIC_PUSH COAL_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS bool | operator== (const GJKSolver &other) const |
|
void | set (const CollisionRequest &request) |
| setter from a CollisionRequest More...
|
|
void | set (const DistanceRequest &request) |
| setter from a DistanceRequest More...
|
|
template<typename S1 , typename S2 > |
CoalScalar | shapeDistance (const S1 &s1, const Transform3s &tf1, const S2 &s2, const Transform3s &tf2, const bool compute_penetration, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
| Uses GJK and EPA to compute the distance between two shapes. More...
|
|
template<typename S1 > |
CoalScalar | shapeDistance (const S1 &s1, const Transform3s &tf1, const TriangleP &s2, const Transform3s &tf2, const bool compute_penetration, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
| Partial specialization of shapeDistance for the case where the second shape is a triangle. It is more efficient to pre-compute the relative transformation between the two shapes before calling GJK/EPA. More...
|
|
template<typename S2 > |
CoalScalar | shapeDistance (const TriangleP &s1, const Transform3s &tf1, const S2 &s2, const Transform3s &tf2, const bool compute_penetration, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
| See other partial template specialization of shapeDistance above. More...
|
|
|
Vec3s | cached_guess |
| smart guess More...
|
|
CoalScalar | distance_upper_bound |
| If GJK can guarantee that the distance between the shapes is greater than this value, it will early stop. More...
|
|
bool | enable_cached_guess |
| Whether smart guess can be provided @Deprecated Use gjk_initial_guess instead. More...
|
|
details::EPA | epa |
| EPA algorithm. More...
|
|
size_t | epa_max_iterations |
| maximum number of iterations of EPA More...
|
|
CoalScalar | epa_tolerance |
| tolerance of EPA More...
|
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW details::GJK | gjk |
| GJK algorithm. More...
|
|
GJKConvergenceCriterion | gjk_convergence_criterion |
| Convergence criterion for GJK. More...
|
|
GJKConvergenceCriterionType | gjk_convergence_criterion_type |
| Absolute or relative convergence criterion for GJK. More...
|
|
GJKInitialGuess | gjk_initial_guess |
| which warm start to use for GJK More...
|
|
size_t | gjk_max_iterations |
| maximum number of iterations of GJK More...
|
|
CoalScalar | gjk_tolerance |
| tolerance of GJK More...
|
|
GJKVariant | gjk_variant |
| Variant of the GJK algorithm (Default, Nesterov or Polyak). More...
|
|
details::MinkowskiDiff | minkowski_difference |
| Minkowski difference used by GJK and EPA algorithms. More...
|
|
support_func_guess_t | support_func_cached_guess |
| smart guess for the support function More...
|
|
void | EPAExtractWitnessPointsAndNormal (const Transform3s &tf1, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
|
void | EPAFailedExtractWitnessPointsAndNormal (const Transform3s &tf1, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
|
template<typename S1 , typename S2 > |
void | getGJKInitialGuess (const S1 &s1, const S2 &s2, Vec3s &guess, support_func_guess_t &support_hint, const Vec3s &default_guess=Vec3s(1, 0, 0)) const |
| initialize GJK. This method assumes minkowski_difference has been set. More...
|
|
void | GJKCollisionExtractWitnessPointsAndNormal (const Transform3s &tf1, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
|
void | GJKEarlyStopExtractWitnessPointsAndNormal (const Transform3s &tf1, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
|
void | GJKExtractWitnessPointsAndNormal (const Transform3s &tf1, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal) const |
|
template<typename S1 , typename S2 , int _SupportOptions = details::SupportOptions::NoSweptSphere> |
void | runGJKAndEPA (const S1 &s1, const Transform3s &tf1, const S2 &s2, const Transform3s &tf2, const bool compute_penetration, CoalScalar &distance, Vec3s &p1, Vec3s &p2, Vec3s &normal, const bool relative_transformation_already_computed=false) const |
| Runs the GJK algorithm. More...
|
|
Definition at line 114 of file swept_sphere_radius.cpp.