Bbop-Library 0.4.1-alpha
Opengl library to build 2d apps and game that implement a light system named Lumop
 
Loading...
Searching...
No Matches
Shape Class Referenceabstract

Class parente de toutes les formes géométriques(RectangleShape, ConvexShape, CircleShape, Sprite) More...

#include <shapeClass.h>

Inheritance diagram for Shape:
BbopDrawable ConvexShape RectangleShape Sprite CircleShape AnimatedSprite NoTextureSprite

Public Member Functions

 Shape (GLfloat *vertices, GLsizeiptr verticesSize, GLuint *indices, GLsizeiptr indicesSize)
 Constructeur de Shape.
 
 Shape ()
 Constructeur par défault de Shape.
 
 Shape (const Shape &other)
 Constructeur par copie de shape.
 
 ~Shape ()
 Destructeur de shape.
 
void initShape (GLfloat *vertices, GLsizeiptr verticesSize, GLuint *indices, GLsizeiptr indicesSize)
 Initialise la Shape comme sont constructeur.
 
const Vector2fgetSize () const
 Renvoie la Taille du Shape.
 
void setSize (const Vector2f &nSize)
 Change la taille du Shape.
 
void setSize (float x_, float y_)
 Change la taille du Shape.
 
const Vector2fgetPosition () const
 Renvoie la position du Shape.
 
void setPosition (const Vector2f &nPos)
 Change la position du Shape.
 
void setPosition (float x_, float y_)
 Change la position de la Shape.
 
const Vector2fgetOrigin () const
 Renvoie l'origine de la Shape.
 
void setOrigin (const Vector2f &nOrigin)
 Change l'origine de la Shape.
 
void setOrigin (float x_, float y_)
 Change l'origine de la Shape.
 
const Vector3igetColor () const
 Renvoie la couleur de Shape.
 
void setColor (const Vector3i &nRGB)
 Change la couleur de Shape.
 
void setColor (int x_, int y_, int z_)
 Change la couleur de Shape.
 
float getAlpha () const
 Renvoie la transaprence du la Shape.
 
void setAlpha (float nAlpha)
 Change la transaprence de la Shape.
 
float getRotation () const
 Renvoie la rotation de la Shape.
 
void setRotation (float nRotation)
 Change la rotation de la Shape.
 
CollisionBoxgetCollisionBox ()
 Renvoie la boîte de collision de Shape.
 
void setAutoUpdateCollision (bool etat)
 Change l'état de l'automatisation de la mise a jour de la boîte de collision.
 
void move (const Vector2f &vecM)
 Déplace la Shape.
 
void move (float x_, float y_)
 Déplace la Shape.
 
- Public Member Functions inherited from BbopDrawable
virtual void Draw (GLint *renderUniforms) const =0
 Déssine l'objet héritant de la class.
 

Protected Member Functions

virtual void buildVAO ()=0
 
virtual void updateVBO ()=0
 
virtual void updateVBORGB ()=0
 
virtual void updateVBOAlpha ()=0
 

Protected Attributes

VAO shapeVAO
 
VBO shapeVBO
 
EBO shapeEBO
 
Vector2f pos
 
Vector2f size
 
Vector2f origin
 
Vector3i RGB
 
bool autoUpdateCollision
 
float rotation
 
CollisionBox shapeCollisionBox
 
float alpha
 

Detailed Description

Class parente de toutes les formes géométriques(RectangleShape, ConvexShape, CircleShape, Sprite)

Elle stock et gère tous les attribut de base d'une forme géométrique comme sa position ou encore sa couleur

Attention
Certaine Shape utilise des attributs de cette class parent de manière différente donc renseignez vous sur les shapes que vous utilisez
Todo

Optimiser les constructeurs des Shape

Gérer l'héritage de Geometric sur Shape

Constructor & Destructor Documentation

◆ Shape() [1/3]

Shape::Shape ( GLfloat * vertices,
GLsizeiptr verticesSize,
GLuint * indices,
GLsizeiptr indicesSize )

Constructeur de Shape.

◆ Shape() [2/3]

Shape::Shape ( )

Constructeur par défault de Shape.

◆ Shape() [3/3]

Shape::Shape ( const Shape & other)

Constructeur par copie de shape.

◆ ~Shape()

Shape::~Shape ( )

Destructeur de shape.

Member Function Documentation

◆ buildVAO()

virtual void Shape::buildVAO ( )
protectedpure virtual

Implemented in Sprite.

◆ getAlpha()

