Advertisement
mzagar

CadWorkThread.hh

Jun 25th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #ifndef CADWORKTHREAD_H
  3. #define CADWORKTHREAD_H
  4.  
  5. #include <QObject>
  6. #include <CadModel/MakeMeshStructure.hh>
  7. #include <QThread>
  8.  
  9. using namespace  std;
  10.  
  11. struct cadData{
  12.  
  13.     int model;
  14.     int minmax[6];
  15.     MeshStructureLayers layers;
  16.     Handle_AIS_InteractiveContext theContext;
  17.     Handle_TDocStd_Document aDoc;
  18.     MyMesh  mesh;
  19.     int detail_vertex;
  20.     double insulation_thickness;
  21.     OpenMesh::VPropHandleT<MyMesh::Scalar> _max_beam_offset;
  22.     double podatki[20];
  23.     int genType;
  24.     int meshNum;
  25.     CadPanel *paneli;
  26.     int npanelov;
  27.  
  28.    
  29.    
  30. };
  31.  
  32.  
  33.  
  34.  
  35. class CadThread : public QObject
  36. {
  37.     Q_OBJECT
  38. public:
  39.     CadThread(QObject* parent=0);
  40.        
  41.     ~CadThread() { qDebug("~Client()"); }
  42.  
  43. signals:
  44.  
  45.     void done();
  46.  
  47. public slots:
  48.  
  49.     void MakeMesh(cadData aCadData);
  50.  
  51.  
  52.     private slots:
  53.    
  54. };
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. class CadWorkThread : public QObject
  63. {
  64.     Q_OBJECT
  65. public:
  66.     CadWorkThread(QObject* parent = 0);
  67.     void startCadThread(int model,
  68.         MeshStructureLayers layers,
  69.         Handle_AIS_InteractiveContext theContext,
  70.         Handle_TDocStd_Document aDoc,
  71.         MyMesh & mesh,
  72.         int detail_vertex,
  73.         double insulation_thickness,
  74.         OpenMesh::VPropHandleT<MyMesh::Scalar> _max_beam_offset,
  75.         double podatki[20],
  76.         int genType,
  77.         int meshNum,
  78.         CadPanel *&paneli,
  79.         int npanelov);
  80.  
  81.    
  82.  
  83.  
  84.  
  85. signals:
  86.     void finished();
  87.     void startToThread();
  88.     void startMake1(cadData aCadData);
  89.     void startMake2(cadData aCadData);
  90.     void startMake3(cadData aCadData);
  91.     void startMake4(cadData aCadData);
  92.    
  93.          
  94.  
  95. public slots:
  96.  
  97.    
  98.        
  99. private slots:
  100.    
  101.     void threadDone();
  102.  
  103. private:
  104.     QList<QThread*> threads;
  105.     QList<CadThread*> cThreads;
  106.     QList<cadData> aCadDatas;
  107.  
  108.     mutable int nextThread;
  109.     int threadcount;
  110.     int tfinished;
  111.     Handle_AIS_InteractiveContext myContext;
  112.  
  113.  
  114.    
  115. };
  116.  
  117.  
  118.  
  119.  
  120. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement