SUPER Space invader : Turbo edition DX - VS GOD 1.0.0
A simple space invader ripoff
triangle.h
Go to the documentation of this file.
1
11#ifndef TRIANGLE_H
12#define TRIANGLE_H
13
14#include "shape.h"
15
16#include "../transition/itransitionable.h"
17
18namespace nsShape
19{
20
26{
27
28public:
40 };
41
52 Triangle(const nsGraphics::Vec2D& firstPosition, const nsGraphics::Vec2D& secondPosition, const nsGraphics::Vec2D& thirdPosition,
53 const nsGraphics::RGBAcolor& fillColor, const nsGraphics::RGBAcolor& borderColor = nsGraphics::KTransparent);
54
59 virtual ~Triangle() override = default;
60
61 virtual void draw(MinGL& window) const override;
62
63 virtual void getValues(const int &id, std::vector<float> &values) override;
64 virtual void setValues(const int &id, const std::vector<float> &values) override;
65
71 Triangle operator+(const nsGraphics::Vec2D& position) const;
72
78 Triangle operator*(const float& f) const;
79
85
91 void setFirstPosition(const nsGraphics::Vec2D &firstPosition);
92
98
104 void setSecondPosition(const nsGraphics::Vec2D &secondPosition);
105
111
117 void setThirdPosition(const nsGraphics::Vec2D &thirdPosition);
118
119private:
123 nsGraphics::Vec2D m_firstPosition;
124
128 nsGraphics::Vec2D m_secondPosition;
129
133 nsGraphics::Vec2D m_thirdPosition;
134
135}; // class Triangle
136
137} // namespace nsShape
138
139#endif // TRIANGLE_H
Classe de base de minGL 2.
Definition: mingl.h:35
Classe représentant un couleur RGBA8888.
Definition: rgbacolor.h:26
Classe représentant un vecteur deux-dimensionnel.
Definition: vec2d.h:26
Classe de base pour une forme.
Definition: shape.h:30
Classe représentant un triangle.
Definition: triangle.h:26
const nsGraphics::Vec2D & getSecondPosition() const
Récupère la Position du second sommet du triangle.
void setSecondPosition(const nsGraphics::Vec2D &secondPosition)
Définit la nouvelle Position du second sommet du triangle.
virtual void draw(MinGL &window) const override
Fonction pour afficher l'objet.
Triangle(const nsGraphics::Vec2D &firstPosition, const nsGraphics::Vec2D &secondPosition, const nsGraphics::Vec2D &thirdPosition, const nsGraphics::RGBAcolor &fillColor, const nsGraphics::RGBAcolor &borderColor=nsGraphics::KTransparent)
Constructeur pour la classe Triangle.
virtual void getValues(const int &id, std::vector< float > &values) override
Récupère des valeurs dans un vecteur de float pour l'ID spécifié
void setThirdPosition(const nsGraphics::Vec2D &thirdPosition)
Définit la nouvelle Position du troisième sommet du triangle.
Triangle operator+(const nsGraphics::Vec2D &position) const
Opérateur de décalage.
const nsGraphics::Vec2D & getThirdPosition() const
Récupère la Position du troisième sommet du triangle.
void setFirstPosition(const nsGraphics::Vec2D &firstPosition)
Définit la nouvelle Position du premier sommet du triangle.
const nsGraphics::Vec2D & getFirstPosition() const
Récupère la Position du premier sommet du triangle.
TransitionIds
TransitionIds : Liste de toutes les transitions que cet élément peut exécuter.
Definition: triangle.h:32
@ TRANSITION_SECOND_POSITION
Definition: triangle.h:38
@ TRANSITION_BORDER_COLOR_RGB
Definition: triangle.h:35
@ TRANSITION_BORDER_COLOR_ALPHA
Definition: triangle.h:36
@ TRANSITION_FILL_COLOR_ALPHA
Definition: triangle.h:34
@ TRANSITION_THIRD_POSITION
Definition: triangle.h:39
@ TRANSITION_FILL_COLOR_RGB
Definition: triangle.h:33
@ TRANSITION_FIRST_POSITION
Definition: triangle.h:37
Triangle operator*(const float &f) const
Opérateur de réduction.
virtual ~Triangle() override=default
Destructeur virtuel pour la classe Triangle.
virtual void setValues(const int &id, const std::vector< float > &values) override
Définit les nouvelles valeurs pour l'ID spécifié
Une classe abstraite pour n'importe quelle élément pouvant effectuer une transition entre deux états.
const RGBAcolor KTransparent
Definition: rgbacolor.h:173
Espace de nom pour différentes formes.
Definition: circle.h:19
Représente une forme.