Package org.apache.lucene.spatial3d.geom
Class LatLonBounds
- java.lang.Object
-
- org.apache.lucene.spatial3d.geom.LatLonBounds
-
-
Constructor Summary
Constructors Constructor Description LatLonBounds()
Construct an empty bounds object
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Bounds
addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)
Add a horizontal plane to the bounds description.Bounds
addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)
Add the intersection between two planes to the bounds description.Bounds
addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)
Add a general plane to the bounds description.Bounds
addPoint(GeoPoint point)
Add a single point.Bounds
addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)
Add a vertical plane to the bounds description.Bounds
addXValue(GeoPoint point)
Add an X value.Bounds
addYValue(GeoPoint point)
Add a Y value.Bounds
addZValue(GeoPoint point)
Add a Z value.boolean
checkNoBottomLatitudeBound()
Check if there's no bottom latitude bound.boolean
checkNoLongitudeBound()
Check if there's no longitude bound.boolean
checkNoTopLatitudeBound()
Check if there's no top latitude bound.Double
getLeftLongitude()
Get left longitude, if any.Double
getMaxLatitude()
Get maximum latitude, if any.Double
getMinLatitude()
Get minimum latitude, if any.Double
getRightLongitude()
Get right longitude, if any.Bounds
isWide()
Signal that the shape exceeds Math.PI in longitude.Bounds
noBottomLatitudeBound()
Signal that there is no bottom latitude bound.Bounds
noBound(PlanetModel planetModel)
Signal that there is no bound whatsoever.Bounds
noLongitudeBound()
Signal that there is no longitude bound.Bounds
noTopLatitudeBound()
Signal that there is no top latitude bound.
-
-
-
Method Detail
-
getMaxLatitude
public Double getMaxLatitude()
Get maximum latitude, if any.- Returns:
- maximum latitude or null.
-
getMinLatitude
public Double getMinLatitude()
Get minimum latitude, if any.- Returns:
- minimum latitude or null.
-
getLeftLongitude
public Double getLeftLongitude()
Get left longitude, if any.- Returns:
- left longitude, or null.
-
getRightLongitude
public Double getRightLongitude()
Get right longitude, if any.- Returns:
- right longitude, or null.
-
checkNoLongitudeBound
public boolean checkNoLongitudeBound()
Check if there's no longitude bound.- Returns:
- true if no longitude bound.
-
checkNoTopLatitudeBound
public boolean checkNoTopLatitudeBound()
Check if there's no top latitude bound.- Returns:
- true if no top latitude bound.
-
checkNoBottomLatitudeBound
public boolean checkNoBottomLatitudeBound()
Check if there's no bottom latitude bound.- Returns:
- true if no bottom latitude bound.
-
addPlane
public Bounds addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)
Description copied from interface:Bounds
Add a general plane to the bounds description.
-
addHorizontalPlane
public Bounds addHorizontalPlane(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds)
Description copied from interface:Bounds
Add a horizontal plane to the bounds description. This method should EITHER use the supplied latitude, OR use the supplied plane, depending on what is most efficient.- Specified by:
addHorizontalPlane
in interfaceBounds
- Parameters:
planetModel
- is the planet model.latitude
- is the latitude.horizontalPlane
- is the plane.bounds
- are the constraints on the plane.- Returns:
- updated Bounds object.
-
addVerticalPlane
public Bounds addVerticalPlane(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds)
Description copied from interface:Bounds
Add a vertical plane to the bounds description. This method should EITHER use the supplied longitude, OR use the supplied plane, depending on what is most efficient.- Specified by:
addVerticalPlane
in interfaceBounds
- Parameters:
planetModel
- is the planet model.longitude
- is the longitude.verticalPlane
- is the plane.bounds
- are the constraints on the plane.- Returns:
- updated Bounds object.
-
isWide
public Bounds isWide()
Description copied from interface:Bounds
Signal that the shape exceeds Math.PI in longitude.
-
addXValue
public Bounds addXValue(GeoPoint point)
Description copied from interface:Bounds
Add an X value.
-
addYValue
public Bounds addYValue(GeoPoint point)
Description copied from interface:Bounds
Add a Y value.
-
addZValue
public Bounds addZValue(GeoPoint point)
Description copied from interface:Bounds
Add a Z value.
-
addIntersection
public Bounds addIntersection(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds)
Description copied from interface:Bounds
Add the intersection between two planes to the bounds description. Where the shape has intersecting planes, it is better to use this method than just adding the point, since this method takes each plane's error envelope into account.- Specified by:
addIntersection
in interfaceBounds
- Parameters:
planetModel
- is the planet model.plane1
- is the first plane.plane2
- is the second plane.bounds
- are the membership bounds for the intersection.
-
addPoint
public Bounds addPoint(GeoPoint point)
Description copied from interface:Bounds
Add a single point.
-
noLongitudeBound
public Bounds noLongitudeBound()
Description copied from interface:Bounds
Signal that there is no longitude bound.- Specified by:
noLongitudeBound
in interfaceBounds
- Returns:
- the updated Bounds object.
-
noTopLatitudeBound
public Bounds noTopLatitudeBound()
Description copied from interface:Bounds
Signal that there is no top latitude bound.- Specified by:
noTopLatitudeBound
in interfaceBounds
- Returns:
- the updated Bounds object.
-
noBottomLatitudeBound
public Bounds noBottomLatitudeBound()
Description copied from interface:Bounds
Signal that there is no bottom latitude bound.- Specified by:
noBottomLatitudeBound
in interfaceBounds
- Returns:
- the updated Bounds object.
-
noBound
public Bounds noBound(PlanetModel planetModel)
Description copied from interface:Bounds
Signal that there is no bound whatsoever. The bound is limited only by the constraints of the planet.
-
-