Class S1Point

  • All Implemented Interfaces:
    java.io.Serializable, Point<Sphere1D>

    public class S1Point
    extends java.lang.Object
    implements Point<Sphere1D>
    This class represents a point on the 1-sphere.

    Instances of this class are guaranteed to be immutable.

    Since:
    3.3
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static S1Point NaN
      A vector with all coordinates set to NaN.
    • Constructor Summary

      Constructors 
      Constructor Description
      S1Point​(double alpha)
      Simple constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double distance​(Point<Sphere1D> point)
      Compute the distance between the instance and another point.
      static double distance​(S1Point p1, S1Point p2)
      Compute the distance (angular separation) between two points.
      boolean equals​(java.lang.Object other)
      Test for the equality of two points on the 2-sphere.
      double getAlpha()
      Get the azimuthal angle \( \alpha \).
      Space getSpace()
      Get the space to which the point belongs.
      Vector2D getVector()
      Get the corresponding normalized vector in the 2D euclidean space.
      int hashCode()
      Get a hashCode for the 2D vector.
      boolean isNaN()
      Returns true if any coordinate of this point is NaN; false otherwise
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NaN

        public static final S1Point NaN
        A vector with all coordinates set to NaN.
    • Constructor Detail

      • S1Point

        public S1Point​(double alpha)
        Simple constructor. Build a vector from its coordinates
        Parameters:
        alpha - azimuthal angle \( \alpha \)
        See Also:
        getAlpha()
    • Method Detail

      • getAlpha

        public double getAlpha()
        Get the azimuthal angle \( \alpha \).
        Returns:
        azimuthal angle \( \alpha \)
        See Also:
        S1Point(double)
      • getVector

        public Vector2D getVector()
        Get the corresponding normalized vector in the 2D euclidean space.
        Returns:
        normalized vector
      • getSpace

        public Space getSpace()
        Get the space to which the point belongs.
        Specified by:
        getSpace in interface Point<Sphere1D>
        Returns:
        containing space
      • isNaN

        public boolean isNaN()
        Returns true if any coordinate of this point is NaN; false otherwise
        Specified by:
        isNaN in interface Point<Sphere1D>
        Returns:
        true if any coordinate of this point is NaN; false otherwise
      • distance

        public double distance​(Point<Sphere1D> point)
        Compute the distance between the instance and another point.
        Specified by:
        distance in interface Point<Sphere1D>
        Parameters:
        point - second point
        Returns:
        the distance between the instance and p
      • distance

        public static double distance​(S1Point p1,
                                      S1Point p2)
        Compute the distance (angular separation) between two points.
        Parameters:
        p1 - first vector
        p2 - second vector
        Returns:
        the angular separation between p1 and p2
      • equals

        public boolean equals​(java.lang.Object other)
        Test for the equality of two points on the 2-sphere.

        If all coordinates of two points are exactly the same, and none are Double.NaN, the two points are considered to be equal.

        NaN coordinates are considered to affect globally the vector and be equals to each other - i.e, if either (or all) coordinates of the 2D vector are equal to Double.NaN, the 2D vector is equal to NaN.

        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - Object to test for equality to this
        Returns:
        true if two points on the 2-sphere objects are equal, false if object is null, not an instance of S2Point, or not equal to this S2Point instance
      • hashCode

        public int hashCode()
        Get a hashCode for the 2D vector.

        All NaN values have the same hash code.

        Overrides:
        hashCode in class java.lang.Object
        Returns:
        a hash code value for this object