public class VoronoiSimplexSolver extends SimplexSolverInterface
| Modifier and Type | Class and Description |
|---|---|
static class |
VoronoiSimplexSolver.SubSimplexClosestResult |
static class |
VoronoiSimplexSolver.UsageBitfield |
| Modifier and Type | Field and Description |
|---|---|
VoronoiSimplexSolver.SubSimplexClosestResult |
cachedBC |
Vector3f |
cachedP1 |
Vector3f |
cachedP2 |
Vector3f |
cachedV |
boolean |
cachedValidClosest |
Vector3f |
lastW |
boolean |
needsUpdate |
int |
numVertices |
Vector3f[] |
simplexPointsP |
Vector3f[] |
simplexPointsQ |
Vector3f[] |
simplexVectorW |
| Constructor and Description |
|---|
VoronoiSimplexSolver() |
| Modifier and Type | Method and Description |
|---|---|
void |
addVertex(Vector3f w,
Vector3f p,
Vector3f q) |
void |
backup_closest(Vector3f v) |
boolean |
closest(Vector3f v)
Return/calculate the closest vertex.
|
boolean |
closestPtPointTetrahedron(Vector3f p,
Vector3f a,
Vector3f b,
Vector3f c,
Vector3f d,
VoronoiSimplexSolver.SubSimplexClosestResult finalResult) |
boolean |
closestPtPointTriangle(Vector3f p,
Vector3f a,
Vector3f b,
Vector3f c,
VoronoiSimplexSolver.SubSimplexClosestResult result) |
void |
compute_points(Vector3f p1,
Vector3f p2) |
boolean |
emptySimplex() |
boolean |
fullSimplex() |
int |
getSimplex(Vector3f[] pBuf,
Vector3f[] qBuf,
Vector3f[] yBuf) |
boolean |
inSimplex(Vector3f w) |
float |
maxVertex() |
int |
numVertices() |
static int |
pointOutsideOfPlane(Vector3f p,
Vector3f a,
Vector3f b,
Vector3f c,
Vector3f d) |
void |
reduceVertices(VoronoiSimplexSolver.UsageBitfield usedVerts) |
void |
removeVertex(int index) |
void |
reset()
Clear the simplex, remove all the vertices.
|
boolean |
updateClosestVectorAndPoints() |
public int numVertices
public final Vector3f[] simplexVectorW
public final Vector3f[] simplexPointsP
public final Vector3f[] simplexPointsQ
public final Vector3f cachedP1
public final Vector3f cachedP2
public final Vector3f cachedV
public final Vector3f lastW
public boolean cachedValidClosest
public final VoronoiSimplexSolver.SubSimplexClosestResult cachedBC
public boolean needsUpdate
public void removeVertex(int index)
public void reduceVertices(VoronoiSimplexSolver.UsageBitfield usedVerts)
public boolean updateClosestVectorAndPoints()
public boolean closestPtPointTriangle(Vector3f p, Vector3f a, Vector3f b, Vector3f c, VoronoiSimplexSolver.SubSimplexClosestResult result)
public static int pointOutsideOfPlane(Vector3f p, Vector3f a, Vector3f b, Vector3f c, Vector3f d)
public boolean closestPtPointTetrahedron(Vector3f p, Vector3f a, Vector3f b, Vector3f c, Vector3f d, VoronoiSimplexSolver.SubSimplexClosestResult finalResult)
public void reset()
reset in class SimplexSolverInterfacepublic void addVertex(Vector3f w, Vector3f p, Vector3f q)
addVertex in class SimplexSolverInterfacepublic boolean closest(Vector3f v)
closest in class SimplexSolverInterfacepublic float maxVertex()
maxVertex in class SimplexSolverInterfacepublic boolean fullSimplex()
fullSimplex in class SimplexSolverInterfacepublic int getSimplex(Vector3f[] pBuf, Vector3f[] qBuf, Vector3f[] yBuf)
getSimplex in class SimplexSolverInterfacepublic boolean inSimplex(Vector3f w)
inSimplex in class SimplexSolverInterfacepublic void backup_closest(Vector3f v)
backup_closest in class SimplexSolverInterfacepublic boolean emptySimplex()
emptySimplex in class SimplexSolverInterfacepublic void compute_points(Vector3f p1, Vector3f p2)
compute_points in class SimplexSolverInterfacepublic int numVertices()
numVertices in class SimplexSolverInterface