MeshKit  1.0
meshViewer.hpp
Go to the documentation of this file.
00001 #ifndef JAAL_MESH
00002 #define JAAL_MESH
00003 
00004 
00005 #include <qglviewer.h>
00006 #include <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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines