|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: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Mon, 16 Aug 2010 11:14:58 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.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=ldNP6LKCPpl3844QooqS2/gxDRdfp/xnTI0y5kCtYuU=; b=QrofwWtrTxkDzSj8vSsDKba1bDiMkmA3tSOZkmzDlizyrMjAj9RxGrPro1R95lRkvd ghQ1DPQPhbRGws7GXOoOnWqH5a5fGtSbDp6iUmC1VOm6OzKx4xZYftU+/tuG/zEY7/nT RzpLTNzAhETvy2niC9ryzIw5c4seSbxZBESIk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=L7ACjfZJEC6kSeT29RrpujSqohcqoparfu/j1aPYXrWT+xDAtjqQIVzzbyU0ugBvap xtMvfayQv0WePb0rtONrOR3RamrUZJVHnNqGz0zFR7zXk6Xblra2lDQO3WZPRlQojcdi /Wx0zsmdz8hTaZlS+wHfMHUY76Obi+kU8OXbA=
2010/8/16 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 2010/8/16 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>> 2010/8/3 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>>> On Tue, Aug 3, 2010 at 3:53 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>>>>> - It is unintuitive that the most generic Transformation is affine
>>>> Let's focus on this point because it looks crucial to me. The most
>>>> generic transformation is definitely projective, there's no question
>>>> about that, the questions discussed here are:
>>>> a) what should the default value for Mode be?
>>>> b) what should the Transform3f (etc) typedefs stand for?
>>>> Obviously, a typedef named "Transform3f" has to use the default mode,
>>>> but at the same time that name "Transform3f" does suggest something
>>>> generic, whence the confusion in this discussion between "default" and
>>> Right, you nailed it. So, we agree that Transform3f is likely to
>>> suggest something generic.
>>>> What do you think about this plan:
>>>> - we just remove the Transform3f... typedefs. We just force the user
>>>> to use the mode-specific typedefs such as Affine3f, Projective3f, etc.
>>>> - we don't give Mode any default value.
>>>> - in the tutorials, we focus (at least at the start) on Affine
>>>> transforms, Affine3f etc, so that the intuitive idea that 3D-transform
>>>> * 3D-vector gives a 3D-vector. Of course we then do explain other
>>>> kinds of transform.
>>> Sound like a plan. Gael, do you have any opinion?
>> Hauke: the geo_hyperplane test fails to build at the moment, something
>> related to Transform and some matrix not having the right size. This
>> is most probably related to your change, no?
> Ah, great, Gael had fixed that already, I should have grabbed the
> newest changes.
....except that the tests are still failing at runtime,
Eigen::Transform<Scalar, Dim, Mode>::Transform(const
Eigen::Transform<_Scalar, Dim, OtherMode>&) [with int OtherMode = 32,
_Scalar = double, int _Dim = 3, int _Mode = 2]: Assertion
`OtherMode!=Projective && "You cannot directly assign a projective
transform to an affine one."' failed.
I'm going to write to the list about tightening our commit policy (i'd
like to request that we run all tests before pushing anything, etc).
> The question below about transform() still remains, though.
>> Also: the Hyperplane::transform() methods are still taking a
>> TransformTraits runtime parameter, which we probably want to get rid
>>> - Hauke