summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/geometry/vector.tcc
diff options
context:
space:
mode:
authorhaller2005-05-01 00:34:40 +0000
committerhaller2005-05-01 00:34:40 +0000
commit8cee2782fd70e4c19196b5fdede00ffe92808b6b (patch)
tree7e2f76ce62a420a3e054dba982d90d4d042417fc /2005/i/robert/src/geometry/vector.tcc
parent11fbb3acd0e0c699143556e951f0e372bb1eca1b (diff)
Correction de bugs pour vector
Ajout d'un programme de test pour vector Ajout du Makefile.defs dans le répertoire geometry Ca compile mais je soupçonne des erreurs
Diffstat (limited to '2005/i/robert/src/geometry/vector.tcc')
-rw-r--r--2005/i/robert/src/geometry/vector.tcc21
1 files changed, 11 insertions, 10 deletions
diff --git a/2005/i/robert/src/geometry/vector.tcc b/2005/i/robert/src/geometry/vector.tcc
index 12120b0..7b6fa86 100644
--- a/2005/i/robert/src/geometry/vector.tcc
+++ b/2005/i/robert/src/geometry/vector.tcc
@@ -107,9 +107,9 @@ VectorT<T>::operator* (const VectorT<T> &v) const
/// Calcule la norme.
template<typename T>
T
-VectorT::norm (void)
+VectorT<T>::norm (void) const
{
- return sqrt (x * x + y * y);
+ return static_cast<T>(sqrt (x * x + y * y)); // XXX Il est propre le static_cast??
}
/// Normalise.
@@ -140,28 +140,29 @@ VectorT<T> &
VectorT<T>::rotate (T angle)
{
T tx = x;
- T c, s;
- sincos (angle, *s, *c);
- x = tx * c - y * s;
- y = tx * s + y * c;
+ double c, s;
+ sincos (angle, &s, &c);
+ x = static_cast<T>(tx * c - y * s); // XXX C'est propre ça?
+ y = static_cast<T>(tx * s + y * c);
+ return *this;
}
/// Distance à un autre point.
template<typename T>
T
-VectorT::distTo (const VectorT<T> &v) const
+VectorT<T>::distTo (const VectorT<T> &v) const
{
- return sqrt (sqDistTo (v));
+ return static_cast<T>(sqrt (sqDistTo (v))); // XXX propre??
}
/// Distance à un autre point au carré.
template<typename T>
T
-VectorT::sqDistTo (const VectorT<T> &v) const
+VectorT<T>::sqDistTo (const VectorT<T> &v) const
{
double dx = x - v.x;
double dy = y - v.y;
- return dx * dx + dy * dy;
+ return static_cast<T>(dx * dx + dy * dy);
}
/// Multiplication.