Vecteur.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. float getX() const;
  12. float getY() const;
  13. float getZ() const;
  14. void setVecteur(float x, float y, float z);
  15. void setX(float x);
  16. void setY(float y);
  17. void setZ(float z);
  18. void normaliser();
  19. Vec& operator=(const Vec &vecteur);
  20. Vec operator+(const Vec &vecteur);
  21. Vec operator-(const Vec &vecteur);
  22. Vec operator*(float multiplicateur);
  23. Vec operator/(float diviseur);
  24. Vec operator*(const Vec &vecteur);
  25. void operator*=(const Vec &vecteur);
  26. void operator-=(const Vec &vecteur);
  27. void operator+=(const Vec &vecteur);
  28. void operator*=(float multiplicateur);
  29. void operator/=(float multiplicateur);
  30. float scalair(const Vec &vecteur);
  31. bool operator==(const Vec &vecteur);
  32. bool operator!=(const Vec &vecteur);
  33. double norme();
  34. void rotateR(float angle); // angle en radians
  35. void rotateD(float angle); // angle en degrées
  36. private:
  37. float m_x;
  38. float m_y;
  39. float m_z;
  40. };
  41. #endif // VECTEUR_H_INCLUDED