HE_Mesh2014  2.0.11
Classes | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
wblut.geom.WB_Triangulate Class Reference

Classes

class  EdgeFlipper
 
class  IndexedDouble
 
class  IndexedDoubleComparator
 
class  IndexedEnvelope
 
class  IndexedEnvelopeComparator
 
class  Triangle
 

Static Public Member Functions

static int[][] triangulateQuad (final WB_Coordinate p0, final WB_Coordinate p1, final WB_Coordinate p2, final WB_Coordinate p3)
 
static WB_Triangulation3D getTriangulation3D (final WB_Coordinate[] points, final double precision)
 
static WB_Triangulation3D getTriangulation3D (final List<?extends WB_Coordinate > points, final double precision)
 
static WB_Triangulation3D getTriangulation3D (final WB_CoordinateSequence points, final double precision)
 
static WB_Triangulation3D getTriangulation3D (final WB_Coordinate[] points)
 
static WB_Triangulation3D getTriangulation3D (final List<?extends WB_Coordinate > points)
 
static WB_Triangulation3D getTriangulation3D (final WB_CoordinateSequence points)
 
static WB_Triangulation2D getTriangulation2D (final WB_Coordinate[] points)
 
static WB_Triangulation2D getTriangulation2D (final List<?extends WB_Coordinate > points)
 
static WB_Triangulation2D getTriangulation2D (final WB_CoordinateSequence points)
 
static WB_Triangulation2D getTriangulation2D (final WB_Coordinate[] points, final WB_Context2D context)
 
static WB_Triangulation2D getTriangulation2D (final List<?extends WB_Coordinate > points, final WB_Context2D context)
 
static WB_Triangulation2D getTriangulation2D (final WB_CoordinateSequence points, final WB_Context2D context)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points, final WB_Context2D context)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points, final int[] constraints, final WB_Context2D context)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Polygon polygon)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points, final int[] constraints)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points, final double tol)
 
static WB_Triangulation2DWithPoints getConformingTriangulation2D (final WB_Coordinate[] points, final int[] constraints, final double tol)
 
static WB_Triangulation2D getPolygonTriangulation2D (final WB_Polygon polygon, final boolean optimize)
 
static WB_Triangulation2DWithPoints getPolygonTriangulation2D (final List<?extends WB_Coordinate > outerPolygon, final List<?extends WB_Coordinate >[] innerPolygons, final boolean optimize, final WB_Context2D context)
 
static WB_Triangulation2DWithPoints getPolygonTriangulation2D (final int[] polygon, final WB_Coordinate[] points, final boolean optimize, final WB_Context2D context)
 
static WB_Triangulation2D getPolygonTriangulation2D (final int[] polygon, final WB_CoordinateSequence points, final boolean optimize, final WB_Context2D context)
 
static WB_Triangulation2D getPolygonTriangulation2D (final int[] polygon, final List<?extends WB_Coordinate > points, final boolean optimize, final WB_Context2D context)
 

Static Public Attributes

static final WB_GeometryFactory geometryfactory
 

Private Member Functions

 WB_Triangulate ()
 

Static Private Member Functions

static WB_Triangulation2D getTriangles2D (final ArrayList< Coordinate > coords)
 
static WB_Triangulation2DWithPoints getConformingTriangles2D (final Coordinate[] coords, final int[] constraints, final double tol)
 
static int[][] extractEdges (final int[][] ears)
 
static long getIndex (final int i, final int j, final int f)
 
static int[][] triangulate (final Polygon inputPolygon, final boolean improve)
 
static void createShell (final Polygon inputPolygon)
 
static boolean isValidEdge (final int index0, final int index1)
 
static int nextShellCoord (final int pos)
 
static void doImprove (final List< Triangle > earList)
 
static List< Geometry > getOrderedHoles (final Polygon poly)
 
static void joinHoleToShell (final Polygon inputPolygon, final Geometry hole)
 
static void doJoinHole (final int shellVertexIndex, final Coordinate[] holeCoords, final int holeVertexIndex)
 
static int getLowestVertex (final Geometry geom)
 
static WB_Point convert (final CVertex v)
 
static WB_Point convert (final Point v)
 

Static Private Attributes

static List< Coordinate > shellCoords
 
static boolean[] shellCoordAvailable
 

Constructor & Destructor Documentation

wblut.geom.WB_Triangulate.WB_Triangulate ( )
private

Member Function Documentation

static WB_Point wblut.geom.WB_Triangulate.convert ( final CVertex  v)
staticprivate
Parameters
v
Returns
static WB_Point wblut.geom.WB_Triangulate.convert ( final Point  v)
staticprivate
Parameters
v
Returns
static void wblut.geom.WB_Triangulate.createShell ( final Polygon  inputPolygon)
staticprivate

Transforms the input polygon into a single, possible self-intersecting shell by connecting holes to the exterior ring, The holes are added from the lowest upwards. As the resulting shell develops, a hole might be added to what was originally another hole.

Parameters
inputPolygon
static void wblut.geom.WB_Triangulate.doImprove ( final List< Triangle earList)
staticprivate

Attempts to improve the triangulation by examining pairs of triangles with a common edge, forming a quadrilateral, and testing if swapping the diagonal of this quadrilateral would produce two new triangles with larger minimum interior angles.

Parameters
earList
static void wblut.geom.WB_Triangulate.doJoinHole ( final int  shellVertexIndex,
final Coordinate[]  holeCoords,
final int  holeVertexIndex 
)
staticprivate

