Skip to content
Snippets Groups Projects
Commit a2df8a93 authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

Get rid of method exp(p, EmbeddedTangentVector) completely.

There is one copy which takes FieldVector<T,4> as its second argument.
Since EmbeddedTangentVector ( = Quaternion<T>) derives from FieldVector<T,4>,
that second implementation should work in all cases.

[[Imported from SVN: r9560]]
parent 3176314d
No related branches found
No related tags found
No related merge requests found
......@@ -277,27 +277,6 @@ public:
\param v A tangent vector in quaternion coordinates
*/
static Rotation<T,3> exp(const Rotation<T,3>& p, const EmbeddedTangentVector& v) {
assert( std::abs(p*v) < 1e-8 );
// The vector v as a quaternion
Quaternion<T> vQuat(v);
// left multiplication by the inverse base point yields a tangent vector at the identity
Quaternion<T> vAtIdentity = p.inverse().mult(vQuat);
assert( std::abs(vAtIdentity[3]) < 1e-8 );
// vAtIdentity as a skew matrix
SkewMatrix<T,3> vMatrix;
vMatrix.axial()[0] = 2*vAtIdentity[0];
vMatrix.axial()[1] = 2*vAtIdentity[1];
vMatrix.axial()[2] = 2*vAtIdentity[2];
// The actual exponential map
return exp(p, vMatrix);
}
static Rotation<T,3> exp(const Rotation<T,3>& p, const Dune::FieldVector<T,4>& v) {
assert( std::abs(p*v) < 1e-8 );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment