From 90454e3381d66236a45d2584ed9b05f20bd792eb Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 10 Feb 2010 21:10:59 +0000 Subject: [PATCH] Unit vectors in R^n, or, equivalently, members of S^{n-1} [[Imported from SVN: r5524]] --- src/unitvector.hh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/unitvector.hh diff --git a/src/unitvector.hh b/src/unitvector.hh new file mode 100644 index 00000000..e2fbdf17 --- /dev/null +++ b/src/unitvector.hh @@ -0,0 +1,33 @@ +#ifndef UNIT_VECTOR_HH +#define UNIT_VECTOR_HH + +#include <dune/common/fvector.hh> + +template <int dim> +class UnitVector +{ +public: + + typedef Dune::FieldVector<double,dim> TangentVector; + typedef Dune::FieldVector<double,dim> EmbeddedTangentVector; + + UnitVector<dim>& operator=(const Dune::FieldVector<double,dim>& vector) + { + data_ = vector; + data_ /= data_.two_norm(); + return *this; + } + + /** \brief Write LocalKey object to output stream */ + friend std::ostream& operator<< (std::ostream& s, const UnitVector& unitVector) + { + return s << unitVector.data_; + } + + +private: + + Dune::FieldVector<double,dim> data_; +}; + +#endif -- GitLab