Package org.apache.lucene.spatial3d.geom
Class GeoPolygonFactory.EdgeBuffer
- java.lang.Object
-
- org.apache.lucene.spatial3d.geom.GeoPolygonFactory.EdgeBuffer
-
- Enclosing class:
- GeoPolygonFactory
private static class GeoPolygonFactory.EdgeBuffer extends java.lang.ObjectClass representing a pool of unused edges, all linked together by vertices.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Set<GeoPolygonFactory.Edge>edgesFull set of edgesprotected java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge>nextEdgesMap to next edgeprotected GeoPolygonFactory.EdgeoneEdgeStarting edgeprotected java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge>previousEdgesMap to previous edge
-
Constructor Summary
Constructors Constructor Description EdgeBuffer(java.util.List<GeoPoint> pointList, java.util.BitSet internalEdges, int startPlaneStartIndex, int startPlaneEndIndex, SidedPlane startPlane)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear all edges.GeoPolygonFactory.EdgegetNext(GeoPolygonFactory.Edge currentEdge)Get the next edge.GeoPolygonFactory.EdgegetPrevious(GeoPolygonFactory.Edge currentEdge)Get the previous edge.java.util.Iterator<GeoPolygonFactory.Edge>iterator()Get an iterator to iterate over edges.GeoPolygonFactory.EdgepickOne()Return a first edge.voidreplace(java.util.List<GeoPolygonFactory.Edge> removeList, GeoPolygonFactory.Edge newEdge)Replace a list of edges with a new edge.intsize()Get the size of the edge buffer.
-
-
-
Field Detail
-
oneEdge
protected GeoPolygonFactory.Edge oneEdge
Starting edge
-
edges
protected final java.util.Set<GeoPolygonFactory.Edge> edges
Full set of edges
-
previousEdges
protected final java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge> previousEdges
Map to previous edge
-
nextEdges
protected final java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge> nextEdges
Map to next edge
-
-
Constructor Detail
-
EdgeBuffer
public EdgeBuffer(java.util.List<GeoPoint> pointList, java.util.BitSet internalEdges, int startPlaneStartIndex, int startPlaneEndIndex, SidedPlane startPlane)
Constructor.- Parameters:
pointList- is the list of points.internalEdges- is the list of edges that are internal (includes return edge)startPlaneStartIndex- is the index of the startPlane's starting pointstartPlaneEndIndex- is the index of the startPlane's ending pointstartPlane- is the starting plane
-
-
Method Detail
-
getPrevious
public GeoPolygonFactory.Edge getPrevious(GeoPolygonFactory.Edge currentEdge)
Get the previous edge.- Parameters:
currentEdge- is the current edge.- Returns:
- the previous edge, if found.
-
getNext
public GeoPolygonFactory.Edge getNext(GeoPolygonFactory.Edge currentEdge)
Get the next edge.- Parameters:
currentEdge- is the current edge.- Returns:
- the next edge, if found.
-
replace
public void replace(java.util.List<GeoPolygonFactory.Edge> removeList, GeoPolygonFactory.Edge newEdge)
Replace a list of edges with a new edge.- Parameters:
removeList- is the list of edges to remove.newEdge- is the edge to add.
-
clear
public void clear()
Clear all edges.
-
size
public int size()
Get the size of the edge buffer.- Returns:
- the size.
-
iterator
public java.util.Iterator<GeoPolygonFactory.Edge> iterator()
Get an iterator to iterate over edges.- Returns:
- the iterator.
-
pickOne
public GeoPolygonFactory.Edge pickOne()
Return a first edge.- Returns:
- the edge.
-
-