Class S1Angle

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

@GwtCompatible(serializable=true) public final class S1Angle extends Object implements Comparable<S1Angle>, Serializable
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    A builder of S1Angle instances.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final S1Angle
    An angle larger than any finite angle.
    private final double
     
    static final S1Angle
    An explicit shorthand for the default constructor.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
    The default constructor yields a zero angle.
    private
    S1Angle(double radians)
     
     
    Return the angle between two points, which is also equal to the distance between these points on the unit sphere.
  • Method Summary

    Modifier and Type
    Method
    Description
    Retuns an S1Angle whose angle is (this + a).
    int
     
    double
    cos()
    Returns the trigonometric cosine of the angle.
    double
    Returns the angle in degrees.
    static S1Angle
    degrees(double degrees)
    Returns a new S1Angle converted from degrees.
    double
    distance(double radius)
    Returns the distance along the surface of a sphere of the given radius.
    div(double d)
    Retuns an S1Angle whose angle is (this / d).
    int
    e5()
    Returns angle in tens of microdegrees, rounded to the nearest ten microdegrees.
    static S1Angle
    e5(int e5)
    Returns a new S1Angle converted from tens of microdegrees.
    int
    e6()
    Returns angle in microdegrees, rounded to the nearest microdegree.
    static S1Angle
    e6(int e6)
    Returns a new S1Angle converted from microdegrees.
    int
    e7()
    Returns angle in tenths of a microdegree, rounded to the nearest tenth of a microdegree.
    static S1Angle
    e7(int e7)
    Returns a new S1Angle converted from tenths of a microdegree.
    boolean
    equals(Object that)
     
    boolean
     
    boolean
     
    int
     
    boolean
     
    boolean
     
    static S1Angle
    max(S1Angle left, S1Angle right)
     
    static S1Angle
    min(S1Angle left, S1Angle right)
     
    mul(double m)
    Retuns an S1Angle whose angle is (this * m).
    neg()
     
    Returns the angle normalized to the range (-180, 180] degrees.
    double
    Returns the angle in radians.
    static S1Angle
    radians(double radians)
    Returns a new S1Angle specified in radians.
    double
    sin()
    Returns the trigonometric sine of the angle.
    Retuns an S1Angle whose angle is (this - a).
    double
    tan()
    Returns the trigonometric tangent of the angle.
    Creates a new Builder initialized to a copy of this angle.
    Writes the angle in degrees with a "d" suffix, e.g.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • INFINITY

      public static final S1Angle INFINITY
      An angle larger than any finite angle.
    • ZERO

      public static final S1Angle ZERO
      An explicit shorthand for the default constructor.
    • radians

      private final double radians
  • Constructor Details

    • S1Angle

      public S1Angle()
      The default constructor yields a zero angle.
    • S1Angle

      private S1Angle(double radians)
    • S1Angle

      public S1Angle(S2Point x, S2Point y)
      Return the angle between two points, which is also equal to the distance between these points on the unit sphere. The points do not need to be normalized.
  • Method Details

    • radians

      public double radians()
      Returns the angle in radians.
    • degrees

      public double degrees()
      Returns the angle in degrees.
    • e5

      public int e5()
      Returns angle in tens of microdegrees, rounded to the nearest ten microdegrees.

      Normalized angles will never overflow an int.

      Throws:
      IllegalArgumentException - if the result overflows an int
    • e6

      public int e6()
      Returns angle in microdegrees, rounded to the nearest microdegree.

      Normalized angles will never overflow an int.

      Throws:
      IllegalArgumentException - if the result overflows an int
    • e7

      public int e7()
      Returns angle in tenths of a microdegree, rounded to the nearest tenth of a microdegree.

      Normalized angles will never overflow an int.

      Throws:
      IllegalArgumentException - if the result overflows an int
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object
    • lessThan

      public boolean lessThan(S1Angle that)
    • greaterThan

      public boolean greaterThan(S1Angle that)
    • lessOrEquals

      public boolean lessOrEquals(S1Angle that)
    • greaterOrEquals

      public boolean greaterOrEquals(S1Angle that)
    • max

      public static S1Angle max(S1Angle left, S1Angle right)
    • min

      public static S1Angle min(S1Angle left, S1Angle right)
    • radians

      public static S1Angle radians(double radians)
      Returns a new S1Angle specified in radians.
    • degrees

      public static S1Angle degrees(double degrees)
      Returns a new S1Angle converted from degrees. Note that degrees(x).degrees() == x may not hold due to inexact arithmetic.
    • e5

      public static S1Angle e5(int e5)
      Returns a new S1Angle converted from tens of microdegrees.
    • e6

      public static S1Angle e6(int e6)
      Returns a new S1Angle converted from microdegrees.
    • e7

      public static S1Angle e7(int e7)
      Returns a new S1Angle converted from tenths of a microdegree.
    • distance

      public double distance(double radius)
      Returns the distance along the surface of a sphere of the given radius.
    • neg

      public S1Angle neg()
    • add

      Retuns an S1Angle whose angle is (this + a).
    • sub

      Retuns an S1Angle whose angle is (this - a).
    • mul

      @CheckReturnValue public S1Angle mul(double m)
      Retuns an S1Angle whose angle is (this * m).
    • div

      @CheckReturnValue public S1Angle div(double d)
      Retuns an S1Angle whose angle is (this / d).
    • cos

      public double cos()
      Returns the trigonometric cosine of the angle.
    • sin

      public double sin()
      Returns the trigonometric sine of the angle.
    • tan

      public double tan()
      Returns the trigonometric tangent of the angle.
    • normalize

      @CheckReturnValue public S1Angle normalize()
      Returns the angle normalized to the range (-180, 180] degrees.
    • toString

      public String toString()
      Writes the angle in degrees with a "d" suffix, e.g. "17.3745d". By default 6 digits are printed; this can be changed using setprecision(). Up to 17 digits are required to distinguish one angle from another.
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(S1Angle that)
      Specified by:
      compareTo in interface Comparable<S1Angle>
    • toBuilder

      public S1Angle.Builder toBuilder()
      Creates a new Builder initialized to a copy of this angle.