de.grogra.imp3d.math.delaunay
public abstract class OrientedFace extends java.lang.Object implements java.lang.Iterable<VoronoiCell>
| Modifier and Type | Field and Description |
|---|---|
protected V |
adjacentVertexOrdinal
The vertex in the adjacent tetrahedron opposite of this face
|
| Constructor and Description |
|---|
OrientedFace() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
flip(int index,
java.util.LinkedList<OrientedFace> ears,
VoronoiCell n)
Perform a flip for deletion of the vertex from the tetrahedralization.
|
Tetrahedron |
flip(VoronoiCell n,
java.util.List<OrientedFace> ears)
Perform the flip which incrementally restores the delaunay condition
after the vertex has been inserted into the tetrahedralization.
|
Tetrahedron[] |
flip2to3()
Perform the bistellar flip 2 -> 3.
|
Tetrahedron[] |
flip3to2(int reflexEdge)
Perform the bistellar 3->2 flip.
|
abstract Tetrahedron |
getAdjacent()
Answer the adjacent tetrahedron to the face
|
VoronoiCell |
getAdjacentVertex()
Answer the vertex in the adjacent tetrahedron which is opposite of this
face.
|
V |
getAdjacentVertexOrdinal()
Answer the canonical ordinal of the vertex in the adjacent tetrahedron
which is opposite of this face.
|
abstract VoronoiCell[] |
getEdge(VoronoiCell v)
Answer the two vertices defining the edge opposite of the vertex v
|
abstract Tetrahedron |
getIncident()
Answer the tetrahedron which is incident with this face
|
abstract VoronoiCell |
getIncidentVertex()
Answer the vertex in the tetrahedron which is opposite of this face
|
abstract VoronoiCell |
getVertex(int anIndex)
Answer the canonical vertex for this face
|
boolean |
hasAdjacent() |
abstract boolean |
includes(VoronoiCell v) |
abstract int |
indexOf(VoronoiCell v)
Answer the edge index corresponding to the vertex
|
abstract boolean |
isConvex(int vertex)
Answer true if the faces joined by the edge are concave when viewed from
the originating tetrahedron.
|
abstract boolean |
isReflex(int vertex)
Answer true if the faces joined by the edge are not concave when viewed
from the originating tetrahedron.
|
boolean |
isRegular()
Answer true if the vertex in the adjacent tetrahedron is not contained in
the circumsphere of the incident tetrahedron
|
java.util.Iterator<VoronoiCell> |
iterator() |
abstract int |
orientationOf(VoronoiCell query)
Answer +1 if the orientation of the query point is positive with respect
to this face, -1 if negative and 0 if the test point is coplanar with the
face
|
protected final V adjacentVertexOrdinal
public boolean flip(int index,
java.util.LinkedList<OrientedFace> ears,
VoronoiCell n)
index - - the index of the receiver in the list of earsears - - the list of ears of the vertexn - - the vertex to be deletedpublic Tetrahedron flip(VoronoiCell n, java.util.List<OrientedFace> ears)
n - - the inserted vertexears - - the stack of oriented faces left to processpublic Tetrahedron[] flip2to3()
public Tetrahedron[] flip3to2(int reflexEdge)
reflexiveEdge - - the vertex opposite the reflexive edge of the facepublic abstract Tetrahedron getAdjacent()
public VoronoiCell getAdjacentVertex()
public V getAdjacentVertexOrdinal()
public abstract VoronoiCell[] getEdge(VoronoiCell v)
v - - the vertex defining the edgepublic abstract Tetrahedron getIncident()
public abstract VoronoiCell getIncidentVertex()
public abstract VoronoiCell getVertex(int anIndex)
anIndex - public boolean hasAdjacent()
public abstract boolean includes(VoronoiCell v)
public abstract int indexOf(VoronoiCell v)
v - - the vertexpublic abstract boolean isConvex(int vertex)
vertex - - the vertex of the face that is opposite of the edgepublic abstract boolean isReflex(int vertex)
vertex - - the vertex of the face that is opposite of the edgepublic boolean isRegular()
public java.util.Iterator<VoronoiCell> iterator()
iterator in interface java.lang.Iterable<VoronoiCell>public abstract int orientationOf(VoronoiCell query)
query - - the point to be tested