Module org.apache.lucene.spatial3d
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.Object
Class 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>
edges
Full set of edgesprotected java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge>
nextEdges
Map to next edgeprotected GeoPolygonFactory.Edge
oneEdge
Starting edgeprotected java.util.Map<GeoPolygonFactory.Edge,GeoPolygonFactory.Edge>
previousEdges
Map 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 void
clear()
Clear all edges.GeoPolygonFactory.Edge
getNext(GeoPolygonFactory.Edge currentEdge)
Get the next edge.GeoPolygonFactory.Edge
getPrevious(GeoPolygonFactory.Edge currentEdge)
Get the previous edge.java.util.Iterator<GeoPolygonFactory.Edge>
iterator()
Get an iterator to iterate over edges.GeoPolygonFactory.Edge
pickOne()
Return a first edge.void
replace(java.util.List<GeoPolygonFactory.Edge> removeList, GeoPolygonFactory.Edge newEdge)
Replace a list of edges with a new edge.int
size()
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.
-
-