handlepool.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #ifndef HANDLEPOOL_H
  2. #define HANDLEPOOL_H
  3. #include <QObject>
  4. #include <QVector>
  5. #include <QTabWidget>
  6. #include <QDir>
  7. #include <iostream>
  8. #include <sstream>
  9. #include <QStringList>
  10. #include <QString>
  11. #include "../../VTK/QVTKRenderer/qvtkrenderer.h"
  12. #include "../../VTK/Manager/meshmanager.h"
  13. #include "../../VTK/Manager/ResultMeshManager.h"
  14. #include "../../VTK/Manager/resultvtkmanager.h"
  15. #include "../../VTK/display/contourdisplay.h"
  16. #include "../../VTK/display/linedisplay.h"
  17. #include "../../VTK/display/vectordisplay.h"
  18. #include "../../VTK/display/solidsurfacewidget.h"
  19. #include "../../VTK/display/slicewidget.h"
  20. #include "../../VTK/display/streamwidget.h"
  21. #include "../../VTK/widget/contourdispalyWidget.h"
  22. #include "../../VTK/widget/linedisplayWidget.h"
  23. #include "../../VTK/widget/slicedisplaywidget.h"
  24. #include "../../VTK/widget/solidsurfaceDisplaywidget.h"
  25. #include "../../VTK/widget/streamDisplaywidget.h"
  26. #include "../../VTK/widget/vectorDisplaywidget.h"
  27. #include "../../VTK/widget/Sslicewidget.h"
  28. #include "../../VTK/visualization_VTK/vtkVISUnContour.h"
  29. #include "../../VTK/visualization_VTK/vtkvisunshademesh.h"
  30. #include "../../VTK/visualization_VTK/vtkvisunstructuredgridsource.h"
  31. #include "../../VTK/visualization_VTK/vtkvisunstructuredgridmanager.h"
  32. #include "../../VTK/visualization_VTK/vtkvismanager.h"
  33. #include "../../VTK/mesh/mesh.h"
  34. #include <map>
  35. #include <QMap>
  36. #include <string>
  37. #include <QDebug>
  38. #include "boostjsonobject.h"
  39. #include "map_manager.h"
  40. #include "../../Rabbitmq/sendLogMsg/logmsg.h"
  41. using namespace std;
  42. //typedef struct _MEMORYSTATUSEX {
  43. // DWORD dwLength; // 结构体的大小
  44. // DWORD dwMemoryLoad; // 表示内存使用率,是一个0-100的数字
  45. // DWORDLONG ullTotalPhys; // 表示电脑内存的大小,是以byte为单位的
  46. // DWORDLONG ullAvailPhys; // 表示剩下内存的大小,是以byte为单位的
  47. // DWORDLONG ullTotalPageFile; // 可以存在页面文件中的字节数,是以byte为单位的
  48. // DWORDLONG ullAvailPageFile; // 还可用的页面文件大小,是以byte为单位的
  49. // DWORDLONG ullTotalVirtual; // 表示虚拟内存的大小,是以byte为单位的
  50. // DWORDLONG ullAvailVirtual; // 剩余虚拟内存大小,是以byte为单位的
  51. // DWORDLONG ullAvailExtendedVirtual; //"结构体保留值,固定为0
  52. //} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
  53. class handlePool : public QObject
  54. {
  55. Q_OBJECT
  56. public:
  57. explicit handlePool(QObject *parent = nullptr);
  58. handlePool(QTabWidget* w);
  59. ~handlePool();
  60. void operateRender(boostJsonObject*,QVTKRenderer*);
  61. void judgeLoaddata(boostJsonObject*,QVTKRenderer*);
  62. bool resultImport(boostJsonObject*,QVTKRenderer*);
  63. bool result_contourdisplay(boostJsonObject*, QVTKRenderer *);
  64. bool result_linedisplay(boostJsonObject*, QVTKRenderer *);
  65. bool result_vectordisplay(boostJsonObject*, QVTKRenderer *);
  66. bool result_solidsurfacedisplay(boostJsonObject*, QVTKRenderer *);
  67. bool result_slicedisplay(boostJsonObject*, QVTKRenderer *,QString);
  68. bool result_streamdisplay(boostJsonObject*, QVTKRenderer *,QString);
  69. bool result_contourinimationdisplay(boostJsonObject*,QVTKRenderer*);
  70. bool result_readIgsFile(boostJsonObject*,QVTKRenderer*);
  71. QMap<QString,string> buildResultImport_msg(QString,ResultManager*);
  72. QMap<QString,string> buildResultImport_msg(QString,ResultManager*,boostJsonObject*);
  73. QMap<QString,string> buildError_msg(string,string);
  74. void send_picture(boostJsonObject*,QVTKRenderer*);
  75. void send_picture(boostJsonObject*,QVTKRenderer*,int);
  76. string removeSpaces(string);
  77. vector<string> stringSplit(const string& str, char delim);
  78. QMap<string,QVTKRenderer*> getMapRender();
  79. QMap<string,pid_meshManager*> getMapManager();
  80. QMap<string,pid_resultManager*> getMapResultManager();
  81. pid_meshManager* set_map_meshManager(boostJsonObject*,MeshManager*);
  82. pid_resultManager* set_map_resultManager(boostJsonObject*,ResultManager*);
  83. void clear_map_pid(string);
  84. void get_init_scalar_range(ResultManager*);
  85. void animation_render(string,int,QVTKRenderer*,boostJsonObject*);
  86. void set_hidezone_animation(vector<string>&,ResultManager*,set<string>);
  87. void test_memory();
  88. void printLog(string,boostJsonObject*);
  89. private:
  90. QMap<string,QVTKRenderer*> qmapRender;
  91. QMap<string,pid_meshManager*> qmapManager;
  92. QMap<string,pid_resultManager*> qmapResultmanager;
  93. QMap<string,ContourDisplay*> map_contourdisplay;
  94. QMap<string,LineDisplay*> map_linedisplay;
  95. QMap<string,Vectordisplay*> map_vectordisplay;
  96. QMap<string,SolidSurface*> map_solidsdisplay;
  97. QMap<string,SliceWidget*> map_slicedisplay;
  98. QMap<string,StreamWidget*> map_streamdisplay;
  99. QTabWidget* w;
  100. bool contour_sendrange_flag;
  101. bool line_sendrange_flag;
  102. map<string,set<double>> allscalarrange;
  103. signals:
  104. void sendImg_handlePoolToSendstate(std::string);
  105. void sendWidget_handlePoolToWidget(QWidget*);
  106. public slots:
  107. void getmsg_recvstateTohandlePool(std::string);
  108. };
  109. #endif // HANDLEPOOL_H