Class S2PointRegion

java.lang.Object
com.google.common.geometry.S2PointRegion
All Implemented Interfaces:
S2Region, Serializable, Comparable<S2PointRegion>

@GwtCompatible(serializable=true) public final class S2PointRegion extends Object implements S2Region, Comparable<S2PointRegion>, Serializable
An S2PointRegion is a region that contains a single point. It is more expensive than the raw S2Point type and is useful mainly for completeness.
See Also:
  • Field Details

    • POINT_REGION_LOSSLESS_ENCODING_VERSION

      private static final byte POINT_REGION_LOSSLESS_ENCODING_VERSION
      The byte in a stream that signifies the lossless encoding of an S2PointRegion follows.
      See Also:
    • point

      private final S2Point point
  • Constructor Details

    • S2PointRegion

      public S2PointRegion()
    • S2PointRegion

      public S2PointRegion(double x, double y, double z)
    • S2PointRegion

      public S2PointRegion(S2Point point)
  • Method Details

    • getPoint

      public S2Point getPoint()
    • getX

      public double getX()
    • getY

      public double getY()
    • getZ

      public double getZ()
    • equals

      public boolean equals(Object that)
      Overrides:
      equals in class Object
    • lessThan

      public boolean lessThan(S2PointRegion vb)
    • compareTo

      public int compareTo(S2PointRegion other)
      Specified by:
      compareTo in interface Comparable<S2PointRegion>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toDegreesString

      public String toDegreesString()
    • hashCode

      public int hashCode()
      Calcualates hashcode based on stored coordinates. Since we want +0.0 and -0.0 to be treated the same, we ignore the sign of the coordinates.
      Overrides:
      hashCode in class Object
    • contains

      public boolean contains(S2Cell cell)
      Description copied from interface: S2Region
      If this method returns true, the region completely contains the given cell. Otherwise, either the region does not contain the cell or the containment relationship could not be determined.
      Specified by:
      contains in interface S2Region
    • contains

      public boolean contains(S2Point p)
      Description copied from interface: S2Region
      Returns true if and only if the given point is contained by the region. p is generally required to be unit length, although some subtypes may relax this restriction.
      Specified by:
      contains in interface S2Region
    • getCapBound

      public S2Cap getCapBound()
      Description copied from interface: S2Region
      Return a bounding spherical cap.
      Specified by:
      getCapBound in interface S2Region
    • getRectBound

      public S2LatLngRect getRectBound()
      Description copied from interface: S2Region
      Return a bounding latitude-longitude rectangle.
      Specified by:
      getRectBound in interface S2Region
    • mayIntersect

      public boolean mayIntersect(S2Cell cell)
      Description copied from interface: S2Region
      If this method returns false, the region does not intersect the given cell. Otherwise, either region intersects the cell, or the intersection relationship could not be determined.
      Specified by:
      mayIntersect in interface S2Region
    • encode

      public void encode(OutputStream os) throws IOException
      Writes this point region to the given output stream.
      Throws:
      IOException
    • encode

      void encode(LittleEndianOutput os) throws IOException
      Writes this point region to the given little endian output stream.
      Throws:
      IOException
    • decode

      public static S2PointRegion decode(InputStream is) throws IOException
      Returns a new S2PointRegion decoded from the given input stream.
      Throws:
      IOException
    • decode

      static S2PointRegion decode(LittleEndianInput is) throws IOException
      Returns a new S2PointRegion decoded from the given little endian input stream.
      Throws:
      IOException