degMinSec property

List<double> get degMinSec

Returns an array of three values representing the value of this Angle in degrees, minutes arc and seconds arc. The first value (degrees) may be either positive or negative; the other two values will be positive.

Implementation

List<double> get degMinSec {
  final dms = List<double>.generate(3, (_) => 0.0, growable: false);

  final decimalDegrees = valueInUnits(degrees).toDouble();

  // Degrees
  dms[0] = decimalDegrees.toInt().toDouble();

  // Minutes
  final remainder1 = decimalDegrees.abs() - dms[0].abs();
  final decimalMinutes = remainder1 * 60.0;
  dms[1] = decimalMinutes.toInt().toDouble();

  // Seconds
  final remainder2 = decimalMinutes - dms[1];
  dms[2] = remainder2 * 60.0;

  return dms;
}