|
Core library
A simple library for handling 3D scenes
|
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
1.7.6.1