|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: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Thu, 29 Jul 2010 14:33:39 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=spuqWMan8U9CcEqP6ZbnVdc+csQu/w/pQgplIXbdW/A=; b=gVITbBQpjO/JLQROkgoiHrVZihHoJR6AzQOQf9gfUEPOgBWys4zkOVPphVFdlKmL2Z w8tN7/wxrYcXiZnBkY4CDKhvfiV0A8tSC4jYkgoD9OOW+Azy4N8XcTvGw0NpcU7onxeU /PKOBXO9GQapQPyZY4fK6LdepY1ULRNuz+J18=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=SZ7sDxJq4c7vBuRJfj9ixy8n/HqafUQpLRMiM5Q2rsvdDo/z4BUDLcONHqnKvuPQ1Q ahWy6vKjbvMeXzMw4hooxssDC8Tz69ZUIn4jTFxnmsAVtf5KMKrAr2HezrtWZ/r8GHFz 0HZMtIiwqVIKjugbemvqk6BcXe3dJ8/OVVras=
2010/7/29 Adolfo Rodríguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxxx>:
> - The introduction of the Mode template parameter looks promising, but it
> does not (yet) seem to be fully in use. For example, the inverse method does
> not take much advantage of it, and still uses the hint TransformTraits
> parameter. Will the hint parameter be preserved once the Mode template
> parameter is better supported?.
One could get rid of the if clauses by template specialization and a
helper. IIRC, Gael did not want this for inverse() but the hint
parameter is currently defaulted to the correct value. So if you just
call Transform::inverse() it will use the right method.
> - For Mode=Isometry (which does not seem to be documented yet) the
> transformation should be stored as a (Dim)x(Dim+1) matrix, as in the
> AffineCompact case, right?.
I think currently Isometry is not memory efficient. One would need to
add a new type or what I would prefer something like this
Projective, Affine, Isometry, Compact
Transform<double,3,Affine | Compact>
What would be convenient too were if we would allow to directly assign
fixed size types.
m = Vector3d::Zero();
True, we can do that via m.vector() = Vector3d::Zero() but still.