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

Classes

class  EdgeFlipper
 
class  IndexedDouble
 
class  IndexedDoubleComparator
 
class  IndexedEnvelope
 
class  IndexedEnvelopeComparator
 
class  IndexedTriangle
 

Public Member Functions

 WB_Triangulate ()
 
WB_Triangulation2D getPolygonTriangulation2D (final WB_Polygon polygon, final boolean optimize)
 
WB_Triangulation2D triangulatePolygon2D (final WB_Polygon polygon, final boolean optimize)
 
WB_Triangulation2DWithPoints getPolygonTriangulation2D (final List<?extends WB_Coord > outerPolygon, final List<?extends WB_Coord >[] innerPolygons, final boolean optimize, final WB_Map2D context)
 
WB_Triangulation2DWithPoints triangulatePolygon2D (final List<?extends WB_Coord > outerPolygon, final List<?extends WB_Coord >[] innerPolygons, final boolean optimize, final WB_Map2D context)
 
WB_Triangulation2DWithPoints getPolygonTriangulation2D (final int[] polygon, final WB_Coord[] points, final boolean optimize, final WB_Map2D context)
 
WB_Triangulation2DWithPoints triangulatePolygon2D (final int[] polygon, final WB_Coord[] points, final boolean optimize, final WB_Map2D context)
 
WB_Triangulation2D getPolygonTriangulation2D (final int[] polygon, final List<?extends WB_Coord > points, final boolean optimize, final WB_Map2D context)
 
WB_Triangulation2D triangulatePolygon2D (final int[] polygon, final List<?extends WB_Coord > points, final boolean optimize, final WB_Map2D context)
 

Static Public Member Functions

static int[] triangulateQuad (final WB_Coord p0, final WB_Coord p1, final WB_Coord p2, final WB_Coord p3)
 
static WB_Triangulation3D getTriangulation3D (final WB_Coord[] points, final double closest)
 
static WB_Triangulation3D triangulate3D (final WB_Coord[] points, final double closest)
 
static WB_Triangulation3D getTriangulation3D (final List<?extends WB_Coord > points, final double closest)
 
static WB_Triangulation3D triangulate3D (final Collection<?extends WB_Coord > points, final double closest)
 
static WB_Triangulation3D getTriangulation3D (final WB_Coord[] points)
 
static WB_Triangulation3D triangulate3D (final WB_Coord[] points)
 
static WB_Triangulation3D getTriangulation3D (final List<?extends WB_Coord > points)
 
static WB_Triangulation3D triangulate3D (final Collection<?extends WB_Coord > points)
 
static WB_Triangulation2D getTriangulation2D (final WB_Coord[] points)
 
static WB_Triangulation2D triangulate2D (final WB_Coord[] points)
 
static WB_Triangulation2D getTriangulation2D (final List<?extends WB_Coord > points)
 
static WB_Triangulation2D triangulate2D (final Collection<?extends WB_Coord > points)
 
static WB_Triangulation2D getTriangulation2D (final WB_Coord[] points, final WB_Map2D context)
 
static WB_Triangulation2D triangulate2D (final WB_Coord[] points, final WB_Map2D context)
 
static WB_Triangulation2D getTriangulation2D (final List<?extends WB_Coord > points, final WB_Map2D context)
 
static WB_Triangulation2D triangulate2D (final Collection<?extends WB_Coord > points, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final double tol)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final int[] constraints)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final int[] constraints, final double tol)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final double tol, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final int[] constraints, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Coord[] points, final int[] constraints, final double tol, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final double tol)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final int[] constraints)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final int[] constraints, final double tol)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final double tol, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final int[] constraints, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final Collection<?extends WB_Coord > points, final int[] constraints, final double tol, final WB_Map2D context)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Polygon polygon)
 
static WB_Triangulation2DWithPoints triangulateConforming2D (final WB_Polygon polygon, final double tol)
 
static WB_Triangulation2D triangulateConstrained2D (final WB_Polygon poly)
 
static WB_Triangulation4D getTriangulation4D (final List<?extends WB_Coord > points, final double closest)
 
static WB_Triangulation4D triangulate4D (final List<?extends WB_Coord > points, final double closest)
 
static WB_Triangulation4D getTriangulation4D (final List<?extends WB_Coord > points, final double closest, final double epsilon)
 
static WB_Triangulation4D triangulate4D (final List<?extends WB_Coord > points, final double closest, final double epsilon)
 
static WB_Triangulation4D getTriangulation4D (final WB_Coord[] points, final double closest)
 
static WB_Triangulation4D triangulate4D (final WB_Coord[] points, final double closest)
 
static WB_Triangulation4D getTriangulation4D (final WB_Coord[] points, final double closest, final double epsilon)
 
static WB_Triangulation4D triangulate4D (final WB_Coord[] points, final double closest, final double epsilon)
 

Static Public Attributes

static final WB_GeometryFactory geometryfactory = WB_GeometryFactory.instance()
 

Protected Member Functions

WB_Polygon makeSimplePolygon (final WB_Polygon polygon)
 
void createShell (final Polygon inputPolygon)
 

Private Member Functions

