Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Object3D_GL.h
Go to the documentation of this file.
1 // 3DObject_GL.h
3 // OpenGL Screen implmentation
4 //
6 
7 #ifndef _OBJECT3D_GL
8 #define _OBJECT3D_GL
9 
10 #define DEBUG
11 
12 #include "framework\Frm_Mesh.h" //based on the correct Mesh element
13 #include "GL\Screen_GL.h"
14 
15 class Object3D
16 {
17  public:
18  Object3D(void): _SkinnedVertices(0), _Model(0){};
19  ~Object3D(void){if (_SkinnedVertices!=0) delete[] _SkinnedVertices;}
20  void SetupModel(Frm::Model3D* pModel){
21  _Model = pModel;
22  _Mesh = _Model->_Meshes.front();
23  _SkinnedVertices = new Frm::Vertex[_Mesh->_nVertices];
25  };
26 
27  //Vertices to render
28  void ClearSkinnedVertices(void){memset(_SkinnedVertices, 0, _Mesh->_nVertices * sizeof(Frm::Vertex));};
29 
30  //Animation Based
31  inline void Update(void){memcpy(_SkinnedVertices, _Mesh->_Vertices, _Mesh->_nVertices * sizeof(Frm::Vertex));};
32  void Draw(Screen_GL* pScreen);
33 
34  void ComputeBoundingBoxSphere(void);
35  //Elements for the AABB (_Low & _High)
36  //and bounding sphere (_Center & _Radius)
38  float _Radius;
39 
40  private:
41  Frm::Mesh* _Mesh; //pointer to Model Mesh
42  Frm::Vertex* _SkinnedVertices;
43  Frm::Model3D* _Model;
44 };
45 
46 #endif
Definition: Frm_Mesh.h:27
uint16 _nVertices
Definition: Frm_Mesh.h:46
Vertex * _Vertices
Definition: Frm_Mesh.h:47
Definition: Frm_Mesh.h:68
std::list< Mesh * > _Meshes
Definition: Frm_Mesh.h:74
Definition: Object3D_GL.h:16
void ComputeBoundingBoxSphere(void)
Definition: Object3D_GL.cpp:37
Frm::Vertex _Center
Definition: Object3D_GL.h:37
Frm::Vertex _High
Definition: Object3D_GL.h:37
void ClearSkinnedVertices(void)
Definition: Object3D_GL.h:28
void SetupModel(Frm::Model3D *pModel)
Definition: Object3D_GL.h:20
void Update(void)
Definition: Object3D_GL.h:31
float _Radius
Definition: Object3D_GL.h:38
~Object3D(void)
Definition: Object3D_GL.h:19
void Draw(Screen_GL *pScreen)
Definition: Object3D_GL.cpp:9
Frm::Vertex _Low
Definition: Object3D_GL.h:37
Object3D(void)
Definition: Object3D_GL.h:18
Definition: Screen_GL.h:15