Pipeline graphique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros
Object.h
Aller à la documentation de ce fichier.
1 #ifndef _DEFOBJECT
2 #define _DEFOBJECT
3 #include <string>
4 #include "Material.h"
6 #include "modelloader/ReadMesh.h"
7 
8 
9 
10 
11 
12 
13 struct ObjectInstance {
16 };
17 
19 
20 
21 class BaseObject {
22 
23 public:
24  BaseObject(int nbinstance = 1);
25  ~BaseObject();
26 
27  bool LoadPLY(std::string PlyFilename, bool bInvertNormal=false);
28  bool LoadMesh(std::string MeshFilename, bool bInvertFace=false);
29 
30  inline ObjectInstance &getInstance(unsigned int i){return Instance[i];}
31  inline int getStride(){ return Stride;}
32  inline int getNbFace(){ return nFaces;}
33  inline int getNbVertex(){ return nVertex;}
34  inline void * getVertexBuffer(){ return VertexBuffer;}
35  inline unsigned int* getIndexBuffer(){ return IndexBuffer;}
36  inline unsigned int getNbInstance(){ return nInstance;}
37 
38 
39 
40 protected:
41  void BuildVertexBuffer();
42  void BuildIndexBuffer ();
43 
44 private:
46  int nVertex;
47  int nFaces;
48  int Stride;
49 
52 
53  void *VertexBuffer;
54  unsigned int *IndexBuffer;
55 
56 
57  unsigned int nInstance;
61 
62 };
63 
64 #endif
void BuildIndexBuffer()
BaseObject::BuildIndexBuffer() Construit l'index Buffer en sadaptant au type de fichier Le vertex buf...
Definition: Object.cpp:48
E_typefichier
Definition: Object.h:18
void * getVertexBuffer()
Definition: Object.h:34
int getNbFace()
Definition: Object.h:32
Math::matrice44 * world
Definition: Object.h:60
Material * material
Definition: Object.h:59
BaseObject(int nbinstance=1)
BaseObject::BaseObject(int nbinstance) Constructeur d'un object, il prend le nombre d'instance pour i...
Definition: Object.cpp:80
Definition: Object.h:18
unsigned int nInstance
Nombre d'instances.
Definition: Object.h:57
int nVertex
Nombre de sommets.
Definition: Object.h:46
bool LoadMesh(std::string MeshFilename, bool bInvertFace=false)
BaseObject::LoadMesh(std::string MeshFilename, bool bInvertFace) Charge un fichier MESH dans la memoi...
Definition: Object.cpp:149
Definition: Object.h:18
ObjectInstance & getInstance(unsigned int i)
Definition: Object.h:30
int getStride()
Definition: Object.h:31
ObjectInstance * Instance
Pointeur vers le tableau d'instances.
Definition: Object.h:58
int nFaces
Nombre de faces.
Definition: Object.h:47
Structure définissant un matériau tel que vu dans le cours (modèle de Phong).
Definition: Material.h:6
unsigned int getNbInstance()
Definition: Object.h:36
int Stride
Taille d'un sommet (à savoir le sizeof de la structure contenant un sommet).
Definition: Object.h:48
Material material
caractéristique du matériau de l'instance
Definition: Object.h:14
int getNbVertex()
Definition: Object.h:33
Definition: Object.h:18
Mesh::Object LoaderMesh
Definition: Object.h:51
unsigned int * getIndexBuffer()
Definition: Object.h:35
void BuildVertexBuffer()
BaseObject::BuildVertexBuffer() Construit de Vertex Buffer en sadaptant au type de fichier Le vertex ...
Definition: Object.cpp:8
Math::matrice44 world
matrice de transformation globale de l'instance
Definition: Object.h:15
~BaseObject()
BaseObject::~BaseObject() destructeur d'un object, il suprime tout les element allouer dynamiquement...
Definition: Object.cpp:96
bool LoadPLY(std::string PlyFilename, bool bInvertNormal=false)
BaseObject::LoadPLY(std::string PlyFilename, bool bInvertNormal) Charge un fichier PLY dans la memoir...
Definition: Object.cpp:112
void * VertexBuffer
Tableau de sommets.
Definition: Object.h:53
PlyLoader LoaderPly
Definition: Object.h:50
structure pour les matrices 4x4
Definition: libMath.h:209
E_typefichier typefichier
Definition: Object.h:45
unsigned int * IndexBuffer
Tableau des indices.
Definition: Object.h:54
structure pour la gestion d'un objet 3D
Definition: ReadMesh.h:55