caizm 2 سال پیش
والد
کامیت
29be86c554

+ 20 - 9
CAE_Solution/src/threadPool_and_statemachine/dealWith/handlepool.cpp

@@ -64,23 +64,22 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
 void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
 {
     if(object->action == "init"){
+        delete object;
+        object = NULL;
+        return;
         //render_->init();
         //emit sendWidget_handlePoolToWidget(render_->GetWidget());
 
     }else if(object->action == "loaddata"){
-        if(map_render.contains(object->proId)){
-            render_ = map_render.value(object->proId);
-
-        }else{
+        if(!map_render.contains(object->proId)){
             render_ = new QVTKRenderer();
             map_render.insert(object->proId,render_);
             render_->init();
-            w->addTab(render_->GetWidget(),"test");
+            w->addTab(render_->GetWidget(),object->proId);
         }
-        if(!map_render.contains(object->proId))return;
         render_ = map_render.value(object->proId);
-        //QString m_filePath = object->filePath;
-        QString m_filePath="F:\\czm\\vtkfile\\tf.ugrid";
+        QString m_filePath = object->filePath;
+        //QString m_filePath="F:\\czm\\vtkfile\\tf.ugrid";
         //QString m_filePath = "/cephfs/hcfd/solverdown/31f117acb7e74232a3267b091391eab2/hcfd/data_in";
         if(m_filePath.isEmpty()){
             cout<<"file path is Empty!"<<endl;
@@ -97,7 +96,6 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
                     render_->ZoomToExtents();
                 }
             }
-            map_manager[object->proId]=meshmanager;
         }else{
             meshmanager = map_manager.value(object->proId);
 //            vtkActorCollection *allActor=render_->GetRenderer()->GetActors();
@@ -112,6 +110,15 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
 //            meshmanager =NULL;
 //            //delete meshmanager;
 //            meshmanager = new MeshManager();
+            render_->CaptureWindowImages();
+            if(!render_->img.isEmpty()){
+                std::string img_ = render_->img.toStdString();
+                std::string json_ = object->ToJson(img_);
+                emit sendImg_handlePoolToSendstate(json_);//信号
+            }
+            delete object;
+            object = NULL;
+            return;
         }
         //MeshManager *meshmanager = MeshManager::getInstance();
 
@@ -135,6 +142,8 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
         render_ = map_render.value(object->proId);
         render_->camera_->AlignToPlusAxisY();
     }else if(object->action == "AlignToPlusAxisZ"){//正z轴对齐
+        if(!map_render.contains(object->proId))return;
+        render_ = map_render.value(object->proId);
         render_->camera_->AlignToPlusAxisZ();
     }else if(object->action == "AlignToMinusAxisX"){//负x轴对齐
         if(!map_render.contains(object->proId))return;
@@ -159,6 +168,8 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
         std::string json_ = object->ToJson(img_);
         emit sendImg_handlePoolToSendstate(json_);//信号
     }
+    delete object;
+    object = NULL;
 }
 
 void handlePool::loadTecplotFile(QString fileName)

BIN
build-CAE_Solution-Desktop_Qt_5_10_1_GCC_64bit-Debug/src/handlepool.o


BIN
build-CAE_Solution-Desktop_Qt_5_10_1_GCC_64bit-Debug/src/main.o


BIN
build-CAE_Solution-Desktop_Qt_5_10_1_GCC_64bit-Debug/src/src