class for EPA algorithm
More...
#include <gjk.h>
|
bool | expand (size_t pass, const SimplexVertex &w, SimplexFace *f, size_t e, SimplexHorizon &horizon) |
| the goal is to add a face connecting vertex w and face edge f[e] More...
|
|
SimplexFace * | findClosestFace () |
| Find the best polytope face to split. More...
|
|
bool | getEdgeDist (SimplexFace *face, const SimplexVertex &a, const SimplexVertex &b, CoalScalar &dist) |
|
void | initialize () |
| Allocates memory for the EPA algorithm. This function should only be called by the constructor. Otherwise use reset. More...
|
|
SimplexFace * | newFace (size_t id_a, size_t id_b, size_t id_vertex, bool force=false) |
| Add a new face to the polytope. This function sets the ignore flag to true if the origin does not project inside the face. More...
|
|
class for EPA algorithm
Definition at line 258 of file coal/narrowphase/gjk.h.
◆ SimplexVertex
◆ Status
Enumerator |
---|
DidNotRun | |
Failed | |
Valid | |
AccuracyReached | |
Degenerated | |
NonConvex | |
InvalidHull | |
OutOfFaces | |
OutOfVertices | |
FallBack | |
Definition at line 329 of file coal/narrowphase/gjk.h.
◆ EPA() [1/2]
coal::details::EPA::EPA |
( |
size_t |
max_iterations_, |
|
|
CoalScalar |
tolerance_ |
|
) |
| |
|
inline |
◆ EPA() [2/2]
coal::details::EPA::EPA |
( |
const EPA & |
other | ) |
|
|
inline |
◆ bind()
We bind the face fa
along its edge ea
to the face fb
along its edge fb
.
Definition at line 311 of file coal/narrowphase/gjk.h.
◆ evaluate()
- Returns
- a Status which can be demangled using (status & Valid) or (status & Failed). The other values provide a more detailled status
Definition at line 1157 of file src/narrowphase/gjk.cpp.
◆ expand()
◆ findClosestFace()
◆ getEdgeDist()
◆ getNumFaces()
size_t coal::details::EPA::getNumFaces |
( |
| ) |
const |
|
inline |
◆ getNumIterations()
size_t coal::details::EPA::getNumIterations |
( |
| ) |
const |
|
inline |
◆ getNumMaxFaces()
size_t coal::details::EPA::getNumMaxFaces |
( |
| ) |
const |
|
inline |
◆ getNumMaxIterations()
size_t coal::details::EPA::getNumMaxIterations |
( |
| ) |
const |
|
inline |
◆ getNumMaxVertices()
size_t coal::details::EPA::getNumMaxVertices |
( |
| ) |
const |
|
inline |
◆ getNumVertices()
size_t coal::details::EPA::getNumVertices |
( |
| ) |
const |
|
inline |
◆ getTolerance()
CoalScalar coal::details::EPA::getTolerance |
( |
| ) |
const |
|
inline |
◆ getWitnessPointsAndNormal()
Get the witness points on each object, and the corresponding normal.
- Parameters
-
[in] | shape | is the Minkowski difference of the two shapes. |
[out] | w0 | is the witness point on shape0. |
[out] | w1 | is the witness point on shape1. |
[in] | normal | is the normal found by EPA. It points from shape0 to shape1. The normal is used to correct the witness points on the shapes if the shapes have a non-zero swept-sphere radius. |
Definition at line 1452 of file src/narrowphase/gjk.cpp.
◆ initialize()
void coal::details::EPA::initialize |
( |
| ) |
|
|
private |
◆ newFace()
EPA::SimplexFace * coal::details::EPA::newFace |
( |
size_t |
id_a, |
|
|
size_t |
id_b, |
|
|
size_t |
id_vertex, |
|
|
bool |
force = false |
|
) |
| |
|
private |
Add a new face to the polytope. This function sets the ignore
flag to true
if the origin does not project inside the face.
Definition at line 1069 of file src/narrowphase/gjk.cpp.
◆ reset()
void coal::details::EPA::reset |
( |
size_t |
max_iterations, |
|
|
CoalScalar |
tolerance |
|
) |
| |
resets the EPA algorithm, preparing it for a new run. It potentially reallocates memory for the vertices and faces if the passed parameters are bigger than the previous ones. This function does not modify the parameters of the EPA algorithm, i.e. the maximum number of iterations and the tolerance.
- Note
- calling this function destroys the previous state of EPA. In the future, we may want to copy it instead, i.e. when EPA will be (properly) warm-startable.
Definition at line 1015 of file src/narrowphase/gjk.cpp.
◆ closest_face
◆ depth
◆ fc_store
◆ hull
◆ iterations
size_t coal::details::EPA::iterations |
|
private |
◆ max_iterations
size_t coal::details::EPA::max_iterations |
|
private |
◆ normal
Vec3s coal::details::EPA::normal |
◆ num_vertices
size_t coal::details::EPA::num_vertices |
|
private |
◆ result
◆ status
Status coal::details::EPA::status |
◆ stock
◆ support_hint
◆ sv_store
◆ tolerance
The documentation for this struct was generated from the following files: