|Re: [eigen] Rigid transformations in eigen: use of dual quaternions|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Rigid transformations in eigen: use of dual quaternions
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sat, 12 Sep 2009 16:34:23 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=l9PQYrhNw8JxsRhI1UR+HFF1sT/6Pk+/Uuq72q1yKNE=; b=FTg6MOYJYRJFB6Zl0iZubtUX7iZy1rk4vZf+XA4gUBdU8ioz6LjBs1N2dZaFF0GNKo UpcmMlufzTQQw3trzEDPuSdV+f2s1rZu7l9E1phFOrHZxPsHyxeHE2tH4xco64Otee8K AGHVo/HVMg40qQsDkL4cLKJPSsb3Q1hik6bqI=
- 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=WF7ZU7y+dRBW4zbjMkSRrsftQCC+um5LCAr6Srk5QlaIply7qubX/XmfWmdWgtOMH4 ABuupRiLWHeNLalEEZ+SoUUBuXAKYV7fzbMhyngVQgoQ1aWIUWXKKHIrur87C/XQEjMy eLgaO3IYxdN85M1l7EWyznbzLx8yw4zFbKa7Q=
2009/9/12 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> I don't have much right now to address all the issues raised in that
> thread, but at least:
> - here we are speaking about 4 scalars only, and so there is no
> advantage in using expression template (wrt performance). So here
> returning by value is fine.
really? for simple enough expressions, when there are enough
registers, OK, but for example, without vectorization, there won't be
enough registers on x86 to do s1*q1+s2*q2 efficiently, right?
> - I'm not in favor in adding operator+ and scalar multiple to the
> Quaternion class for the same reason than Benoit.
> - Quaternion::operator=(MatrixBase<>) is to convert a rotation matrix
> to a quaternion, so quat = q1.coeffs() + q2.coeffs(); won't work.
oops, i forgot about that. How about a meta selector to give a
different behavior depending on IsVectorAtCompileTime ?
> - I don't really llike the idea of adding operator() as shortcut for
> coeffs(), because, e.g., q1() looks very weird.Currently, the only
> use case is to write the DualQuaternion class, and here it is
> perfectly fine to use .coeffs().