18#include <GLFW/glfw3.h>
19#include <initializer_list>
43 Shape(GLfloat *vertices, GLsizeiptr verticesSize, GLuint *indices,
44 GLsizeiptr indicesSize);
64 void initShape(GLfloat *vertices, GLsizeiptr verticesSize,
65 GLuint *indices, GLsizeiptr indicesSize);
87 void setSize(
float x_,
float y_);
154 void setColor(
int x_,
int y_,
int z_);
211 void move(
float x_,
float y_);
252 Vector2f nOrigin,
float nRotation,
float nAlpha);
254 void Draw(GLint *renderUniforms)
const override;
306 void Draw(GLint *renderUniforms)
const override;
Class Parent de tous ce qui peut être dessiné par une Scene.
Definition bbopGlobal.h:94
Gère un cercle.
Definition shapeClass.h:326
void buildConvex()
Recalcule la géometrie du cercle.
Definition shapeClass.cpp:579
float radius
Definition shapeClass.h:372
int getNPointCircle() const
Renvoie le nombre de point du cercle.
Definition shapeClass.cpp:608
float getRadius() const
Renvoie le rayon du cercle.
Definition shapeClass.cpp:600
int nPointCircle
Definition shapeClass.h:373
void setRadius(float nRadius)
Change le rayon du cercle.
Definition shapeClass.cpp:594
void setNPointCircle(int nnPoint)
Change le nombre de point du cercle.
Definition shapeClass.cpp:602
gère une boîte de collision
Definition collisionBoxClass.h:28
Gère une convex.
Definition shapeClass.h:269
Vector2f * listPoint
Definition shapeClass.h:312
void updateVBORGB() override
Definition shapeClass.cpp:513
void initConvex(int nnPoint, Vector2f *nlistPoint)
Initialise la convex comme le constructeur.
Definition shapeClass.cpp:418
void buildVAO() override
Definition shapeClass.cpp:443
void updateVBOAlpha() override
Definition shapeClass.cpp:529
int nPoint
Definition shapeClass.h:311
void Draw(GLint *renderUniforms) const override
Déssine l'objet héritant de la class.
Definition shapeClass.cpp:538
ConvexShape & operator=(const ConvexShape &other)
Definition shapeClass.cpp:399
~ConvexShape()
Definition shapeClass.cpp:436
GLuint * indices
Definition shapeClass.h:310
void updateVBO() override
Definition shapeClass.cpp:494
GLfloat * vertices
Definition shapeClass.h:309
ConvexShape()
Constructeur par défault de la convex.
Definition shapeClass.cpp:383
Gère un rectangle/carré
Definition shapeClass.h:235
GLfloat vertices[24]
Definition shapeClass.h:257
void updateVBOAlpha() override
Definition shapeClass.cpp:334
GLuint indices[6]
Definition shapeClass.h:258
RectangleShape()
Constructeur par défault du rectangle.
Definition shapeClass.cpp:208
void updateVBO() override
Definition shapeClass.cpp:285
void updateVBORGB() override
Definition shapeClass.cpp:320
void Draw(GLint *renderUniforms) const override
Déssine l'objet héritant de la class.
Definition shapeClass.cpp:277
void buildVAO() override
Definition shapeClass.cpp:214
Class parente de toutes les formes géométriques(RectangleShape, ConvexShape, CircleShape,...
Definition shapeClass.h:38
CollisionBox & getCollisionBox()
Renvoie la boîte de collision de Shape.
Definition shapeClass.cpp:175
virtual void updateVBO()=0
void setAutoUpdateCollision(bool etat)
Change l'état de l'automatisation de la mise a jour de la boîte de collision.
Definition shapeClass.cpp:177
const Vector2f & getPosition() const
Renvoie la position du Shape.
Definition shapeClass.cpp:167
virtual void updateVBOAlpha()=0
VAO shapeVAO
Definition shapeClass.h:214
void setRotation(float nRotation)
Change la rotation de la Shape.
Definition shapeClass.cpp:131
void initShape(GLfloat *vertices, GLsizeiptr verticesSize, GLuint *indices, GLsizeiptr indicesSize)
Initialise la Shape comme sont constructeur.
Definition shapeClass.cpp:53
VBO shapeVBO
Definition shapeClass.h:215
void setAlpha(float nAlpha)
Change la transaprence de la Shape.
Definition shapeClass.cpp:139
const Vector3i & getColor() const
Renvoie la couleur de Shape.
Definition shapeClass.cpp:169
void move(const Vector2f &vecM)
Déplace la Shape.
Definition shapeClass.cpp:145
float alpha
Definition shapeClass.h:224
virtual void updateVBORGB()=0
const Vector2f & getSize() const
Renvoie la Taille du Shape.
Definition shapeClass.cpp:163
const Vector2f & getOrigin() const
Renvoie l'origine de la Shape.
Definition shapeClass.cpp:165
virtual void buildVAO()=0
Vector2f size
Definition shapeClass.h:218
Vector3i RGB
Definition shapeClass.h:220
void setOrigin(const Vector2f &nOrigin)
Change l'origine de la Shape.
Definition shapeClass.cpp:98
~Shape()
Destructeur de shape.
Definition shapeClass.cpp:37
void setSize(const Vector2f &nSize)
Change la taille du Shape.
Definition shapeClass.cpp:60
Shape()
Constructeur par défault de Shape.
Definition shapeClass.cpp:29
CollisionBox shapeCollisionBox
Definition shapeClass.h:223
bool autoUpdateCollision
Definition shapeClass.h:221
void setColor(const Vector3i &nRGB)
Change la couleur de Shape.
Definition shapeClass.cpp:117
Vector2f pos
Definition shapeClass.h:217
void setPosition(const Vector2f &nPos)
Change la position du Shape.
Definition shapeClass.cpp:79
EBO shapeEBO
Definition shapeClass.h:216
Vector2f origin
Definition shapeClass.h:219
float rotation
Definition shapeClass.h:222
float getAlpha() const
Renvoie la transaprence du la Shape.
Definition shapeClass.cpp:173
float getRotation() const
Renvoie la rotation de la Shape.
Definition shapeClass.cpp:171
Definition bbopMathClass.h:47
Definition bbopMathClass.h:80