Go to the documentation of this file.
40 #include "../narrowphase/details.h"
72 guess = (t1.a + t1.b + t1.c -
t2.a -
t2.b -
t2.c) / 3;
void getWitnessPointsAndNormal(const MinkowskiDiff &shape, Vec3s &w0, Vec3s &w1, Vec3s &normal) const
EIGEN_MAKE_ALIGNED_OPERATOR_NEW details::GJK gjk
GJK algorithm.
Eigen::Matrix< CoalScalar, 3, 1 > Vec3s
size_t gjk_max_iterations
maximum number of iterations of GJK
Status
Status of the GJK algorithm: DidNotRun: GJK has not been run. Failed: GJK did not converge (it exceed...
collision and distance solver based on the GJK and EPA algorithms. Originally, GJK and EPA were imple...
COAL_DLLAPI CoalScalar distance(const Matrix3s &R0, const Vec3s &T0, const kIOS &b1, const kIOS &b2, Vec3s *P=NULL, Vec3s *Q=NULL)
Approximate distance between two kIOS bounding volumes.
bool enable_cached_guess
Whether smart guess can be provided @Deprecated Use gjk_initial_guess instead.
void reset(size_t max_iterations_, CoalScalar tolerance_)
resets the GJK algorithm, preparing it for a new run. Other than the maximum number of iterations and...
The geometry for the object for collision or distance computation.
Eigen::Vector2i support_func_guess_t
support_func_guess_t support_func_cached_guess
smart guess for the support function
CoalScalar distance
The distance between the two shapes, computed by GJK. If the distance is below GJK's threshold,...
details::EPA epa
EPA algorithm.
CoalScalar computePenetration(const Vec3s &P1, const Vec3s &P2, const Vec3s &P3, const Vec3s &Q1, const Vec3s &Q2, const Vec3s &Q3, Vec3s &normal)
See the prototype below.
Triangle stores the points instead of only indices of points.
CoalScalar ShapeShapeDistance< TriangleP, TriangleP >(const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *solver, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal)
Vec3s cached_guess
smart guess
Vec3s getGuessFromSimplex() const
get the guess from current simplex
void set(const ShapeBase *shape0, const ShapeBase *shape1)
Set the two shapes, assuming the relative transformation between them is identity....
details::MinkowskiDiff minkowski_difference
Minkowski difference used by GJK and EPA algorithms.
CoalScalar getTolerance() const
Get the tolerance of GJK.
Status evaluate(const MinkowskiDiff &shape, const Vec3s &guess, const support_func_guess_t &supportHint=support_func_guess_t::Zero())
GJK algorithm, given the initial value guess.
support_func_guess_t support_hint
CoalScalar gjk_tolerance
tolerance of GJK
GJKInitialGuess gjk_initial_guess
which warm start to use for GJK
hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:44:59