SUPER Space invader : Turbo edition DX - VS GOD 1.0.0
A simple space invader ripoff
line.h
Go to the documentation of this file.
1
11#ifndef LINE_H
12#define LINE_H
13
14#include "shape.h"
15
16#include "../transition/itransitionable.h"
17
18namespace nsShape
19{
20
26{
27
28public:
40 };
41
50 Line(const nsGraphics::Vec2D& firstPosition, const nsGraphics::Vec2D& secondPosition, const nsGraphics::RGBAcolor& fillColor, const float& lineWidth = 1.f);
51
56 virtual ~Line() override = default;
57
58 virtual void draw(MinGL& window) const override;
59
60 virtual void getValues(const int &id, std::vector<float> &values) override;
61 virtual void setValues(const int &id, const std::vector<float> &values) override;
62
68 Line operator+(const nsGraphics::Vec2D& position) const;
69
75 Line operator*(const float& f) const;
76
82
88 void setFirstPosition(const nsGraphics::Vec2D &firstPosition);
89
95
101 void setSecondPosition(const nsGraphics::Vec2D &secondPosition);
102
107 float getLineWidth() const;
108
114 void setLineWidth(float lineWidth);
115
116private:
120 nsGraphics::Vec2D m_firstPosition;
121
125 nsGraphics::Vec2D m_secondPosition;
126
130 float m_lineWidth;
131
132}; // class Line
133
134} // namespace nsShape
135
136#endif // LINE_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 représentant une ligne.
Definition: line.h:26
const nsGraphics::Vec2D & getSecondPosition() const
Récupère la Position du second sommet de la ligne.
TransitionIds
TransitionIds : Liste de toutes les transitions que cet élément peut exécuter.
Definition: line.h:32
@ TRANSITION_FILL_COLOR_ALPHA
Definition: line.h:34
@ TRANSITION_SECOND_POSITION
Definition: line.h:38
@ TRANSITION_LINE_WIDTH
Definition: line.h:39
@ TRANSITION_FILL_COLOR_RGB
Definition: line.h:33
@ TRANSITION_BORDER_COLOR_RGB
Definition: line.h:35
@ TRANSITION_BORDER_COLOR_ALPHA
Definition: line.h:36
@ TRANSITION_FIRST_POSITION
Definition: line.h:37
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é
virtual ~Line() override=default
Destructeur virtuel pour la classe Line.
const nsGraphics::Vec2D & getFirstPosition() const
Récupère la Position du premier sommet de la ligne.
void setFirstPosition(const nsGraphics::Vec2D &firstPosition)
Définit la nouvelle Position du premier sommet de la ligne.
Line(const nsGraphics::Vec2D &firstPosition, const nsGraphics::Vec2D &secondPosition, const nsGraphics::RGBAcolor &fillColor, const float &lineWidth=1.f)
Constructeur pour la classe Line.
Line operator*(const float &f) const
Opérateur de réduction.
virtual void setValues(const int &id, const std::vector< float > &values) override
Définit les nouvelles valeurs pour l'ID spécifié
float getLineWidth() const
Récupère l'épaisseur de la ligne.
void setLineWidth(float lineWidth)
Définit la nouvelle épaisseur de la ligne.
void setSecondPosition(const nsGraphics::Vec2D &secondPosition)
Définit la nouvelle Position du second sommet de la ligne.
Line operator+(const nsGraphics::Vec2D &position) const
Opérateur de décalage.
virtual void draw(MinGL &window) const override
Fonction pour afficher l'objet.
Classe de base pour une forme.
Definition: shape.h:30
Une classe abstraite pour n'importe quelle élément pouvant effectuer une transition entre deux états.
Espace de nom pour différentes formes.
Definition: circle.h:19
Représente une forme.