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 TypeFieldDescription(package private) Tessellator.NodeTessellator.Node.nextprivate Tessellator.NodeTessellator.Node.nextZ(package private) 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 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 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 Tessellator.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static Tessellator.NodeTessellator.eliminateHoles(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static Tessellator.NodeTessellator.eliminateHoles(XYPolygon polygon, Tessellator.Node outerNode) private static Tessellator.NodeTessellator.fetchHoleBridge(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static Tessellator.NodeTessellator.fetchLeftmost(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static Tessellator.NodeTessellator.filterPoints(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked list(package private) static Tessellator.NodeTessellator.getSharedInsideVertex(Tessellator.Node holeVertex, Tessellator.Node candidateA, Tessellator.Node candidateB) Choose the vertex that has a smaller angle with the hole vertexprivate static Tessellator.NodeTessellator.getSharedVertex(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return itprivate static 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 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 doubleTessellator.angle(Tessellator.Node a, Tessellator.Node b, Tessellator.Node c) private 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 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 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 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 Tessellator.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static Tessellator.NodeTessellator.eliminateHoles(Polygon polygon, Tessellator.Node outerNode) Links every hole into the outer loop, producing a single-ring polygon without holes.private static Tessellator.NodeTessellator.eliminateHoles(XYPolygon polygon, Tessellator.Node outerNode) private static Tessellator.NodeTessellator.fetchHoleBridge(Tessellator.Node holeNode, Tessellator.Node outerNode) David Eberly's algorithm for finding a bridge between a hole and outer polygonprivate static Tessellator.NodeTessellator.fetchLeftmost(Tessellator.Node start) Finds the left-most hole of a polygon ring.private static Tessellator.NodeTessellator.filterPoints(Tessellator.Node start, Tessellator.Node end) Eliminate colinear/duplicate points from the doubly linked listTessellator.getPoints(Tessellator.Node start) (package private) static Tessellator.NodeTessellator.getSharedInsideVertex(Tessellator.Node holeVertex, Tessellator.Node candidateA, Tessellator.Node candidateB) Choose the vertex that has a smaller angle with the hole vertexprivate static Tessellator.NodeTessellator.getSharedVertex(Tessellator.Node polygon, Tessellator.Node vertex) Check if the provided vertex is in the polygon and return itprivate static 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 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 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 booleanTessellator.isLocallyInside(Tessellator.Node a, Tessellator.Node b) private static 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 booleanTessellator.isVertexEquals(Tessellator.Node a, double x, double y) Determines if two point vertices are equal.private static booleanTessellator.isVertexEquals(Tessellator.Node a, Tessellator.Node b) Determines if two point vertices are equal.private static booleanTessellator.maybeMergeHoleWithSharedVertices(Tessellator.Node holeNode, Tessellator.Node outerNode, double holeMinX, double holeMaxX, double holeMinY, double holeMaxY) Choose a common vertex between the polygon and the hole if it exists and return true, otherwise return falseprivate static 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 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 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 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 voidTessellator.sortByMorton(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static voidTessellator.sortByMortonWithReset(Tessellator.Node start) Interlinks polygon nodes in Z-Order.private static 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 Tessellator.NodeTessellator.splitPolygon(Tessellator.Node a, Tessellator.Node b, boolean edgeFromPolygon) Links two polygon vertices using a bridge.private static 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 Tessellator.NodeTessellator.eliminateHoles(List<Tessellator.Node> holeList, Map<Tessellator.Node, ?> holeListPolygons, Tessellator.Node outerNode) private static 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 constructorprivateTriangle(Tessellator.Node a, boolean isABfromPolygon, Tessellator.Node b, boolean isBCfromPolygon, Tessellator.Node c, boolean isCAfromPolygon)