float Shape::getAlpha ( ) const

Renvoie la transaprence du la Shape.

Returns
alpha

◆ getCollisionBox()

CollisionBox & Shape::getCollisionBox ( )

Renvoie la boîte de collision de Shape.

Returns
shapeCollisionBox

◆ getColor()

const Vector3i & Shape::getColor ( ) const

Renvoie la couleur de Shape.

Returns
RGB couleur

◆ getOrigin()

const Vector2f & Shape::getOrigin ( ) const

Renvoie l'origine de la Shape.

Returns
origin

◆ getPosition()

const Vector2f & Shape::getPosition ( ) const

Renvoie la position du Shape.

Returns
pos position

◆ getRotation()

float Shape::getRotation ( ) const

Renvoie la rotation de la Shape.

Returns
rotation

◆ getSize()

const Vector2f & Shape::getSize ( ) const

Renvoie la Taille du Shape.

Returns
size taille

◆ initShape()

void Shape::initShape ( GLfloat * vertices,
GLsizeiptr verticesSize,
GLuint * indices,
GLsizeiptr indicesSize )

Initialise la Shape comme sont constructeur.

◆ move() [1/2]

void Shape::move ( const Vector2f & vecM)

Déplace la Shape.

Parameters
[in]vecMvecteur de mouvement

◆ move() [2/2]

void Shape::move ( float x_,
float y_ )

Déplace la Shape.

Parameters
[in]x_distance en x
[in]y_distance en y

◆ setAlpha()

void Shape::setAlpha ( float nAlpha)

Change la transaprence de la Shape.

Parameters
[in]nAlphatransparence

◆ setAutoUpdateCollision()

void Shape::setAutoUpdateCollision ( bool etat)

Change l'état de l'automatisation de la mise a jour de la boîte de collision.

Parameters
[in]etatactivation

◆ setColor() [1/2]

void Shape::setColor ( const Vector3i & nRGB)

Change la couleur de Shape.

Parameters
[in]nRGBcouleur en rgb

◆ setColor() [2/2]

void Shape::setColor ( int x_,
int y_,
int z_ )

Change la couleur de Shape.

Parameters
[in]x_rouge
[in]y_vert
[in]z_bleu

◆ setOrigin() [1/2]

void Shape::setOrigin ( const Vector2f & nOrigin)

Change l'origine de la Shape.

Parameters
[in]nOriginorigin

◆ setOrigin() [2/2]

void Shape::setOrigin ( float x_,
float y_ )

Change l'origine de la Shape.

Parameters
[in]x_origine x
[in]y_origine y

◆ setPosition() [1/2]

void Shape::setPosition ( const Vector2f & nPos)

Change la position du Shape.

Parameters
[in]nPosposition

◆ setPosition() [2/2]

void Shape::setPosition ( float x_,
float y_ )

Change la position de la Shape.

Parameters
[in]x_position x
[in]y_position y

◆ setRotation()

void Shape::setRotation ( float nRotation)

Change la rotation de la Shape.

Parameters
[in]nRotationrotation

◆ setSize() [1/2]

void Shape::setSize ( const Vector2f & nSize)

Change la taille du Shape.

Parameters
[in]nSizetaille

◆ setSize() [2/2]

void Shape::setSize ( float x_,
float y_ )

Change la taille du Shape.

Parameters
[in]x_taille x
[in]y_taille y

◆ updateVBO()

virtual void Shape::updateVBO ( )
protectedpure virtual

Implemented in Sprite.

◆ updateVBOAlpha()

virtual void Shape::updateVBOAlpha ( )
protectedpure virtual

Implemented in Sprite.

◆ updateVBORGB()

virtual void Shape::updateVBORGB ( )
protectedpure virtual

Implemented in Sprite.

Member Data Documentation

◆ alpha

float Shape::alpha
protected

◆ autoUpdateCollision

bool Shape::autoUpdateCollision
protected

◆ origin

Vector2f Shape::origin
protected

◆ pos

Vector2f Shape::pos
protected

◆ RGB

Vector3i Shape::RGB
protected

◆ rotation

float Shape::rotation
protected

◆ shapeCollisionBox

CollisionBox Shape::shapeCollisionBox
protected

◆ shapeEBO

EBO Shape::shapeEBO
protected

◆ shapeVAO

VAO Shape::shapeVAO
protected

◆ shapeVBO

VBO Shape::shapeVBO
protected

◆ size

Vector2f Shape::size
protected

The documentation for this class was generated from the following files: