The main reason to define a rotation with an angle in degree is to take advantage of the guaranteed-exact functions cosd and sind, e.g. Angle2d(90°)^4 is guaranteed to be the identity.
With the last version of this package, this is not the case:
julia> r=Angle2d(90°)
2×2 Angle2d{Float64} with indices SOneTo(2)×SOneTo(2)(1.5708):
6.12323e-17 -1.0
1.0 6.12323e-17
julia> r.theta
1.5707963267948966
A (relatively simple) fix is replacing the one-parameter type Angle2d{T} by Angle2d{T,A}, where A is the angle type. (However, the bad news is that once this is solved for Angle2d, it needs to be replicated for all other angle-based types).
The main reason to define a rotation with an angle in degree is to take advantage of the guaranteed-exact functions
cosd
andsind
, e.g.Angle2d(90°)^4
is guaranteed to be the identity.With the last version of this package, this is not the case:
A (relatively simple) fix is replacing the one-parameter type
Angle2d{T}
byAngle2d{T,A}
, whereA
is the angle type. (However, the bad news is that once this is solved forAngle2d
, it needs to be replicated for all other angle-based types).