From ade91397e03c35eb44cd7ded9b23d92780fd554d Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Thu, 2 Sep 2010 07:29:55 +0000
Subject: [PATCH] add constructors from FieldVector and Dune::array

[[Imported from SVN: r6309]]
---
 dune/gfe/unitvector.hh | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/dune/gfe/unitvector.hh b/dune/gfe/unitvector.hh
index 4c55ab40..960a0a45 100644
--- a/dune/gfe/unitvector.hh
+++ b/dune/gfe/unitvector.hh
@@ -60,6 +60,25 @@ public:
     typedef Dune::FieldVector<double,dim-1> TangentVector;
 
     typedef Dune::FieldVector<double,dim> EmbeddedTangentVector;
+    
+    /** \brief Default constructor */
+    UnitVector()
+    {}
+    
+    /** \brief Constructor from a vector.  The vector gets normalized */
+    UnitVector(const Dune::FieldVector<double,dim>& vector)
+        : data_(vector)
+    {
+        data_ /= data_.two_norm();
+    }
+    
+    /** \brief Constructor from an array.  The array gets normalized */
+    UnitVector(const Dune::array<double,dim>& vector)
+    {
+        for (int i=0; i<dim; i++)
+            data_[i] = vector[i];
+        data_ /= data_.two_norm();
+    }
 
     UnitVector<dim>& operator=(const Dune::FieldVector<double,dim>& vector)
     {
-- 
GitLab