java.lang.Object
de.grogra.imp3d.math.delaunay.OrientedFace
- All Implemented Interfaces:
Iterable<VoronoiCell>
An oriented face of a tetrahedron.
- Author:
- Hal Hildebrand
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final VThe vertex in the adjacent tetrahedron opposite of this face -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanflip(int index, LinkedList<OrientedFace> ears, VoronoiCell n) Perform a flip for deletion of the vertex from the tetrahedralization.flip(VoronoiCell n, List<OrientedFace> ears) Perform the flip which incrementally restores the delaunay condition after the vertex has been inserted into the tetrahedralization.flip2to3()Perform the bistellar flip 2 -> 3.flip3to2(int reflexEdge) Perform the bistellar 3->2 flip.abstract TetrahedronAnswer the adjacent tetrahedron to the faceAnswer the vertex in the adjacent tetrahedron which is opposite of this face.Answer the canonical ordinal of the vertex in the adjacent tetrahedron which is opposite of this face.abstract VoronoiCell[]Answer the two vertices defining the edge opposite of the vertex vabstract TetrahedronAnswer the tetrahedron which is incident with this faceabstract VoronoiCellAnswer the vertex in the tetrahedron which is opposite of this faceabstract VoronoiCellgetVertex(int anIndex) Answer the canonical vertex for this facebooleanabstract booleanabstract intAnswer the edge index corresponding to the vertexabstract booleanisConvex(int vertex) Answer true if the faces joined by the edge are concave when viewed from the originating tetrahedron.abstract booleanisReflex(int vertex) Answer true if the faces joined by the edge are not concave when viewed from the originating tetrahedron.booleanAnswer true if the vertex in the adjacent tetrahedron is not contained in the circumsphere of the incident tetrahedroniterator()abstract intorientationOf(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 faceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
adjacentVertexOrdinal
The vertex in the adjacent tetrahedron opposite of this face
-
-
Constructor Details
-
OrientedFace
public OrientedFace()
-
-
Method Details
-
flip
Perform a flip for deletion of the vertex from the tetrahedralization. The incident and adjacent tetrahedra form an ear of the star set of tetrahedra adjacent to v.- Parameters:
index- - the index of the receiver in the list of earsears- - the list of ears of the vertexn- - the vertex to be deleted- Returns:
- true if the receiver is to be deleted from the list of ears
-
flip
Perform the flip which incrementally restores the delaunay condition after the vertex has been inserted into the tetrahedralization.- Parameters:
n- - the inserted vertexears- - the stack of oriented faces left to process- Returns:
- - the last valid tetrahedron noted, or null if no flip was performed.
-
flip2to3
Perform the bistellar flip 2 -> 3. This produces three new tetrahedra from the receiver and tetrahdron that shares the receiver face- Returns:
- the three created tetrahedron
-
flip3to2
Perform the bistellar 3->2 flip. This flip constructs two new tetrahedra from the two tetraheda determined by the incident and adjacent neighbor of the face, along with the tetrahedron on the reflexive edge of the face.- Parameters:
reflexiveEdge- - the vertex opposite the reflexive edge of the face- Returns:
- the two created tetrahedron
-
getAdjacent
Answer the adjacent tetrahedron to the face- Returns:
-
getAdjacentVertex
Answer the vertex in the adjacent tetrahedron which is opposite of this face.- Returns:
-
getAdjacentVertexOrdinal
Answer the canonical ordinal of the vertex in the adjacent tetrahedron which is opposite of this face.- Returns:
-
getIncident
Answer the tetrahedron which is incident with this face- Returns:
-
getIncidentVertex
Answer the vertex in the tetrahedron which is opposite of this face- Returns:
-
getVertex
Answer the canonical vertex for this face- Parameters:
anIndex-- Returns:
-
hasAdjacent
public boolean hasAdjacent() -
includes
-
indexOf
Answer the edge index corresponding to the vertex- Parameters:
v- - the vertex- Returns:
- the index of the edge
-
isConvex
public abstract boolean isConvex(int vertex) Answer true if the faces joined by the edge are concave when viewed from the originating tetrahedron.- Parameters:
vertex- - the vertex of the face that is opposite of the edge- Returns:
- true if the faces joined by the edge are convex, false if these faces are not convex
-
isReflex
public abstract boolean isReflex(int vertex) Answer true if the faces joined by the edge are not concave when viewed from the originating tetrahedron.- Parameters:
vertex- - the vertex of the face that is opposite of the edge- Returns:
- true if the faces joined by the edge are reflex, false if these faces are not reflex
-
isRegular
public boolean isRegular()Answer true if the vertex in the adjacent tetrahedron is not contained in the circumsphere of the incident tetrahedron- Returns:
-
iterator
- Specified by:
iteratorin interfaceIterable<VoronoiCell>
-
getEdge
Answer the two vertices defining the edge opposite of the vertex v- Parameters:
v- - the vertex defining the edge- Returns:
- the array of two vertices defining the edge
-
orientationOf
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- Parameters:
query- - the point to be tested- Returns:
- +1 if the orientation of the query point is positive with respect to the face, -1 if negative and 0 if the query point is coplanar
-