|Re: [eigen] Do we need geometry refactoring?|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Do we need geometry refactoring?
- From: Manuel Yguel <manuel.yguel@xxxxxxxxx>
- Date: Tue, 3 Aug 2010 14:09:56 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type; bh=oWWXeg+LU7l8gvIsmt/ELNyEqF/V/WAJm17+YP4Rhz8=; b=omMy8FkT2m8Lw17513ErSVTZ6Sqj0eljpauLHZ4Ydsw4zrH7FrPilOBY14twV059Ub AOI6WYf0HjkVFye/wJuo4BsG5ugHioBJLWeXg+Y9eNmdFqNpwBFTo0eeCgvNpJzJWrVH aj5gkwWnaP4ovcpSG86VvKzGfP+TJJaZHd+qY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=qzaBpNH0heo6qkY5c9NTMHmrS6h/3HL01TeLCc6dyz9wDIpX3674gaCc2E2HKbvlVs SFQI+mr5Is5oEu+QJhrGAbIPE7rLPkhSHcVybqi7epWeka7ij77hXCUq4TdF+tXt5Z7V v7NfWYcdqLjJiITjf55tAtUPAaM/n8eOlxWc0=
> Why? I think I start to understand your confusion. Do you consider a
> "Transform" to be affine and or isometric?
something more general: a (N+1)x(N+1) linear application as I
understand that is what the Transform class can be.
In my opinion, the main interesting part of this kind of API is to
allow easy definition of rotations and to mix them with other kind of
> In our case the class for a general non-linear transformations is
linear transformation in (N+1)x(N+1) space, or do I miss some
restriction on what a transform can be ?
> called Transform and thus (IMHO), Transform3f should be as general
> since the name is so close to the class name
In this case I vote for Transform3x == Affine3w != Transform<X,3>
(default parameter to Projective)
which is a slightly different from what you proposed before
because otherwise I think that people will use Matrix4x instead of Transform
> 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.
that is very nice!
>> 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
In my mind there was no such concept, the closest concept I come with
is the concept of a 4D linear transformation, so I think it is
confusing to use Transform3x for that.
But if a typedef is really needed for such a thing ... perhaps it is
better to pick something else.