int[] triangulate (final Polygon inputPolygon, final boolean improve)
 
boolean isValidEdge (final int index0, final int index1)
 
int nextShellCoord (final int pos)
 
void doImprove (final List< IndexedTriangle > earList)
 
void joinHoleToShell (final Polygon inputPolygon, final Geometry hole)
 
void doJoinHole (final int shellVertexIndex, final Coordinate[] holeCoords, final int holeVertexIndex)
 

Static Private Member Functions

static WB_Triangulation2D getTriangles2D (final List< 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 List< Geometry > getOrderedHoles (final Polygon poly)
 
static int getLowestVertex (final Geometry geom)
 
static WB_Point convert (final CVertex v)
 
static WB_Point convert (final Point v)
 

Private Attributes

List< Coordinate > shellCoords
 
boolean[] shellCoordAvailable
 

Constructor & Destructor Documentation

wblut.geom.WB_Triangulate.WB_Triangulate ( )

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
void wblut.geom.WB_Triangulate.createShell ( final Polygon  inputPolygon)
protected

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
void wblut.geom.WB_Triangulate.doImprove ( final List< IndexedTriangle earList)
private

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
void wblut.geom.WB_Triangulate.doJoinHole ( final int  shellVertexIndex,
final Coordinate[]  holeCoords,
final int  holeVertexIndex 
)
private

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 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)
WB_Triangulation2D wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final WB_Polygon  polygon,
final boolean  optimize 
)
Parameters
polygon
optimize
Returns
Deprecated:
Use triangulatePolygon2D(WB_Polygon,boolean) instead
WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final List<?extends WB_Coord outerPolygon,
final List<?extends WB_Coord >[]  innerPolygons,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
outerPolygon
innerPolygons
optimize
context
Returns
Deprecated:
Use <? extends WB_Coord>,List<? extends WB_Coord>[],boolean,WB_Map2D) instead
WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final int[]  polygon,
final WB_Coord[]  points,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
polygon
points
optimize
context
Returns
Deprecated:
Use triangulatePolygon2D(int[],WB_Coord[],boolean,WB_Map2D) instead
WB_Triangulation2D wblut.geom.WB_Triangulate.getPolygonTriangulation2D ( final int[]  polygon,
final List<?extends WB_Coord points,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
polygon
points
optimize
context
Returns
Deprecated:
Use <? extends WB_Coord>,boolean,WB_Map2D) instead
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangles2D ( final List< Coordinate >  coords)
staticprivate
Parameters
coords
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_Coord[]  points)
static

Planar Delaunay triangulation.

Parameters
points
Returns
Deprecated:
Use triangulate2D(WB_Coord[]) instead
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final List<?extends WB_Coord points)
static
Parameters
points
Returns
Deprecated:
Use triangulate2D(List<? extends WB_Coord>) instead
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final WB_Coord[]  points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
Deprecated:
Use triangulate2D(WB_Coord[],WB_Map2D) instead
static WB_Triangulation2D wblut.geom.WB_Triangulate.getTriangulation2D ( final List<?extends WB_Coord points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
Deprecated:
Use triangulate2D(List<? extends WB_Coord>,WB_Map) instead
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_Coord[]  points,
final double  closest 
)
static
Parameters
points
closest
Returns
Deprecated:
Use triangulate3D(WB_Coord[],double) instead
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final List<?extends WB_Coord points,
final double  closest 
)
static
Parameters
points
closest
Returns
Deprecated:
Use triangulate3D(List<? extends WB_Coord>,double) instead
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final WB_Coord[]  points)
static
Parameters
points
Returns
Deprecated:
Use triangulate3D(WB_Coord[]) instead
static WB_Triangulation3D wblut.geom.WB_Triangulate.getTriangulation3D ( final List<?extends WB_Coord points)
static
Parameters
points
Returns
Deprecated:
Use triangulate3D(List<? extends WB_Coord>) instead
static WB_Triangulation4D wblut.geom.WB_Triangulate.getTriangulation4D ( final List<?extends WB_Coord points,
final double  closest 
)
static
Parameters
points
closest
Returns
Deprecated:
Use triangulate4D(List<? extends WB_Coord>,double) instead
static WB_Triangulation4D wblut.geom.WB_Triangulate.getTriangulation4D ( final List<?extends WB_Coord points,
final double  closest,
final double  epsilon 
)
static
Parameters
points
closest
epsilon
Returns
Deprecated:
Use <? extends WB_Coord>,double,double) instead
static WB_Triangulation4D wblut.geom.WB_Triangulate.getTriangulation4D ( final WB_Coord[]  points,
final double  closest 
)
static
Parameters
points
closest
Returns
Deprecated:
Use triangulate4D(WB_Coord[],double) instead
static WB_Triangulation4D wblut.geom.WB_Triangulate.getTriangulation4D ( final WB_Coord[]  points,
final double  closest,
final double  epsilon 
)
static
Parameters
points
closest
epsilon
Returns
Deprecated:
Use triangulate4D(WB_Coord[],double,double) instead
boolean wblut.geom.WB_Triangulate.isValidEdge ( final int  index0,
final int  index1 
)
private

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
void wblut.geom.WB_Triangulate.joinHoleToShell ( final Polygon  inputPolygon,
final Geometry  hole 
)
private

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
WB_Polygon wblut.geom.WB_Triangulate.makeSimplePolygon ( final WB_Polygon  polygon)
protected
Parameters
polygon
Returns
int wblut.geom.WB_Triangulate.nextShellCoord ( final int  pos)
private

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
int [] wblut.geom.WB_Triangulate.triangulate ( final Polygon  inputPolygon,
final boolean  improve 
)
private

