Module org.apache.lucene.spatial3d
Package org.apache.lucene.spatial3d.geom
Class GeoComplexPolygon.FullLinearCrossingEdgeIterator
java.lang.Object
org.apache.lucene.spatial3d.geom.GeoComplexPolygon.FullLinearCrossingEdgeIterator
- All Implemented Interfaces:
GeoComplexPolygon.CountingEdgeIterator,GeoComplexPolygon.EdgeIterator
- Enclosing class:
GeoComplexPolygon
private class GeoComplexPolygon.FullLinearCrossingEdgeIterator
extends Object
implements GeoComplexPolygon.CountingEdgeIterator
Count the number of verifiable edge crossings for a full 1/2 a world.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate final Planeprivate intprivate final Planeprivate final Membershipprivate booleanprivate final Planeprivate final doubleprivate final doubleprivate final double -
Constructor Summary
ConstructorsConstructorDescriptionFullLinearCrossingEdgeIterator(GeoPoint testPoint, Plane plane, Plane abovePlane, Plane belowPlane, double thePointX, double thePointY, double thePointZ) -
Method Summary
Modifier and TypeMethodDescriptionprivate intcountCrossings(GeoComplexPolygon.Edge edge, Plane envelopePlane, Membership envelopeBound) Find the intersections with an envelope plane, and assess those intersections for whether they truly describe crossings.private booleanedgeCrossesEnvelope(Plane edgePlane, GeoPoint intersectionPoint, Plane envelopePlane) intbooleanisOnEdge()boolean
-
Field Details
-
plane
-
abovePlane
-
belowPlane
-
bound
-
thePointX
private final double thePointX -
thePointY
private final double thePointY -
thePointZ
private final double thePointZ -
onEdge
private boolean onEdge -
aboveCrossingCount
private int aboveCrossingCount -
belowCrossingCount
private int belowCrossingCount
-
-
Constructor Details
-
FullLinearCrossingEdgeIterator
-
-
Method Details
-
getCrossingCount
public int getCrossingCount()- Specified by:
getCrossingCountin interfaceGeoComplexPolygon.CountingEdgeIterator- Returns:
- the number of edges that were crossed.
-
isOnEdge
public boolean isOnEdge()- Specified by:
isOnEdgein interfaceGeoComplexPolygon.CountingEdgeIterator- Returns:
- true if the endpoint was on an edge.
-
matches
- Specified by:
matchesin interfaceGeoComplexPolygon.EdgeIterator- Parameters:
edge- is the edge that matched.- Returns:
- true if the iteration should continue, false otherwise.
-
countCrossings
private int countCrossings(GeoComplexPolygon.Edge edge, Plane envelopePlane, Membership envelopeBound) Find the intersections with an envelope plane, and assess those intersections for whether they truly describe crossings. -
edgeCrossesEnvelope
-