Uses of Class
org.apache.lucene.geo.Tessellator.Node
Packages that use Tessellator.Node
-
Uses of Tessellator.Node in org.apache.lucene.geo
Fields in org.apache.lucene.geo declared as Tessellator.NodeModifier and TypeFieldDescriptionprivate Tessellator.Node
Tessellator.Node.next
private Tessellator.Node
Tessellator.Node.nextZ
private Tessellator.Node
Tessellator.Node.previous
private Tessellator.Node
Tessellator.Node.previousZ
(package private) Tessellator.Node[]
Tessellator.Triangle.vertex
Methods in org.apache.lucene.geo that return Tessellator.NodeModifier and TypeMethodDescriptionprivate static final Tessellator.Node
Tessellator.createDoublyLinkedList
(double[] x, double[] y, GeoUtils.WindingOrder polyWindingOrder, boolean isGeo, int startIndex, GeoUtils.WindingOrder windingOrder) Creates a circular doubly linked list using polygon points.private static final Tessellator.Node
Tessellator.cureLocalIntersections
(Tessellator.Node startNode, List<Tessellator.Triangle> tessellation, boolean mortonOptimized) Iterate through all polygon nodes and remove small local self-intersections *private static final Tessellator.Node
Tessellator.eliminateHoles
(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.Node
Tessellator.eliminateHoles
(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static final Tessellator.Node
Tessellator.eliminateHoles
(XYPolygon polygon, Tessellator.Node outerNode) private static final Tessellator.Node
Tessellator.fetchHoleBridge
(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static final Tessellator.Node
Tessellator.fetchLeftmost
(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static final Tessellator.Node
Tessellator.filterPoints
(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked listprivate static Tessellator.Node
Tessellator.getSharedVertex
(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return it *private static final Tessellator.Node
Tessellator.insertNode
(double[] x, double[] y, int index, int vertexIndex, Tessellator.Node lastNode, boolean isGeo) Creates a node and optionally links it with a previous node in a circular doubly-linked listprivate static final Tessellator.Node
Tessellator.splitPolygon
(Tessellator.Node a, Tessellator.Node b, boolean edgeFromPolygon) Links two polygon vertices using a bridge.Methods in org.apache.lucene.geo with parameters of type Tessellator.NodeModifier and TypeMethodDescriptionprivate static void
Tessellator.checkIntersection
(Tessellator.Node a, boolean isMorton) Computes if edge defined by a and b overlaps with a polygon edge *private static void
Tessellator.checkIntersectionPoint
(Tessellator.Node a, Tessellator.Node b) private static final Tessellator.Node
Tessellator.cureLocalIntersections
(Tessellator.Node startNode, List<Tessellator.Triangle> tessellation, boolean mortonOptimized) Iterate through all polygon nodes and remove small local self-intersections *private static final List<Tessellator.Triangle>
Tessellator.earcutLinkedList
(Object polygon, Tessellator.Node currEar, List<Tessellator.Triangle> tessellation, Tessellator.State state, boolean mortonOptimized, Tessellator.Monitor monitor, int depth) Main ear slicing loop which triangulates the vertices of a polygon, provided as a doubly-linked list.private static final void
Tessellator.eliminateHole
(Tessellator.Node holeNode, Tessellator.Node outerNode, double holeMinX, double holeMaxX, double holeMinY, double holeMaxY) Finds a bridge between vertices that connects a hole with an outer ring, and links itprivate static final Tessellator.Node
Tessellator.eliminateHoles
(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.Node
Tessellator.eliminateHoles
(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static final Tessellator.Node
Tessellator.eliminateHoles
(XYPolygon polygon, Tessellator.Node outerNode) private static final Tessellator.Node
Tessellator.fetchHoleBridge
(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static final Tessellator.Node
Tessellator.fetchLeftmost
(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static final Tessellator.Node
Tessellator.filterPoints
(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked listTessellator.getPoints
(Tessellator.Node start) private static Tessellator.Node
Tessellator.getSharedVertex
(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return it *private static final Tessellator.Node
Tessellator.insertNode
(double[] x, double[] y, int index, int vertexIndex, Tessellator.Node lastNode, boolean isGeo) Creates a node and optionally links it with a previous node in a circular doubly-linked listprivate static boolean
Tessellator.isCWPolygon
(Tessellator.Node start, Tessellator.Node end) Determine whether the polygon defined between node start and node end is CWprivate static final boolean
Tessellator.isEar
(Tessellator.Node ear, boolean mortonOptimized) Determines whether a polygon node forms a valid ear with adjacent nodes.private static boolean
Tessellator.isEdgeFromPolygon
(Tessellator.Node a, Tessellator.Node b, boolean isMorton) Computes if edge defined by a and b overlaps with a polygon edge *private static final boolean
Tessellator.isIntersectingPolygon
(Tessellator.Node start, double x0, double y0, double x1, double y1) Determines if the diagonal of a polygon is intersecting with any polygon elements.private static final boolean
Tessellator.isLocallyInside
(Tessellator.Node a, Tessellator.Node b) private static final boolean
Tessellator.isMortonEdgeFromPolygon
(Tessellator.Node a, Tessellator.Node b) Uses morton code for speed to determine whether or not and edge defined by a and b overlaps with a polygon edgeprivate static boolean
Tessellator.isPointInLine
(Tessellator.Node a, Tessellator.Node b, double lon, double lat) returns true if the lon, lat point is colinear w/ the provided a and b pointprivate static boolean
Tessellator.isPointInLine
(Tessellator.Node a, Tessellator.Node b, Tessellator.Node point) private static boolean
Tessellator.isValidDiagonal
(Tessellator.Node a, Tessellator.Node b) Determines whether a diagonal between two polygon nodes lies within a polygon interior.private static final boolean
Tessellator.isVertexEquals
(Tessellator.Node a, double x, double y) Determines if two point vertices are equal.private static final boolean
Tessellator.isVertexEquals
(Tessellator.Node a, Tessellator.Node b) Determines if two point vertices are equal.private static final boolean
Tessellator.middleInsert
(Tessellator.Node start, double x0, double y0, double x1, double y1) Determine whether the middle point of a polygon diagonal is contained within the polygonprivate static final void
Tessellator.mortonCheckIntersection
(Tessellator.Node a, Tessellator.Node b) Uses morton code for speed to determine whether or not and edge defined by a and b overlaps with a polygon edgeprivate static final boolean
Tessellator.mortonIsEar
(Tessellator.Node ear) Uses morton code for speed to determine whether or a polygon node forms a valid ear w/ adjacent nodesprivate static void
Tessellator.notifyMonitor
(String status, Tessellator.Monitor monitor, Tessellator.Node start, List<Tessellator.Triangle> tessellation) private static void
Tessellator.notifyMonitor
(Tessellator.State state, int depth, Tessellator.Monitor monitor, Tessellator.Node start, List<Tessellator.Triangle> tessellation) private static void
Tessellator.notifyMonitorSplit
(int depth, Tessellator.Monitor monitor, Tessellator.Node searchNode, Tessellator.Node diagonalNode) private static final void
Tessellator.removeNode
(Tessellator.Node node, boolean edgeFromPolygon) Removes a node from the doubly linked listprivate static double
Tessellator.signedArea
(Tessellator.Node start, Tessellator.Node end) Determine the signed area between node start and node endprivate static final void
Tessellator.sortByMorton
(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static final void
Tessellator.sortByMortonWithReset
(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static final boolean
Tessellator.splitEarcut
(Object polygon, Tessellator.Node start, List<Tessellator.Triangle> tessellation, boolean mortonOptimized, Tessellator.Monitor monitor, int depth) Attempt to split a polygon and independently triangulate each side.private static final Tessellator.Node
Tessellator.splitPolygon
(Tessellator.Node a, Tessellator.Node b, boolean edgeFromPolygon) Links two polygon vertices using a bridge.private static final void
Tessellator.tathamSort
(Tessellator.Node list) Simon Tatham's doubly-linked list O(n log n) mergesort see: http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.htmlMethod parameters in org.apache.lucene.geo with type arguments of type Tessellator.NodeModifier and TypeMethodDescriptionprivate static final Tessellator.Node
Tessellator.eliminateHoles
(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.Node
Tessellator.eliminateHoles
(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) Constructors in org.apache.lucene.geo with parameters of type Tessellator.NodeModifierConstructorDescriptionprotected
Node
(Tessellator.Node other) simple deep copy constructorprotected
Triangle
(Tessellator.Node a, boolean isABfromPolygon, Tessellator.Node b, boolean isBCfromPolygon, Tessellator.Node c, boolean isCAfromPolygon)