Re: [eigen] Re: RotationBase times DiagonalMatrix

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


I really want to make a comeback in Eigen but can't today:) will try
to have an opinion ASAP :)
Benoit

2011/8/2 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> Guys, does anybody have an opinion on this?
>
> - Hauke
>
> On Wed, Jul 27, 2011 at 2:49 PM, Hauke Heibel
> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>> Hi,
>>
>> the following code does not compile on my system:
>>
>>  Rotation2D<double>(M_PI/2) * DiagonalMatrix<double,2>(-1.0,1.0)
>>
>> Adding a)
>>
>> inline RotationMatrixType operator*(const DiagonalMatrix<Scalar,Dim>& s) const
>> { return toRotationMatrix() * s; }
>>
>> to RotationBase resolves this issue and its basically the same as what
>> we do for UniformScaling. Alternatively, b) is possible too:
>>
>> inline Transform<Scalar,Dim,AffineCompact> operator*(const
>> DiagonalMatrix<Scalar,Dim>& s) const
>> { return Transform<Scalar,Dim,AffineCompact>(*this) * s; }
>>
>> I want to add, that I am still not 100% happy with the use patterns of
>> such transformations. E.g.
>>
>> AffineCompact2d a = Rotation2D<double>(M_PI) * Translation2f(x,y);
>>
>> compiles, whereas
>>
>> AffineCompact2d a = Rotation2D<double>(M_PI/2) * Scaling(-1.0,1.0);
>>
>> does not with implementation a) but it does with implementation b).
>>
>> I would prefer implementation b) and I would also like to change right
>> away UniformScaling such that it accepts a
>> Transform<Scalar,Dim,AffineCompact>.
>>
>> It is also a little bit strange, that this code works
>>
>> AffineCompact2d a = Rotation2D<double>(M_PI) * Translation2f(x,y);
>>
>> and this does not
>>
>> AffineCompact2d a = Rotation2D<double>(M_PI);
>>
>> I think I understand the reasoning behind the explicit constructors
>> but on the other hand-side I am not sure whether potential temporaries
>> hurt more than the kind of awkward usage pattern. I mean these are all
>> tiny stack objects, right?
>>
>> Any comments would be really great, so I can act quickly. :)
>>
>> - Hauke
>>
>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/