Package org.apache.lucene.spatial3d.geom
Class XYZBounds
java.lang.Object
org.apache.lucene.spatial3d.geom.XYZBounds
- All Implemented Interfaces:
Bounds
An object for accumulating XYZ bounds information.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddHorizontalPlane
(PlanetModel planetModel, double latitude, Plane horizontalPlane, Membership... bounds) Add a horizontal plane to the bounds description.addIntersection
(PlanetModel planetModel, Plane plane1, Plane plane2, Membership... bounds) Add the intersection between two planes to the bounds description.addPlane
(PlanetModel planetModel, Plane plane, Membership... bounds) Add a general plane to the bounds description.Add a single point.addVerticalPlane
(PlanetModel planetModel, double longitude, Plane verticalPlane, Membership... bounds) Add a vertical plane to the bounds description.addXValue
(double x) Add a specific X value.Add an X value.addYValue
(double y) Add a specific Y value.Add a Y value.addZValue
(double z) Add a specific Z value.Add a Z value.Return the maximum X value.Return the maximum Y value.Return the maximum Z value.Return the minimum X value.Return the minimum Y value.Return the minimum Z value.boolean
isLargestMaxX
(PlanetModel planetModel) Return true if maxX is as large as the planet model allows.boolean
isLargestMaxY
(PlanetModel planetModel) Return true if maxY is as large as the planet model allows.boolean
isLargestMaxZ
(PlanetModel planetModel) Return true if maxZ is as large as the planet model allows.boolean
isSmallestMinX
(PlanetModel planetModel) Return true if minX is as small as the planet model allows.boolean
isSmallestMinY
(PlanetModel planetModel) Return true if minY is as small as the planet model allows.boolean
isSmallestMinZ
(PlanetModel planetModel) Return true if minZ is as small as the planet model allows.isWide()
Signal that the shape exceeds Math.PI in longitude.Signal that there is no bottom latitude bound.noBound
(PlanetModel planetModel) Signal that there is no bound whatsoever.Signal that there is no longitude bound.Signal that there is no top latitude bound.toString()
-
Constructor Details
-
XYZBounds
public XYZBounds()Construct an empty bounds object
-
-
Method Details
-
getMinimumX
Return the minimum X value.- Returns:
- minimum X value.
-
getMaximumX
Return the maximum X value.- Returns:
- maximum X value.
-
getMinimumY
Return the minimum Y value.- Returns:
- minimum Y value.
-
getMaximumY
Return the maximum Y value.- Returns:
- maximum Y value.
-
getMinimumZ
Return the minimum Z value.- Returns:
- minimum Z value.
-
getMaximumZ
Return the maximum Z value.- Returns:
- maximum Z value.
-
isSmallestMinX
Return true if minX is as small as the planet model allows.- Returns:
- true if minX has reached its bound.
-
isLargestMaxX
Return true if maxX is as large as the planet model allows.- Returns:
- true if maxX has reached its bound.
-
isSmallestMinY
Return true if minY is as small as the planet model allows.- Returns:
- true if minY has reached its bound.
-
isLargestMaxY
Return true if maxY is as large as the planet model allows.- Returns:
- true if maxY has reached its bound.
-
isSmallestMinZ
Return true if minZ is as small as the planet model allows.- Returns:
- true if minZ has reached its bound.
-
isLargestMaxZ
Return true if maxZ is as large as the planet model allows.- Returns:
- true if maxZ has reached its bound.
-
addPlane
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) 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) 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.
-
addXValue
Description copied from interface:Bounds
Add an X value. -
addXValue
Add a specific X value.- Parameters:
x
- is the value to add.- Returns:
- the bounds object.
-
addYValue
Description copied from interface:Bounds
Add a Y value. -
addYValue
Add a specific Y value.- Parameters:
y
- is the value to add.- Returns:
- the bounds object.
-
addZValue
Description copied from interface:Bounds
Add a Z value. -
addZValue
Add a specific Z value.- Parameters:
z
- is the value to add.- Returns:
- the bounds object.
-
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
Description copied from interface:Bounds
Add a single point. -
isWide
Description copied from interface:Bounds
Signal that the shape exceeds Math.PI in longitude. -
noLongitudeBound
Description copied from interface:Bounds
Signal that there is no longitude bound.- Specified by:
noLongitudeBound
in interfaceBounds
- Returns:
- the updated Bounds object.
-
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
Description copied from interface:Bounds
Signal that there is no bottom latitude bound.- Specified by:
noBottomLatitudeBound
in interfaceBounds
- Returns:
- the updated Bounds object.
-
noBound
Description copied from interface:Bounds
Signal that there is no bound whatsoever. The bound is limited only by the constraints of the planet. -
toString
-