SUPER Space invader : Turbo edition DX - VS GOD 1.0.0
A simple space invader ripoff
vec2d.h
Go to the documentation of this file.
1
11#ifndef VEC2D_H
12#define VEC2D_H
13
14#include <ostream>
15
16#include "../tools/ieditable.h"
17
18namespace nsGraphics
19{
20
26{
27
28public:
35 Vec2D(const int& x = 0, const int& y = 0);
36
42 Vec2D(const Vec2D& pos);
43
49
55
61 Vec2D operator+(const Vec2D& pos) const;
62
68 Vec2D operator-(const Vec2D& pos) const;
69
75 Vec2D operator*(const Vec2D& pos) const;
76
82 Vec2D operator*(const float& n) const;
83
89 Vec2D operator/(const Vec2D& pos) const;
90
96 Vec2D operator/(const float& n) const;
97
103 Vec2D operator%(const Vec2D& pos) const;
104
110 bool operator==(const Vec2D& pos) const;
111
117 bool operator!=(const Vec2D& pos) const;
118
125 bool operator<(const Vec2D& pos) const;
126
133 bool operator>(const Vec2D& pos) const;
134
141 bool operator<=(const Vec2D& pos) const;
142
149 bool operator>=(const Vec2D& pos) const;
150
156 Vec2D& operator=(const Vec2D& pos);
157
163 Vec2D& operator+=(const Vec2D& pos);
164
170 Vec2D& operator-=(const Vec2D& pos);
171
177 Vec2D& operator*=(const Vec2D& pos);
178
184 Vec2D& operator/=(const Vec2D& pos);
185
191 Vec2D& operator%=(const Vec2D& pos);
192
199 static Vec2D min(const Vec2D& p1, const Vec2D& p2);
200
207 static bool minf(const Vec2D& p1, const Vec2D& p2);
208
215 bool isColliding(Vec2D firstCorner, Vec2D secondCorner) const;
216
222 double computeMagnitude() const;
223
229 int getX() const;
230
236 void setX(int x);
237
243 int getY() const;
244
250 void setY(int y);
251
252protected:
253 virtual std::ostream& _Edit(std::ostream& os = std::cout) const override;
254
255private:
259 int m_x;
260
264 int m_y;
265
266}; // class Vec2D
267
268} // namespace nsGraphics
269
270#endif // VEC2D_H
Classe représentant un vecteur deux-dimensionnel.
Definition: vec2d.h:26
Vec2D & operator=(const Vec2D &pos)
Opérateur d'assignement.
Vec2D & operator/=(const Vec2D &pos)
Opérateur de division avec assignement.
bool operator>(const Vec2D &pos) const
Opérateur de stricte supériorité (Vérifie la stricte supériorité de la magnitude des deux vecteurs)
Vec2D operator-() const
Opérateur unaire moins.
Vec2D operator%(const Vec2D &pos) const
Opérateur modulo.
bool operator>=(const Vec2D &pos) const
Opérateur de supériorité (Vérifie la supériorité de la magnitude des deux vecteurs)
Vec2D(const int &x=0, const int &y=0)
Constructeur pour la classe Vec2D.
Vec2D & operator%=(const Vec2D &pos)
Opérateur modulo avec assignement.
Vec2D operator+(const Vec2D &pos) const
Opérateur d'addition.
Vec2D operator-(const Vec2D &pos) const
Opérateur de soustraction.
virtual std::ostream & _Edit(std::ostream &os=std::cout) const override
Fonction appelée pour injecter l'objet courant dans un flux.
Vec2D & operator*=(const Vec2D &pos)
Opérateur de multiplication avec assignement.
static bool minf(const Vec2D &p1, const Vec2D &p2)
Retourne vrai si le premier vecteur est le plus petit des deux.
Vec2D operator*(const float &n) const
Opérateur de multiplication.
static Vec2D min(const Vec2D &p1, const Vec2D &p2)
Retourne le vecteur le plus petit entre les deux passés en argument.
bool operator==(const Vec2D &pos) const
Opérateur d'égalité
bool isColliding(Vec2D firstCorner, Vec2D secondCorner) const
Retourne vrai si le vecteur actuel est compris entre deux vecteurs formant un rectangle.
Vec2D & operator-=(const Vec2D &pos)
Opérateur de soustraction avec assignement.
Vec2D operator/(const Vec2D &pos) const
Opérateur de division.
Vec2D & operator+=(const Vec2D &pos)
Opérateur d'addition avec assignement.
int getX() const
Récupère la Position X (abscisse)
void setY(int y)
Définit la nouvelle Position Y (ordonnée)
bool operator<(const Vec2D &pos) const
Opérateur de stricte infériorité (Vérifie la stricte infériorité de la magnitude des deux vecteurs)
Vec2D operator+() const
Opérateur unaire plus.
double computeMagnitude() const
Calcule la magnitude de ce vecteur.
Vec2D operator/(const float &n) const
Opérateur de division.
Vec2D(const Vec2D &pos)
Constructeur de recopie pour la classe Vec2D.
int getY() const
Récupère la Position Y (ordonnée)
void setX(int x)
Définit la nouvelle Position X (abscisse)
bool operator<=(const Vec2D &pos) const
Opérateur d'infériorité (Vérifie l'infériorité de la magnitude des deux vecteurs)
Vec2D operator*(const Vec2D &pos) const
Opérateur de multiplication.
bool operator!=(const Vec2D &pos) const
Opérateur d'inégalité
Interface pour un objet injectable.
Definition: ieditable.h:38
Espace de nom pour les utilitaires graphiques.
Definition: idrawable.h:16