Perform the triangulation.

Parameters
inputPolygon
improveif true, improvement of the triangulation is attempted as a post-processing step
Returns
GeometryCollection of triangular polygons
static WB_Triangulation2D wblut.geom.WB_Triangulate.triangulate2D ( final WB_Coord[]  points)
static

Planar Delaunay triangulation.

Parameters
points
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.triangulate2D ( final Collection<?extends WB_Coord points)
static
Parameters
points
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.triangulate2D ( final WB_Coord[]  points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.triangulate2D ( final Collection<?extends WB_Coord points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.triangulate3D ( final WB_Coord[]  points,
final double  closest 
)
static
Parameters
points
closest
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.triangulate3D ( final Collection<?extends WB_Coord points,
final double  closest 
)
static
Parameters
points
closest
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.triangulate3D ( final WB_Coord[]  points)
static
Parameters
points
Returns
static WB_Triangulation3D wblut.geom.WB_Triangulate.triangulate3D ( final Collection<?extends WB_Coord points)
static
Parameters
points
Returns
static WB_Triangulation4D wblut.geom.WB_Triangulate.triangulate4D ( final List<?extends WB_Coord points,
final double  closest 
)
static
Parameters
points
closest
Returns
static WB_Triangulation4D wblut.geom.WB_Triangulate.triangulate4D ( final List<?extends WB_Coord points,
final double  closest,
final double  epsilon 
)
static
Parameters
points
closest
epsilon
Returns
static WB_Triangulation4D wblut.geom.WB_Triangulate.triangulate4D ( final WB_Coord[]  points,
final double  closest 
)
static
Parameters
points
closest
Returns
static WB_Triangulation4D wblut.geom.WB_Triangulate.triangulate4D ( final WB_Coord[]  points,
final double  closest,
final double  epsilon 
)
static
Parameters
points
closest
epsilon
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points)
static
Parameters
points
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final double  tol 
)
static
Parameters
points
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final int[]  constraints 
)
static
Parameters
points
constraints
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final int[]  constraints,
final double  tol 
)
static
Parameters
points
constraints
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final double  tol,
final WB_Map2D  context 
)
static
Parameters
points
tol
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final int[]  constraints,
final WB_Map2D  context 
)
static
Parameters
points
constraints
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Coord[]  points,
final int[]  constraints,
final double  tol,
final WB_Map2D  context 
)
static
Parameters
points
constraints
tol
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points)
static
Parameters
points
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final double  tol 
)
static
Parameters
points
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final int[]  constraints 
)
static
Parameters
points
constraints
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final int[]  constraints,
final double  tol 
)
static
Parameters
points
constraints
tol
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final WB_Map2D  context 
)
static
Parameters
points
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final double  tol,
final WB_Map2D  context 
)
static
Parameters
points
tol
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final int[]  constraints,
final WB_Map2D  context 
)
static
Parameters
points
constraints
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final Collection<?extends WB_Coord points,
final int[]  constraints,
final double  tol,
final WB_Map2D  context 
)
static
Parameters
points
constraints
tol
context
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Polygon  polygon)
static
Parameters
polygon
Returns
static WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulateConforming2D ( final WB_Polygon  polygon,
final double  tol 
)
static
Parameters
polygon
tol
Returns
static WB_Triangulation2D wblut.geom.WB_Triangulate.triangulateConstrained2D ( final WB_Polygon  poly)
static
Parameters
poly
Returns
WB_Triangulation2D wblut.geom.WB_Triangulate.triangulatePolygon2D ( final WB_Polygon  polygon,
final boolean  optimize 
)
Parameters
polygon
optimize
Returns
WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulatePolygon2D ( final List<?extends WB_Coord outerPolygon,
final List<?extends WB_Coord >[]  innerPolygons,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
outerPolygon
innerPolygons
optimize
context
Returns
WB_Triangulation2DWithPoints wblut.geom.WB_Triangulate.triangulatePolygon2D ( final int[]  polygon,
final WB_Coord[]  points,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
polygon
points
optimize
context
Returns
WB_Triangulation2D wblut.geom.WB_Triangulate.triangulatePolygon2D ( final int[]  polygon,
final List<?extends WB_Coord points,
final boolean  optimize,
final WB_Map2D  context 
)
Parameters
polygon
points
optimize
context
Returns
static int [] wblut.geom.WB_Triangulate.triangulateQuad ( final WB_Coord  p0,
final WB_Coord  p1,
final WB_Coord  p2,
final WB_Coord  p3 
)
static
Parameters
p0
p1
p2
p3
Returns

Member Data Documentation

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

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