diff --git a/lib/src/angle.dart b/lib/src/angle.dart new file mode 100644 index 0000000..9a60754 --- /dev/null +++ b/lib/src/angle.dart @@ -0,0 +1,31 @@ +import 'dart:math'; + +class Angle implements Comparable { + /* + * The value of this Angle object in degrees. + */ + final double _angle; + + ///degrees to radians + static const double degree_to_rad = PI / 180.0; + + ///radians to degrees + static const double rad_to_degree = 180.0 / PI; + + Angle.fromDegrees({double value : 0.0}): _angle = value; + Angle.fromRadians({double value: 0.0}): _angle = value * rad_to_degree; + + double get inDegrees => _angle; + double get inRadians => _angle * degree_to_rad; + + /** + * Compares this Angle to [other], returning zero if the values are equal. + * + * Returns a negative integer if this `Angle` is shorter than + * [other], or a positive integer if it is longer. + * + * A negative `Angle` is always considered shorter than a positive one. + * + */ + int compareTo(Angle other) => _angle.compareTo(other._angle); +} \ No newline at end of file diff --git a/lib/src/length.dart b/lib/src/length.dart index 7107d36..37cfe4c 100644 --- a/lib/src/length.dart +++ b/lib/src/length.dart @@ -1,9 +1,4 @@ -import 'dart:math'; - class Length implements Comparable { - /// 1 meter - static const double _one_meter = 0.999999690624; - ///meters to kilometers: meters * 10^-3 static const double _m_to_km = 0.001; /// meters to miles: meters * 6.21371192 * 10^-4