Class LatLonBounds

  • All Implemented Interfaces:
    Bounds

    public class LatLonBounds
    extends Object
    implements Bounds
    An object for accumulating latitude/longitude bounds information.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Constructor Detail

      • LatLonBounds

        public LatLonBounds()
        Construct an empty bounds object
    • 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.
        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)
        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 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)
        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 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.,