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.NodeTessellator.Node.nextprivate Tessellator.NodeTessellator.Node.nextZprivate Tessellator.NodeTessellator.Node.previousprivate Tessellator.NodeTessellator.Node.previousZ(package private) Tessellator.Node[]Tessellator.Triangle.vertexMethods in org.apache.lucene.geo that return Tessellator.NodeModifier and TypeMethodDescriptionprivate static final Tessellator.NodeTessellator.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.NodeTessellator.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.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.NodeTessellator.eliminateHoles(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static final Tessellator.NodeTessellator.eliminateHoles(XYPolygon polygon, Tessellator.Node outerNode) private static final Tessellator.NodeTessellator.fetchHoleBridge(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static final Tessellator.NodeTessellator.fetchLeftmost(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static final Tessellator.NodeTessellator.filterPoints(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked listprivate static Tessellator.NodeTessellator.getSharedVertex(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return it *private static final Tessellator.NodeTessellator.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.NodeTessellator.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 voidTessellator.checkIntersection(Tessellator.Node a, boolean isMorton) Computes if edge defined by a and b overlaps with a polygon edge *private static voidTessellator.checkIntersectionPoint(Tessellator.Node a, Tessellator.Node b) private static final Tessellator.NodeTessellator.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 voidTessellator.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.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.NodeTessellator.eliminateHoles(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static final Tessellator.NodeTessellator.eliminateHoles(XYPolygon polygon, Tessellator.Node outerNode) private static final Tessellator.NodeTessellator.fetchHoleBridge(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static final Tessellator.NodeTessellator.fetchLeftmost(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static final Tessellator.NodeTessellator.filterPoints(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked listTessellator.getPoints(Tessellator.Node start) private static Tessellator.NodeTessellator.getSharedVertex(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return it *private static final Tessellator.NodeTessellator.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 booleanTessellator.isCWPolygon(Tessellator.Node start, Tessellator.Node end) Determine whether the polygon defined between node start and node end is CWprivate static final booleanTessellator.isEar(Tessellator.Node ear, boolean mortonOptimized) Determines whether a polygon node forms a valid ear with adjacent nodes.private static booleanTessellator.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 booleanTessellator.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 booleanTessellator.isLocallyInside(Tessellator.Node a, Tessellator.Node b) private static final booleanTessellator.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 booleanTessellator.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 booleanTessellator.isPointInLine(Tessellator.Node a, Tessellator.Node b, Tessellator.Node point) private static booleanTessellator.isValidDiagonal(Tessellator.Node a, Tessellator.Node b) Determines whether a diagonal between two polygon nodes lies within a polygon interior.private static final booleanTessellator.isVertexEquals(Tessellator.Node a, double x, double y) Determines if two point vertices are equal.private static final booleanTessellator.isVertexEquals(Tessellator.Node a, Tessellator.Node b) Determines if two point vertices are equal.private static final booleanTessellator.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 voidTessellator.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 booleanTessellator.mortonIsEar(Tessellator.Node ear) Uses morton code for speed to determine whether or a polygon node forms a valid ear w/ adjacent nodesprivate static voidTessellator.notifyMonitor(String status, Tessellator.Monitor monitor, Tessellator.Node start, List<Tessellator.Triangle> tessellation) private static voidTessellator.notifyMonitor(Tessellator.State state, int depth, Tessellator.Monitor monitor, Tessellator.Node start, List<Tessellator.Triangle> tessellation) private static voidTessellator.notifyMonitorSplit(int depth, Tessellator.Monitor monitor, Tessellator.Node searchNode, Tessellator.Node diagonalNode) private static final voidTessellator.removeNode(Tessellator.Node node, boolean edgeFromPolygon) Removes a node from the doubly linked listprivate static doubleTessellator.signedArea(Tessellator.Node start, Tessellator.Node end) Determine the signed area between node start and node endprivate static final voidTessellator.sortByMorton(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static final voidTessellator.sortByMortonWithReset(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static final booleanTessellator.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.NodeTessellator.splitPolygon(Tessellator.Node a, Tessellator.Node b, boolean edgeFromPolygon) Links two polygon vertices using a bridge.private static final voidTessellator.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.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static final Tessellator.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) Constructors in org.apache.lucene.geo with parameters of type Tessellator.NodeModifierConstructorDescriptionprotectedNode(Tessellator.Node other) simple deep copy constructorprotectedTriangle(Tessellator.Node a, boolean isABfromPolygon, Tessellator.Node b, boolean isBCfromPolygon, Tessellator.Node c, boolean isCAfromPolygon)