Viewer
A plugin-based viewer for learning Computer Graphics and OpenGL
core/include/object.h
00001 #ifndef OBJECT_H
00002 #define OBJECT_H
00003 
00004 #include <vector>
00005 #include "box.h"
00006 #include "face.h"
00007 #include <QtOpenGL/qgl.h>
00008 
00009 using namespace std;
00010 
00019 class CORE_EXPORT Object
00020 {
00021 public:
00026     Object(std::string name);
00027 
00032     void readObj(const char* filename); 
00033 
00038     Box boundingBox() const;  
00039     
00043     const vector<Face>& faces() const;  
00044 
00048     const vector<Vertex>& vertices() const;
00049 
00055     vector<Vertex>& vertices();  
00056     
00060     void computeNormals();     
00061 
00065     void computeBoundingBox(); 
00066 
00067 private:
00068     void make_face ( char **words, int nwords );
00069     void clear();
00070 
00071     vector<Vertex> pvertices;  // vector amb els vertexs de l'objecte
00072     vector<Face> pfaces;       // vector amb les cares de l'objecte
00073 
00074     std::string pname;
00075     Box pboundingBox;   // caixa contenidora de l'objecte.
00076 };
00077 
00078 #endif
00079 
 All Classes Functions