Class XYZBounds

java.lang.Object
org.apache.lucene.spatial3d.geom.XYZBounds
All Implemented Interfaces:
Bounds

public class XYZBounds extends Object implements Bounds
An object for accumulating XYZ bounds information.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Constructor Details

    • XYZBounds

      public XYZBounds()
      Construct an empty bounds object
  • Method Details

    • getMinimumX

      public Double getMinimumX()
      Return the minimum X value.
      Returns:
      minimum X value.
    • getMaximumX

      public Double getMaximumX()
      Return the maximum X value.
      Returns:
      maximum X value.
    • getMinimumY

      public Double getMinimumY()
      Return the minimum Y value.
      Returns:
      minimum Y value.
    • getMaximumY

      public Double getMaximumY()
      Return the maximum Y value.
      Returns:
      maximum Y value.
    • getMinimumZ

      public Double getMinimumZ()
      Return the minimum Z value.
      Returns:
      minimum Z value.
    • getMaximumZ

      public Double getMaximumZ()
      Return the maximum Z value.
      Returns:
      maximum Z value.
    • isSmallestMinX

      public boolean isSmallestMinX(PlanetModel planetModel)
      Return true if minX is as small as the planet model allows.
      Returns:
      true if minX has reached its bound.
    • isLargestMaxX

      public boolean isLargestMaxX(PlanetModel planetModel)
      Return true if maxX is as large as the planet model allows.
      Returns:
      true if maxX has reached its bound.
    • isSmallestMinY

      public boolean isSmallestMinY(PlanetModel planetModel)
      Return true if minY is as small as the planet model allows.
      Returns:
      true if minY has reached its bound.
    • isLargestMaxY

      public boolean isLargestMaxY(PlanetModel planetModel)
      Return true if maxY is as large as the planet model allows.
      Returns:
      true if maxY has reached its bound.
    • isSmallestMinZ

      public boolean isSmallestMinZ(PlanetModel planetModel)
      Return true if minZ is as small as the planet model allows.
      Returns:
      true if minZ has reached its bound.
    • isLargestMaxZ

      public boolean isLargestMaxZ(PlanetModel planetModel)
      Return true if maxZ is as large as the planet model allows.
      Returns:
      true if maxZ has reached its bound.
    • addPlane

      public Bounds addPlane(PlanetModel planetModel, Plane plane, Membership... bounds)
      Description copied from interface: Bounds
      Add a general plane to the bounds description.
      Specified by:
      addPlane in interface Bounds
      Parameters:
      planetModel - is the planet model.
      plane - is the plane.
      bounds - are the membership bounds for points along the arc.
    • 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 interface Bounds
      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 interface Bounds
      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

      public Bounds addXValue(GeoPoint point)
      Description copied from interface: Bounds
      Add an X value.
      Specified by:
      addXValue in interface Bounds
      Parameters:
      point - is the point to take the x value from.
      Returns:
      the updated object.
    • addXValue

      public Bounds addXValue(double x)
      Add a specific X value.
      Parameters:
      x - is the value to add.
      Returns:
      the bounds object.
    • addYValue

      public Bounds addYValue(GeoPoint point)
      Description copied from interface: Bounds
      Add a Y value.
      Specified by:
      addYValue in interface Bounds
      Parameters:
      point - is the point to take the y value from.
      Returns:
      the updated object.
    • addYValue

      public Bounds addYValue(double y)
      Add a specific Y value.
      Parameters:
      y - is the value to add.
      Returns:
      the bounds object.
    • addZValue

      public Bounds addZValue(GeoPoint point)
      Description copied from interface: Bounds
      Add a Z value.
      Specified by:
      addZValue in interface Bounds
      Parameters:
      point - is the point to take the z value from.
      Returns:
      the updated object.
    • addZValue

      public Bounds addZValue(double z)
      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 interface Bounds
      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.
      Specified by:
      addPoint in interface Bounds
      Parameters:
      point - is the point.
      Returns:
      the updated Bounds object.
    • isWide

      public Bounds isWide()
      Description copied from interface: Bounds
      Signal that the shape exceeds Math.PI in longitude.
      Specified by:
      isWide in interface Bounds
      Returns:
      the updated Bounds object.
    • noLongitudeBound

      public Bounds noLongitudeBound()
      Description copied from interface: Bounds
      Signal that there is no longitude bound.
      Specified by:
      noLongitudeBound in interface Bounds
      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 interface Bounds
      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 interface Bounds
      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.
      Specified by:
      noBound in interface Bounds
      Returns:
      the updated Bounds object.,
    • toString

      public String toString()
      Overrides:
      toString in class Object