Re: [eigen] Do we need geometry refactoring?

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


On Tue, Aug 3, 2010 at 12:05 PM, Manuel Yguel <manuel.yguel@xxxxxxxxx> wrote:
>> - Some users are happy because their old code keeps working
> Sorry, if I let pass that kind of frustration in my last mail :)

No sweat. You did not cause any frustration.

> The more general is generally the better for a default parameter
> however calling Transform3x a general 4d transformation is weird.

Why? I think I start to understand your confusion. Do you consider a
"Transform" to be affine and or isometric?

In our case the class for a general non-linear transformations is
called Transform and thus (IMHO), Transform3f should be as general
since the name is so close to the class name - it just implies
Dimensions = 3 and Scalar = float but the name does not give you any
hint that this should be affine. So the only thing I can safely assume
is that it is a general homogeneous transformation, as the docs state.

> If I understand correctly Hauke point, the graal  would be to detect
> the following programming mistake:
>  a composition of transformations with a non affine result used
> (thought as) an affine transform.
> I do not see how to do that really, but I agree with the goal.

This works now out of the box because unless you don't specify
(Affine3f = Transform<float,3,Affine>) it is assumed to be fully
projective. Your compilation will even break in case you use fixed
size types.

> Perhaps an alternative would be that Transform3x is Affine but not the
> default parameter of the class Transform ?

As I said. I don't like it because Transform3x implies a general
homogeneous 3D transformation but I accept your posting as a vote
against my proposal.

So 1:1. :)

- Hauke



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