Vecteur.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef VECTEUR_H_INCLUDED
  2. #define VECTEUR_H_INCLUDED
  3. #include <cmath>
  4. class Vec
  5. {
  6. public:
  7. Vec();
  8. Vec(float x, float y, float z = 0);
  9. Vec(const Vec &vecteur);
  10. ~Vec();
  11. void normaliser();
  12. float scalair(const Vec &vecteur) const;
  13. double norme() const;
  14. void rotateR(float angle); // angle en radians
  15. void rotateD(float angle); // angle en degrés
  16. float getX() const;
  17. float getY() const;
  18. float getZ() const;
  19. void setVecteur(float x, float y, float z = 0);
  20. void setX(float x);
  21. void setY(float y);
  22. void setZ(float z);
  23. Vec& operator=(const Vec &vecteur);
  24. Vec operator+(const Vec &vecteur);
  25. Vec operator-(const Vec &vecteur);
  26. Vec operator*(float multiplicateur);
  27. Vec operator/(float diviseur);
  28. Vec operator*(const Vec &vecteur);
  29. void operator*=(const Vec &vecteur);
  30. void operator-=(const Vec &vecteur);
  31. void operator+=(const Vec &vecteur);
  32. void operator*=(float multiplicateur);
  33. void operator/=(float multiplicateur);
  34. bool operator==(const Vec &vecteur);
  35. bool operator!=(const Vec &vecteur);
  36. private:
  37. float m_x;
  38. float m_y;
  39. float m_z;
  40. };
  41. #endif // VECTEUR_H_INCLUDED