caizm 1 жил өмнө
parent
commit
3f844199a1

+ 1 - 0
.gitignore

@@ -1,3 +1,4 @@
 /CAE_Solution/CAE_Solution.pro.user.f2f1818
 /CAE_Solution/CAE_Solution.pro.user
 /CAE_Solution/CAE_Solution.pro.user.d84286a.4.8-pre1
+/build-CAE_Solution-Desktop_Qt_5_10_1_GCC_64bit-Debug

+ 1 - 1
CAE_Solution/src/Rabbitmq/rabbitClient/rabbitclient.cpp

@@ -80,7 +80,7 @@ int rabbitClient::sendMsg(const std::string str)
         disconnect_index = 0;
     }
 
-    QThread::sleep(1);
+   // QThread::sleep(1);
     return 0;
 }
 

+ 1 - 5
CAE_Solution/src/component/manager/geometrymanager.cpp

@@ -40,10 +40,6 @@ GeometryManager::~GeometryManager()
 {
     qvtkRenderer_ = nullptr;
     this->clear();
-    if(giExporter){
-        delete giExporter;
-        giExporter = NULL;
-    }
 }
 
 /**
@@ -93,7 +89,7 @@ void GeometryManager::clear()
   */
 bool GeometryManager::LoadData(const QString &datafile)
 {
-    this->clear();  //clear the old mesh.
+    //this->clear();  //clear the old mesh.
     bool loadstate = false;
     //read file
     loadstate = this->giExporter->LoadGeometryFile(datafile.toStdString());

+ 21 - 1
CAE_Solution/src/threadPool_and_statemachine/dealWith/handlepool.cpp

@@ -61,6 +61,7 @@ handlePool::~handlePool()
     qDeleteAll(qmapResultmanager);
     qDeleteAll(map_slicedisplay);
     qDeleteAll(map_streamdisplay);
+    qDeleteAll(map_geomanager);
     contour_sendrange_flag = false;
     line_sendrange_flag = false;
     w = NULL;
@@ -220,7 +221,7 @@ void handlePool::operateRender(boostJsonObject* object,QVTKRenderer* render_)
             cout<<"read igs file fail!"<<endl;
         }
         return;
-    }else if(object->action == "render_igs"){
+    }else if(object->action == "geometryFileShow"){
         if(!result_displayIgs(object,render_)){
             cout<<"display igs file fail!"<<endl;
         }
@@ -794,16 +795,22 @@ bool handlePool::result_readIgsFile(boostJsonObject *object_, QVTKRenderer *rend
 
     try{
     if(cmdp->CreateProcess_(object_->da_struct->geoPath,"")){//unuse xmlpath
+        delete object_;
+        object_ = NULL;
 //        delete cmdp;
 //        cmdp = NULL;
         return true;
     }else{
+        delete object_;
+        object_ = NULL;
 //        delete cmdp;
 //        cmdp = NULL;
         return false;
     }
     }catch(myException &ex){
         throw myException("something error!");
+        delete object_;
+        object_ = NULL;
         return false;
     }
 }
@@ -816,6 +823,7 @@ bool handlePool::result_readIgsFile(boostJsonObject *object_, QVTKRenderer *rend
  */
 bool handlePool::result_displayIgs(boostJsonObject *object_, QVTKRenderer *render_)
 {
+   // GeometryManager *gm = NULL;
     if(object_->rg_struct->filename.empty())return false;
     if(!qmapRender.contains(object_->proId)){
         render_ = new QVTKRenderer();
@@ -823,11 +831,20 @@ bool handlePool::result_displayIgs(boostJsonObject *object_, QVTKRenderer *rende
         render_->init();
         w->addTab(render_->GetWidget(),QString::fromStdString(object_->proId));
         //render_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
+        //gm = new GeometryManager();
+       // map_geomanager[object_->proId] = gm;
     }else{
         render_ = qmapRender[object_->proId];
         //auto flag_ = render_->widgetFlag;
+        //if(map_geomanager.contains(object_->proId)){
+           // gm =  map_geomanager.value(object_->proId);
+           // delete gm;
+            //gm = NULL;
+       // }
         render_->HideAllActors();
         render_->RemoveAllActors();
+        //gm = new GeometryManager();
+        //map_geomanager[object_->proId] = gm;
     }
     GeometryManager *gm = new GeometryManager();
     bool f = gm->LoadData(QString::fromStdString(object_->rg_struct->filename));
@@ -835,6 +852,9 @@ bool handlePool::result_displayIgs(boostJsonObject *object_, QVTKRenderer *rende
         gm->DisplayGeometry(render_);
         render_->ZoomToExtents();
     }
+
+    send_picture(object_,render_);
+    //delete gm;
     return true;
 }
 

+ 2 - 0
CAE_Solution/src/threadPool_and_statemachine/dealWith/handlepool.h

@@ -40,6 +40,7 @@
 #include "map_manager.h"
 #include "../../Rabbitmq/sendLogMsg/logmsg.h"
 #include "../../acis/cmdmainprocess.h"
+class GeometryManager;
 
 using namespace std;
 
@@ -109,6 +110,7 @@ private:
     QMap<string,SolidSurface*> map_solidsdisplay;
     QMap<string,SliceWidget*> map_slicedisplay;
     QMap<string,StreamWidget*> map_streamdisplay;
+    QMap<string,GeometryManager*> map_geomanager;
     QTabWidget* w;
     bool contour_sendrange_flag;
     bool line_sendrange_flag;