Re: [eigen] Cumbersome syntax questions/feedback |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Hi Gael, On Sun, 2009-08-16 at 14:35 +0200, Gael Guennebaud wrote: > > What's the reason that Transform3f::inverse() returns a matrix type > > rather than a transform type? > > yes, that's weird that Transform::inverse() returns a Matrix and not a > Transform. This also surprised myself recently while it is probably me > who right it. Unless someone can refresh why it should return a > Matrix, I'm willing to change that (in both branches) Good news. I guess you might want to leave it as it is in the 2.0.x branch though, as returning a Transform type breaks existing code. > > Any special reason that Translation3f and friends doesn't have a > > matrix() method? Or am I doing something plain wrong here? > > hm, here you should really use the Transform class. We cannot have a > .matrix() class because we don't know what the user want. E.g, for > Translation shall we return a Dim+1 x Dim+1 matrix, or a compact Dim x > Dim+1 matrix ? For Scaling we could also return a Dim x Dim matrix. > Furthermore, Transform internally stores a Matrix, so the matrix() > function is free, while converting a Translation to a Matrix is not > free and costly to use. For instance, Transform3f * Translation3f is > compiled as a Matrix33 * Vector3 product that is something the > compiler cannot do by itself. Makes sense, thanks for the explanation. /Staffan
Attachment:
signature.asc
Description: This is a digitally signed message part
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |