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 int
private final Plane
private int
private final Plane
private final Membership
private boolean
private final Plane
private final double
private final double
private final double
-
Constructor Summary
ConstructorsConstructorDescriptionFullLinearCrossingEdgeIterator
(GeoPoint testPoint, Plane plane, Plane abovePlane, Plane belowPlane, double thePointX, double thePointY, double thePointZ) -
Method Summary
Modifier and TypeMethodDescriptionprivate 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.private boolean
edgeCrossesEnvelope
(Plane edgePlane, GeoPoint intersectionPoint, Plane envelopePlane) int
boolean
isOnEdge()
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:
getCrossingCount
in interfaceGeoComplexPolygon.CountingEdgeIterator
- Returns:
- the number of edges that were crossed.
-
isOnEdge
public boolean isOnEdge()- Specified by:
isOnEdge
in interfaceGeoComplexPolygon.CountingEdgeIterator
- Returns:
- true if the endpoint was on an edge.
-
matches
- Specified by:
matches
in 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
-