HE_Mesh
5.1.2
|
Classes | |
class | Collinear |
class | EarcutException |
enum | EEarcutState |
class | Node |
Static Public Member Functions | |
static final int[] | triangulate2D (final WB_Polygon polygon) |
static final long[] | triangulate2Dkeys (final HE_Face face) |
static final int[] | triangulate2Dindices (final HE_Face face) |
Private Member Functions | |
WB_Earcut () | |
Static Private Member Functions | |
static final int[] | earcut (final WB_IndexedPoint[][] pPoints, final boolean pIsClockwise) |
static final Node | onEliminateHoles (final WB_IndexedPoint[][] pPoints, Node lOuterNode, final boolean pIsZIndexed, final Deque< Collinear > collinears) |
static final void | onEliminateHole (final Node pHoleNode, Node pOuterNode, final boolean pIsZIndexed, final Deque< Collinear > collinears) |
static final Node | onEberlyFetchHoleBridge (final Node pHoleNode, final Node pOuterNode) |
static final Node | onFetchLeftmost (final Node pStart) |
static final List< int[]> | onEarcutLinkedList (Node lCurrentEar, final List< int[]> pTriangleList, final double pMinimumX, final double pMinimumY, final double pSize, final EEarcutState pEarcutState, final boolean pIsZIndexed, final Deque< Collinear > collinears) |
static final boolean | isEar (final Node pEar, final double pMinimumX, final double pMinimumY, final double pSize, final boolean pIsZIndexed) |
static final Node | onCureLocalIntersections (Node pStartNode, final List< int[]> pTriangleList) |
static final void | onSplitEarcut (final Node pStart, final List< int[]> pTriangleList, final double pMinimumX, final double pMinimumY, final double pSize, final boolean pIsZIndexed, final Deque< Collinear > collinears) |
static final Node | onSplitPolygon (final Node pNodeA, final Node pNodeB) |
static final boolean | isValidDiagonal (final Node pNodeA, final Node pNodeB) |
static final boolean | isLocallyInside (final Node pNodeA, final Node pNodeB) |
static final boolean | onMiddleInsert (final Node pPolygonStart, final double pX0, final double pY0, final double pX1, final double pY1) |
static final boolean | isIntersectingPolygon (final Node pStartNode, final double pX0, final double pY0, final double pX1, final double pY1) |
static final boolean | isIntersecting (final double pX0, final double pY0, final double pX1, final double pY1, final double pX2, final double pY2, final double pX3, final double pY3) |
static final void | onZIndexCurve (final Node pStartNode, final double pMinimumX, final double pMinimumY, final double pSize) |
static final Node | onTathamZSortList (Node pList) |
static final int | onCalculateZOrder (final double pX, final double pY, final double pMinimumX, final double pMinimumY, final double pSize) |
static final Node | onCreateDoublyLinkedList (final WB_IndexedPoint[] pPoints, final boolean pIsClockwise) |
static final Node | onFilterPoints (final Node pStartNode, Node pEndNode, final boolean pIsZIndexed, final Deque< Collinear > collinears) |
static final Node | onInsertNode (final WB_IndexedPoint p, final Node pLastNode) |
static final boolean | isVertexEquals (final double pX0, final double pY0, final double pX1, final double pY1) |
static final WB_Classification | onCalculateWindingOrder (final double pX0, final double pY0, final double pX1, final double pY1, final double pX2, final double pY2) |
static List< int[]> | reinsertCollinearPoints (final List< int[]> triangles, final Deque< Collinear > collinears) |
static int | triangleContainsEdge (final int[] triangle, final Collinear edge) |
Static Private Attributes | |
static final Comparator< Node > | COMPARATOR_SORT_BY_X |
static final int | CONTRACT_HOLES_INDEX = 1 |
static final int | DEFAULT_THRESHOLD_SIMPLICITY = 80 |
static final int | DEFAULT_COORDINATE_RANGE = 1000 |
|
private |
|
staticprivate |
|
staticprivate |
Determines whether a polygon node forms a valid ear with adjacent nodes.
|
staticprivate |
Determines whether two segments intersect.
|
staticprivate |
Determines if the diagonal of a polygon is intersecting with any polygon elements.
|
staticprivate |
Determines whether a polygon diagonal rests locally within a polygon.
|
staticprivate |
Determines whether a diagonal between two polygon nodes lies within a polygon interior. (This determines the validity of the ray.)
|
staticprivate |
Determines if two point vertices are equal.
|
staticprivate |
Calculates the WindingOrder for a set of vertices.
|
staticprivate |
Calculates the Z-Order of a given point given the vertex co-ordinates and size of the bounding box.
|
staticprivate |
Creates a circular doubly linked list using polygon points. The order is governed by the specified winding order.
|
staticprivate |
Iterates through all polygon nodes and cures small local self-intersections.
|
staticprivate |
Main ear slicing loop which triangulates the vertices of a polygon, provided as a doubly-linked list.
|
staticprivate |
David Eberly's algorithm for finding a bridge between a hole and outer polygon.
|
staticprivate |
Finds a bridge between vertices that connects a hole with an outer ring, and links it.
|
staticprivate |
Links every hole into the outer loop, producing a single-ring polygon without holes.
|
staticprivate |
Finds the left-most hole of a polygon ring.
|
staticprivate |
Eliminates colinear/duplicate points.
|
staticprivate |
Creates a node and optionally links it with a previous node in a circular doubly-linked list.
|
staticprivate |
Determines whether the middle point of a polygon diagonal is contained within the polygon.
|
staticprivate |
Tries to split a polygon and triangulate each side independently.
|
staticprivate |
Links two polygon vertices using a bridge.
|
staticprivate |
Simon Tatham's doubly-linked list merge/sort algorithm. (http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html)
|
staticprivate |
Interlinks polygon nodes in Z-Order.
|
staticprivate |
|
staticprivate |
|
static |
|
static |
|
static |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |