
@Reference(authors="David Sinclair", title="S-hull: a fast sweep-hull routine for Delaunay triangulation", booktitle="Online: http://s-hull.org/") public class SweepHullDelaunay2D extends Object
| Modifier and Type | Class and Description | 
|---|---|
| (package private) static class  | SweepHullDelaunay2D.OrientationThe possible orientations two triangles can have to each other. | 
| static class  | SweepHullDelaunay2D.TriangleClass representing a triangle, by referencing points in a list. | 
| Modifier and Type | Field and Description | 
|---|---|
| private LinkedList<IntIntPair> | hullInternal representation of the hull | 
| private static Logging | LOGClass logger | 
| private List<Vector> | pointsThe current set of points. | 
| private ArrayList<SweepHullDelaunay2D.Triangle> | trisTriangles | 
| Constructor and Description | 
|---|
| SweepHullDelaunay2D()Constructor. | 
| SweepHullDelaunay2D(List<Vector> points)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add(Vector point)Add a single point to the list (this does not compute or update the
 triangulation!) | 
| (package private) void | debugHull()Debug helper | 
| (package private) int | flipTriangle(int i,
            BitSet flipped)Flip a single triangle, if necessary. | 
| (package private) int | flipTriangles(BitSet flippedA,
             BitSet flippedB)Flip triangles as necessary | 
| ArrayList<SweepHullDelaunay2D.Triangle> | getDelaunay()Get the Delaunay triangulation. | 
| Polygon | getHull()Get the convex hull only. | 
| (package private) boolean | leftOf(Vector a,
      Vector b,
      Vector d)Test if the vector AD is right of AB. | 
| static void | main(String[] args) | 
| static double | quadraticEuclidean(Vector v1,
                  Vector v2)Squared euclidean distance. 2d. | 
| (package private) void | run(boolean hullonly)Run the actual algorithm | 
private static final Logging LOG
private List<Vector> points
private ArrayList<SweepHullDelaunay2D.Triangle> tris
private LinkedList<IntIntPair> hull
public void add(Vector point)
point - Point to addvoid run(boolean hullonly)
hullonly - void debugHull()
int flipTriangles(BitSet flippedA, BitSet flippedB)
flippedA - Bit set for triangles to testflippedB - Bit set to mark triangles as doneint flipTriangle(int i,
               BitSet flipped)
i - Triangle numberflipped - Bitset to modifypublic Polygon getHull()
public ArrayList<SweepHullDelaunay2D.Triangle> getDelaunay()
public static double quadraticEuclidean(Vector v1, Vector v2)
v1 - First vectorv2 - Second vectorboolean leftOf(Vector a, Vector b, Vector d)
a - Starting pointb - Reference pointd - Test pointpublic static void main(String[] args)