]> git.mxchange.org Git - simgear.git/commitdiff
Add dist and distSqr functions
authorfrohlich <frohlich>
Thu, 15 Jun 2006 19:13:24 +0000 (19:13 +0000)
committerfrohlich <frohlich>
Thu, 15 Jun 2006 19:13:24 +0000 (19:13 +0000)
simgear/math/SGVec3.hxx
simgear/math/SGVec4.hxx

index b08e18f78aff2f99ea4df5684852b472f8db197d..e6ea50aa8ec00d909953cfb2e36afba4f4675c40 100644 (file)
@@ -296,6 +296,20 @@ equivalent(const SGVec3<T>& v1, const SGVec3<T>& v2)
   return equivalent(v1, v2, tol, tol);
 }
 
+/// The euclidean distance of the two vectors
+template<typename T>
+inline
+T
+dist(const SGVec3<T>& v1, const SGVec3<T>& v2)
+{ return norm(v1 - v2); }
+
+/// The squared euclidean distance of the two vectors
+template<typename T>
+inline
+T
+distSqr(const SGVec3<T>& v1, const SGVec3<T>& v2)
+{ SGVec3<T> tmp = v1 - v2; return dot(tmp, tmp); }
+
 #ifndef NDEBUG
 template<typename T>
 inline
index b8c78050003c266b172a4bc232b699a5de9efb09..9df380d78698eaaf8f4446f73a0382e04b86d5a1 100644 (file)
@@ -248,6 +248,20 @@ equivalent(const SGVec4<T>& v1, const SGVec4<T>& v2)
   return equivalent(v1, v2, tol, tol);
 }
 
+/// The euclidean distance of the two vectors
+template<typename T>
+inline
+T
+dist(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{ return norm(v1 - v2); }
+
+/// The squared euclidean distance of the two vectors
+template<typename T>
+inline
+T
+distSqr(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{ SGVec4<T> tmp = v1 - v2; return dot(tmp, tmp); }
+
 #ifndef NDEBUG
 template<typename T>
 inline