Re: [eigen] Do we need geometry refactoring?

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


Here is an initial patch. It does not yet fix everything and actually
lead to more problems and issues.

Currently, this operator is causing a little head-ache

  template<typename OtherDerived> friend
  inline AffineTransformType Translation::operator*(const
EigenBase<OtherDerived>& linear, const Translation& t)

In particular because it is also used for transformations. It got
really bad since I added this change to RotationBase

  inline Transform<Scalar,Dim,Isometry> operator*(const
Translation<Scalar,Dim>& t) const

.... which makes sense for me but what happens now is this ...

  Affine = Affine * (Quaternion * Translation)
  Affine = Affine * Isometry( MatrixRepresentingQuaternion * Translation )
  Affine = Affine * Isometry( Affine !?!? ) <-- crash

I would suggest Translation gets an operator*(const Transform<...>& M,
const Translation& t) and the result is a Transform<...>.

- Hauke

Attachment: geo.patch
Description: Binary data



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