Helper method for joinHoleToShell. Insert the hole coordinates into the shell coordinate list.

Parameters
shellVertexIndexinsertion point in the shell coordinate list
holeCoordsarray of hole coordinates
holeVertexIndexattachment point of hole
static int [][] wblut.geom.WB_Triangulate.extractEdges ( final int  ears[][])
staticprivate
Parameters
ears
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangles2D ( final Coordinate[]  coords,
final int[]  constraints,
final double  tol 
)
staticprivate
Parameters
coords
constraints
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points,
final WB_Context2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points,
final int[]  constraints,
final WB_Context2D  context 
)
static
Parameters
points
constraints
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points)
static
Parameters
points
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Polygon  polygon)
static
Parameters
polygon
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points,
final int[]  constraints 
)
static
Parameters
points
constraints
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points,
final double  tol 
)
static
Parameters
points
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getConformingTriangulation2D ( final WB_Coordinate[]  points,
final int[]  constraints,
final double  tol 
)
static
Parameters
points
constraints
tol
Returns
static long wblut.geom.WB_Triangulate.getIndex ( final int  i,
final int  j,
final int  f 
)
staticprivate
Parameters
i
j
f
Returns
static int wblut.geom.WB_Triangulate.getLowestVertex ( final Geometry  geom)
staticprivate

Return the index of the lowest vertex.

Parameters
geominput geometry
Returns
index of the first vertex found at lowest point of the geometry
static List<Geometry> wblut.geom.WB_Triangulate.getOrderedHoles ( final Polygon  poly)
staticprivate

Returns a list of holes in the input polygon (if any) ordered by y coordinate with ties broken using x coordinate.

Parameters
polyinput polygon
Returns
a list of Geometry objects representing the ordered holes (may be empty)
static WB_Triangulation2D wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final WB_Polygon  polygon,
final boolean  optimize 
)
static
Parameters
polygon
optimize
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final List<?extends WB_Coordinate outerPolygon,
final List<?extends WB_Coordinate >[]  innerPolygons,
final boolean  optimize,
final WB_Context2D  context 
)
static
Parameters
outerPolygon
innerPolygons
optimize
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final int[]  polygon,
final WB_Coordinate[]  points,
final boolean  optimize,
final WB_Context2D  context 
)
static
Parameters
polygon
points
optimize
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final int[]  polygon,
final WB_CoordinateSequence  points,
final boolean  optimize,
final WB_Context2D  context 
)
static
Parameters
polygon
points
optimize
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final int[]  polygon,
final List<?extends WB_Coordinate points,
final boolean  optimize,
final WB_Context2D  context 
)
static
Parameters
polygon
points
optimize
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangles2D ( final ArrayList< Coordinate >  coords)
staticprivate
Parameters
coords
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_Coordinate[]  points)
static

Planar Delaunay triangulation.

Parameters
points
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final List<?extends WB_Coordinate points)
static
Parameters
points
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_CoordinateSequence  points)
static
Parameters
points
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_Coordinate[]  points,
final WB_Context2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final List<?extends WB_Coordinate points,
final WB_Context2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_CoordinateSequence  points,
final WB_Context2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_Coordinate[]  points,
final double  precision 
)
static
Parameters
points
precision
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final List<?extends WB_Coordinate points,
final double  precision 
)
static
Parameters
points
precision
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_CoordinateSequence  points,
final double  precision 
)
static
Parameters
points
precision
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_Coordinate[]  points)
static
Parameters
points
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final List<?extends WB_Coordinate points)
static
Parameters
points
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_CoordinateSequence  points)
static
Parameters
points
Returns
static boolean wblut.geom.WB_Triangulate.isValidEdge ( final int  index0,
final int  index1 
)
staticprivate

Check if a candidate edge between two vertices passes through any other available vertices.

Parameters
index0first vertex
index1second vertex
Returns
true if the edge does not pass through any other available vertices; false otherwise
static void wblut.geom.WB_Triangulate.joinHoleToShell ( final Polygon  inputPolygon,
final Geometry  hole 
)
staticprivate

Join a given hole to the current shell. The hole coordinates are inserted into the list of shell coordinates.

Parameters
inputPolygon
holethe hole to join
static int wblut.geom.WB_Triangulate.nextShellCoord ( final int  pos)
staticprivate

Get the index of the next available shell coordinate starting from the given candidate position.

Parameters
poscandidate position
Returns
index of the next available shell coordinate
static int [][] wblut.geom.WB_Triangulate.triangulate ( final Polygon  inputPolygon,
final boolean  improve 
)
staticprivate

Perform the triangulation.

Parameters
inputPolygon
improveif true, improvement of the triangulation is attempted as a post-processing step
Returns
GeometryCollection of triangular polygons
static int [][] wblut.geom.WB_Triangulate.triangulateQuad ( final WB_Coordinate  p0,
final WB_Coordinate  p1,
final WB_Coordinate  p2,
final WB_Coordinate  p3 
)
static
Parameters
p0
p1
p2
p3
Returns

Member Data Documentation

final WB_GeometryFactory wblut.geom.WB_Triangulate.geometryfactory
static
Initial value:
= WB_GeometryFactory
.instance()
boolean [] wblut.geom.WB_Triangulate.shellCoordAvailable
staticprivate
List<Coordinate> wblut.geom.WB_Triangulate.shellCoords
staticprivate

The documentation for this class was generated from the following file: