Package gov.nih.mipav.model.structures
Class ComputationalGeometry._EarClipping
java.lang.Object
gov.nih.mipav.model.structures.ComputationalGeometry._EarClipping
- Enclosing class:
ComputationalGeometry
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) ComputationalGeometry.EarClippingHoleMethods(package private) ComputationalGeometry.MathUtility -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleprivate doubleCalculateInteriorAngle(ComputationalGeometry.MyVector2 p_prev, ComputationalGeometry.MyVector2 p, ComputationalGeometry.MyVector2 p_next) private intCountLinkedVertices(ComputationalGeometry.LinkedVertex startVertex) private voidFindEdgeInTriangulation(ComputationalGeometry.Triangle2 tNew, HashSet<ComputationalGeometry.Triangle2> triangulation, boolean[] hasOppositeEdge, ComputationalGeometry.Triangle2 tOpposite, ComputationalGeometry.Edge2 edgeToSwap) GetEarVertex(HashSet<ComputationalGeometry.LinkedVertex> earVertices, boolean optimizeTriangles) private booleanbooleanIsVertexConvex(ComputationalGeometry.MyVector2 p_prev, ComputationalGeometry.MyVector2 p, ComputationalGeometry.MyVector2 p_next) private booleanIsVertexEar(ComputationalGeometry.LinkedVertex vertex, HashSet<ComputationalGeometry.LinkedVertex> reflectVertices) private voidOptimizeTriangle(ComputationalGeometry.Triangle2 t, HashSet<ComputationalGeometry.Triangle2> triangulation) private voidReconfigureAdjacentVertex(ComputationalGeometry.LinkedVertex v, HashSet<ComputationalGeometry.LinkedVertex> convexVerts, HashSet<ComputationalGeometry.LinkedVertex> reflectVerts, HashSet<ComputationalGeometry.LinkedVertex> earVerts) Triangulate(ArrayList<ComputationalGeometry.MyVector2> vertices, ArrayList<ArrayList<ComputationalGeometry.MyVector2>> allHoleVertices, boolean optimizeTriangles)
-
Field Details
-
echm
-
mu
-
-
Constructor Details
-
_EarClipping
public _EarClipping()
-
-
Method Details
-
Triangulate
public HashSet<ComputationalGeometry.Triangle2> Triangulate(ArrayList<ComputationalGeometry.MyVector2> vertices, ArrayList<ArrayList<ComputationalGeometry.MyVector2>> allHoleVertices, boolean optimizeTriangles) -
OptimizeTriangle
private void OptimizeTriangle(ComputationalGeometry.Triangle2 t, HashSet<ComputationalGeometry.Triangle2> triangulation) -
FindEdgeInTriangulation
private void FindEdgeInTriangulation(ComputationalGeometry.Triangle2 tNew, HashSet<ComputationalGeometry.Triangle2> triangulation, boolean[] hasOppositeEdge, ComputationalGeometry.Triangle2 tOpposite, ComputationalGeometry.Edge2 edgeToSwap) -
ReconfigureAdjacentVertex
private void ReconfigureAdjacentVertex(ComputationalGeometry.LinkedVertex v, HashSet<ComputationalGeometry.LinkedVertex> convexVerts, HashSet<ComputationalGeometry.LinkedVertex> reflectVerts, HashSet<ComputationalGeometry.LinkedVertex> earVerts) -
GetEarVertex
private ComputationalGeometry.LinkedVertex GetEarVertex(HashSet<ComputationalGeometry.LinkedVertex> earVertices, boolean optimizeTriangles) -
IsVertexEar
private boolean IsVertexEar(ComputationalGeometry.LinkedVertex vertex, HashSet<ComputationalGeometry.LinkedVertex> reflectVertices) -
IsVertexConvex
-
IsVertexConvex
public boolean IsVertexConvex(ComputationalGeometry.MyVector2 p_prev, ComputationalGeometry.MyVector2 p, ComputationalGeometry.MyVector2 p_next) -
CalculateInteriorAngle
-
CalculateInteriorAngle
private double CalculateInteriorAngle(ComputationalGeometry.MyVector2 p_prev, ComputationalGeometry.MyVector2 p, ComputationalGeometry.MyVector2 p_next) -
CountLinkedVertices
-