Package org.apache.lucene.spatial3d.geom
Interface GeoShape
-
- All Superinterfaces:
Bounded
,Membership
,PlanetObject
,SerializableObject
- All Known Subinterfaces:
GeoAreaShape
,GeoBBox
,GeoCircle
,GeoDistanceShape
,GeoMembershipShape
,GeoPath
,GeoPointShape
,GeoPolygon
- All Known Implementing Classes:
GeoBaseCompositeShape
,GeoBaseDistanceShape
,GeoBaseMembershipShape
,GeoBaseShape
,GeoCompositeAreaShape
,GeoCompositeMembershipShape
,GeoCompositePolygon
,GeoDegenerateVerticalLine
public interface GeoShape extends Bounded, Membership, PlanetObject
Generic shape. This describes methods that help GeoAreas figure out how they interact with a shape, for the purposes of coming up with a set of geo hash values.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description GeoPoint[]
getEdgePoints()
Return a sample point that is on the outside edge/boundary of the shape.boolean
intersects(Plane plane, GeoPoint[] notablePoints, Membership... bounds)
Assess whether a plane, within the provided bounds, intersects with the shape's edges.-
Methods inherited from interface org.apache.lucene.spatial3d.geom.Membership
isWithin, isWithin
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.PlanetObject
getPlanetModel
-
Methods inherited from interface org.apache.lucene.spatial3d.geom.SerializableObject
write
-
-
-
-
Method Detail
-
getEdgePoints
GeoPoint[] getEdgePoints()
Return a sample point that is on the outside edge/boundary of the shape.- Returns:
- samples of all edge points from distinct edge sections. Typically one point is returned, but zero or two are also possible.
-
intersects
boolean intersects(Plane plane, GeoPoint[] notablePoints, Membership... bounds)
Assess whether a plane, within the provided bounds, intersects with the shape's edges. Any overlap, even a single point, is considered to be an intersection. Note well that this method is allowed to return "true" if there are internal edges of a composite shape which intersect the plane. Doing this can cause getRelationship() for most GeoBBox shapes to return OVERLAPS rather than the more correct CONTAINS, but that cannot be helped for some complex shapes that are built out of overlapping parts.- Parameters:
plane
- is the plane to assess for intersection with the shape's edges or bounding curves.notablePoints
- represents the intersections of the plane with the supplied bounds. These are used to disambiguate when two planes are identical and it needs to be determined whether any points exist that fulfill all the bounds.bounds
- are a set of bounds that define an area that an intersection must be within in order to qualify (provided by a GeoArea).- Returns:
- true if there's such an intersection, false if not.
-
-