00001 #ifndef IMPORTER_H
00002 #define IMPORTER_H
00003
00004 #include <list>
00005 #include <matrix/newmatio.h>
00006 #include <matrix/newmat.h>
00007 #include <matrix/newmatap.h>
00008
00009
00010 #include <vector>
00011 #include <ExampleModel.h>
00012 #include <tinyxml/tinyxml.h>
00013
00014 using namespace std;
00015 using namespace model;
00016
00017 namespace functions{
00018
00038 class Importer {
00039 private:
00040 char* m_dir;
00041 int globalCIndex, globalNIndex;
00042 vector<int> globalCoordIndexs;
00043 vector<int> globalNormalIndexs;
00044 vector<float> translation, rotation, scale, scaleOrientation, center;
00045
00046 void readElements(TiXmlNode* doc, ExampleModel* em);
00047 void readAttributes(TiXmlElement* pElement, ExampleModel* em);
00048 public:
00049 Importer();
00065 ~Importer() {};
00066
00067 bool importModel(const char* filename, ExampleModel* am);
00068 bool importDirectory(const char* dirname, vector<ExampleModel*> vem);
00069 };
00070
00075 }
00076
00077 #endif //IMPORTER_H