Skip to content

Commit af50a13

Browse files
author
Chris Foster
committed
Implement matrix() for some Rotation types
Also make error messages more helpful
1 parent 9f37696 commit af50a13

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/commontransformations.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ such that
2121
"""
2222
abstract AbstractAffineTransformation <: Transformation
2323

24-
matrix(::AbstractAffineTransformation) = error("AbstractAffineTransformation's must implement matrix()")
25-
translation(::AbstractAffineTransformation) = error("AbstractAffineTransformation's must implement translation()")
24+
matrix(trans::AbstractAffineTransformation) = error("AbstractAffineTransformation $(typeof(trans)) must implement matrix()")
25+
translation(trans::AbstractAffineTransformation) = error("AbstractAffineTransformation $(typeof(trans)) must implement translation()")
2626
translation_reverse(::AbstractAffineTransformation) = matrix(trans) \ translation(trans)
2727

2828
# Default implementations
@@ -67,7 +67,7 @@ for optimization purposes.
6767
"""
6868
abstract AbstractLinearTransformation <: AbstractAffineTransformation
6969

70-
matrix(::AbstractLinearTransformation) = error("AbstractLinearTransformation's must implement matrix()")
70+
matrix(trans::AbstractLinearTransformation) = error("AbstractLinearTransformation $(typeof(trans)) must implement matrix()")
7171
function translation(trans::AbstractLinearTransformation)
7272
m = matrix(trans)
7373
s = size(m, 1)
@@ -273,7 +273,7 @@ function matrix(trans::Rotation2D)
273273
trans.sin trans.cos ]
274274
end
275275

276-
function transform_deriv(trans::Rotation2D, x)
276+
function matrix(trans::Rotation2D)
277277
@fsa [ trans.cos -trans.sin;
278278
trans.sin trans.cos ]
279279
end
@@ -362,7 +362,7 @@ end
362362

363363
@compat (trans::Rotation)(x::Tuple) = Tuple(trans(Vec(x)))
364364

365-
transform_deriv(trans::Rotation, x) = trans.matrix # It's a linear transformation, so this is easy!
365+
matrix(trans::Rotation) = trans.matrix
366366
@inline matrix(trans::Rotation2D) = trans.matrix
367367

368368

0 commit comments

Comments
 (0)