Class S2PointRegion

  • All Implemented Interfaces:
    S2Region, java.io.Serializable, java.lang.Comparable<S2PointRegion>

    @GwtCompatible(serializable=true)
    public final class S2PointRegion
    extends java.lang.Object
    implements S2Region, java.lang.Comparable<S2PointRegion>, java.io.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:
    Serialized Form
    • Field Detail

      • 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:
        Constant Field Values
      • point

        private final S2Point point
    • Constructor Detail

      • S2PointRegion

        public S2PointRegion()
      • S2PointRegion

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

        public S2PointRegion​(S2Point point)
    • Method Detail

      • getPoint

        public S2Point getPoint()
      • getX

        public double getX()
      • getY

        public double getY()
      • getZ

        public double getZ()
      • equals

        public boolean equals​(java.lang.Object that)
        Overrides:
        equals in class java.lang.Object
      • compareTo

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

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

        public java.lang.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 java.lang.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
      • 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​(java.io.OutputStream os)
                    throws java.io.IOException
        Writes this point region to the given output stream.
        Throws:
        java.io.IOException
      • encode

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

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

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