Class AngleConverter

java.lang.Object
com.irurueta.units.AngleConverter

public class AngleConverter extends Object
Does angle conversions to different units. To prevent loss of accuracy, conversion should only be done as a final step before displaying angle measurements.
  • Field Details

    • DEGREES_AND_MINUTES

      private static final int DEGREES_AND_MINUTES
      Length for degrees and minutes.
      See Also:
    • DEGREES_MINUTES_AND_SECONDS

      private static final int DEGREES_MINUTES_AND_SECONDS
      Length for degrees, minutes and seconds.
      See Also:
    • DEGREES_TO_MINUTES

      private static final int DEGREES_TO_MINUTES
      Number of minutes on each degree.
      See Also:
    • MINUTES_TO_SECONDS

      private static final int MINUTES_TO_SECONDS
      Number of seconds on each minute.
      See Also:
  • Constructor Details

    • AngleConverter

      private AngleConverter()
      Constructor. Prevents instantiation of helper class.
  • Method Details

    • convert

      public static void convert(Angle input, Angle output)
      Converts an angle to provided output angle unit.
      Parameters:
      input - input angle to be converted.
      output - output angle where result will be stored and containing output unit.
    • convertAndReturnNew

      public static Angle convertAndReturnNew(Angle input, AngleUnit outputUnit)
      Converts an angle to requested output unit.
      Parameters:
      input - input angle to be converted.
      outputUnit - requested output unit.
      Returns:
      converted angle.
    • convert

      public static void convert(Angle angle, AngleUnit outputUnit)
      Converts and updates an angle to requested output unit.
      Parameters:
      angle - input angle to be converted and updated.
      outputUnit - requested output unit.
    • convert

      public static void convert(Angle input, AngleUnit outputUnit, Angle result)
      Converts an angle to requested output unit.
      Parameters:
      input - input angle to be converted.
      outputUnit - requested output unit.
      result - angle instance where result will be stored.
    • convert

      public static Number convert(Number input, AngleUnit inputUnit, AngleUnit outputUnit)
      Converts an angle value from input unit to provided output unit.
      Parameters:
      input - angle value.
      inputUnit - input angle unit.
      outputUnit - output angle unit.
      Returns:
      converted angle value.
    • convert

      public static double convert(double input, AngleUnit inputUnit, AngleUnit outputUnit)
      Converts an angle value from input unit to provided output unit.
      Parameters:
      input - angle value.
      inputUnit - input angle unit.
      outputUnit - output angle unit.
      Returns:
      converted angle value.
    • degreeToRadian

      public static double degreeToRadian(double degree)
      Converts provided degree value to radians.
      Parameters:
      degree - degree value.
      Returns:
      same angle converted to radians.
    • radianToDegree

      public static double radianToDegree(double radian)
      Converts provided radian value to degrees.
      Parameters:
      radian - radian value.
      Returns:
      same angle converted to degrees.
    • toDegreesAndMinutes

      public static void toDegreesAndMinutes(double value, AngleUnit unit, double[] result)
      Converts provided angle value and unit to integer degrees and decimal minutes.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      result - array where computed degrees and minutes will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 2.
    • toDegreesAndMinutes

      public static double[] toDegreesAndMinutes(double value, AngleUnit unit)
      Converts provided angle value and unit to integer degrees and decimal minutes.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      Returns:
      array containing degrees and minutes.
    • toDegreesAndMinutes

      public static void toDegreesAndMinutes(Number value, AngleUnit unit, double[] result)
      Converts provided angle value and unit to integer degrees and decimal minutes.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      result - array where computed degrees and minutes will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 2.
    • toDegreesAndMinutes

      public static double[] toDegreesAndMinutes(Number value, AngleUnit unit)
      Converts provided angle value and unit to integer degrees and decimal minutes.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      Returns:
      array containing degrees and minutes.
    • toDegreesAndMinutes

      public static void toDegreesAndMinutes(Angle angle, double[] result)
      Converts provided angle to integer degrees and decimal minutes.
      Parameters:
      angle - angle to be converted from.
      result - array where computed degrees and minutes will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 2.
    • toDegreesAndMinutes

      public static double[] toDegreesAndMinutes(Angle angle)
      Converts provided angle to integer degrees and decimal minutes.
      Parameters:
      angle - angle to be converted from.
      Returns:
      array containing degrees and minutes.
    • fromDegreesAndMinutes

      public static double fromDegreesAndMinutes(int degrees, double minutes, AngleUnit resultUnit)
      Gets angle value from provided integer degrees and decimal minutes.
      Parameters:
      degrees - integer degrees.
      minutes - decimal minutes.
      resultUnit - unit of returned value.
      Returns:
      decimal degrees.
      Throws:
      IllegalArgumentException - if minutes is negative.
    • fromDegreesAndMinutes

      public static void fromDegreesAndMinutes(int degrees, double minutes, Angle result)
      Gets angle from provided integer degrees and decimal minutes and sets the value into provided angle instance.
      Parameters:
      degrees - integer degrees.
      minutes - decimal minutes.
      result - instance where angle value and unit will be stored.
      Throws:
      IllegalArgumentException - if minutes is negative.
    • fromDegreesAndMinutesAndReturnNew

      public static Angle fromDegreesAndMinutesAndReturnNew(int degrees, double minutes, AngleUnit resultUnit)
      Gets new angle containing decimal degrees from provided integer degrees and decimal minutes.
      Parameters:
      degrees - integer degrees.
      minutes - decimal minutes.
      resultUnit - unit of returned value.
      Returns:
      a new angle containing computed decimal degrees.
      Throws:
      IllegalArgumentException - if minutes is negative.
    • toDegreesMinutesAndSeconds

      public static void toDegreesMinutesAndSeconds(double value, AngleUnit unit, double[] result)
      Converts provided angle value and unit to integer degrees, integer minutes and decimal seconds.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      result - array where computed degrees, minutes and seconds will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • toDegreesMinutesAndSeconds

      public static double[] toDegreesMinutesAndSeconds(double value, AngleUnit unit)
      Converts provided angle value and unit to integer degrees, integer minutes and decimal seconds.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      Returns:
      array containing degrees, minutes and seconds.
    • toDegreesMinutesAndSeconds

      public static void toDegreesMinutesAndSeconds(Number value, AngleUnit unit, double[] result)
      Converts provided angle value and unit to integer degrees, integer minutes and decimal seconds.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      result - array where computed degrees, minutes and seconds will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • toDegreesMinutesAndSeconds

      public static double[] toDegreesMinutesAndSeconds(Number value, AngleUnit unit)
      Converts provided angle value and unit to integer degrees, integer minutes and decimal seconds.
      Parameters:
      value - angle value to be converted from.
      unit - angle unit to be converted from.
      Returns:
      array containing degrees, minutes and seconds.
    • toDegreesMinutesAndSeconds

      public static void toDegreesMinutesAndSeconds(Angle angle, double[] result)
      Converts provided angle to integer degrees, integer minutes and decimal seconds.
      Parameters:
      angle - angle to be converted from.
      result - array where computed degrees and minutes will be stored.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • toDegreesMinutesAndSeconds

      public static double[] toDegreesMinutesAndSeconds(Angle angle)
      Converts provided angle to integer degrees, integer minutes and decimal seconds.
      Parameters:
      angle - angle to be converted from.
      Returns:
      array containing degrees and minutes.
    • fromDegreesMinutesAndSeconds

      public static double fromDegreesMinutesAndSeconds(int degrees, int minutes, double seconds, AngleUnit resultUnit)
      Gets decimal degrees from provided integer degrees, integer minutes and decimal seconds.
      Parameters:
      degrees - integer degrees.
      minutes - integer minutes.
      seconds - decimal seconds.
      resultUnit - unit of returned value.
      Returns:
      decimal degrees.
      Throws:
      IllegalArgumentException - if minutes or seconds are negative.
    • fromDegreesMinutesAndSeconds

      public static void fromDegreesMinutesAndSeconds(int degrees, int minutes, double seconds, Angle result)
      Gets decimal degrees from provided integer degrees, integer minutes and decimal seconds and sets the value into provided angle instance.
      Parameters:
      degrees - integer degrees.
      minutes - integer minutes.
      seconds - decimal seconds.
      result - instance where angle value and unit will be stored.
      Throws:
      IllegalArgumentException - if minutes or seconds are negative.
    • fromDegreesMinutesAndSecondsAndReturnNew

      public static Angle fromDegreesMinutesAndSecondsAndReturnNew(int degrees, int minutes, double seconds, AngleUnit resultUnit)
      Gets new angle containing decimal degrees from provided integer degrees, integer minutes and decimal seconds.
      Parameters:
      degrees - integer degrees.
      minutes - integer minutes.
      seconds - decimal seconds.
      resultUnit - unit of returned value.
      Returns:
      a new angle containing computed decimal degrees.
      Throws:
      IllegalArgumentException - if minutes or seconds are negative.