MeshKit
1.0
|
00001 #ifndef JAAL_MESH 00002 #define JAAL_MESH 00003 00004 00005 #include <meshkit/qglviewer.h> 00006 #include <meshkit/qapplication.h> 00007 00008 #ifdef CSV 00009 #include <string> 00010 #include <vector> 00011 #include <map> 00012 00013 using namespace std; 00014 using namespace qglviewer; 00015 00016 class Viewer : public QGLViewer 00017 { 00018 public: 00019 void setDataFile( const string &f) 00020 { 00021 filename = f; 00022 } 00023 protected : 00024 struct Color 00025 { 00026 float rgb[3]; 00027 }; 00028 struct Vertex 00029 { 00030 int iTag; 00031 float xyz[3]; 00032 }; 00033 00034 struct Edge 00035 { 00036 int boundid; 00037 int connect[2]; 00038 }; 00039 00040 struct Face 00041 { 00042 int iTag; 00043 vector<int> connect; 00044 }; 00045 00046 string filename; 00047 void readData( const string &f); 00048 int facetype; 00049 vector<Vertex> nodes; 00050 vector<Edge> edges; 00051 vector<Face> faces; 00052 std::map<int,int> global2local; 00053 std::map<int,Color> colormap; 00054 00055 virtual void draw(); 00056 virtual void init(); 00057 virtual QString helpString() const; 00058 private: 00059 void readNodes( const string &f); 00060 void readEdges( const string &f); 00061 void readFaces( const string &f); 00062 void normalize(); 00063 void draw_mesh(); 00064 }; 00065 00066 #endif 00067 00068 #endif