瀏覽代碼

0601 修复流线切割棒创造(ertongjiekuaile)

caizm 2 年之前
父節點
當前提交
1a39d2738d

+ 2 - 2
CAE_Solution/conf/conf_recv.txt

@@ -4,6 +4,6 @@ userName:admin
 password:admin
 
 channel_id:1
-queue_name:BLOCKcaeint
+queue_name:BLOCKcaein
 exchange_name:BLOCKMQ-EXCHANGE
-keys_name:caeint
+keys_name:caein

+ 2 - 2
CAE_Solution/conf/conf_send.txt

@@ -4,6 +4,6 @@ userName:admin
 password:admin
 
 channel_id:1
-queue_name:BLOCKcaeoutt
+queue_name:BLOCKcaeout
 exchange_name:BLOCKMQ-EXCHANGE
-keys_name:caeoutt
+keys_name:caeout

+ 7 - 7
CAE_Solution/src/VTK/Manager/ResultMeshManager.cpp

@@ -3,7 +3,7 @@
 #include <QString>
 #include <QFileInfo>
 #include "../QVTKRenderer/qvtkrenderer.h"
-#include "../mesh/Mesh.h"
+#include "../mesh/mesh.h"
 #include "../MeshDS/MeshBase.h"
 #include "../mesh/mesh_ugrid.h"
 #include "../display/contourdisplay.h"
@@ -1866,11 +1866,11 @@ void ResultMeshManager::CreatVectorSource(string u, string v, string w)
         streamLine_ = NULL;
     }
 
-//    if (currAddDataSource_ != NULL)
-//    {
-//        streamLine_ = vtkVISUnStreamTrace::New();
-//        streamLine_->SetRenderTo(render_->GetRenderer());
-//        streamLine_->SetDataSource(currAddDataSource_->GetSource());
+    if (currAddDataSource_ != NULL)
+    {
+        streamLine_ = vtkVISUnStreamTrace::New();
+        streamLine_->SetRenderTo(render_->GetRenderer());
+        streamLine_->SetDataSource(currAddDataSource_->GetSource());
         streamLine_->SetStreamTraceSource(v1,v2,v3);
         string type = "line";
         streamLine_->SetSeedsType(type);
@@ -1882,7 +1882,7 @@ void ResultMeshManager::CreatVectorSource(string u, string v, string w)
             streamW_->SetMaxPropgationData(streamLine_->GetMaxPropagation());
             streamW_->SetMinStepData(streamLine_->GetMinimumStep());
         }
-    //}
+    }
     //create_streamTrace(x,y,z);
 }
 

+ 1 - 1
CAE_Solution/src/VTK/Manager/meshmanager.cpp

@@ -4,7 +4,7 @@
 #include <QFileInfo>
 
 #include "../QVTKRenderer/qvtkrenderer.h"
-#include "../mesh/Mesh.h"
+#include "../mesh/mesh.h"
 #include "../mesh/mesh_ugrid.h"
 #include "../visualization_VTK//vtkvisunshademesh.h"
 #include "../visualization_VTK/vtkvisunstructuredgridsource.h"

+ 16 - 19
CAE_Solution/src/VTK/Manager/resultvtkmanager.cpp

@@ -138,9 +138,6 @@ void ResultVTKManager::DisplayMesh(QVTKRenderer *qvtkRenderer)
     unglyph = vtkVISUnGlyph::New();
     unglyph->SetDataSource(source);
     unglyph->SetRenderTo(qvtkRenderer->GetRenderer());
-//    solidSurfaceMesh = vtkVISUnShadeMesh::New();
-//    solidSurfaceMesh->SetDataSource(source);
-//    solidSurfaceMesh->SetRenderTo(qvtkRenderer->GetRenderer());
     streamLine_ = vtkVISUnStreamTrace::New();
     streamLine_->SetDataSource(source);
     streamLine_->SetRenderTo(qvtkRenderer->GetRenderer());
@@ -883,29 +880,30 @@ void ResultVTKManager::UpdataSliceWidgetParameter()
 
 void ResultVTKManager::UpdataCurrUnstructSource()
 {
-
+    vector<vtkVISUnstructuredGridSource*> vec;
+    vec.push_back(source);
+    if(currAddDataSource_!=NULL){
+        delete currAddDataSource_;
+        currAddDataSource_ = NULL;
+    }
+    currAddDataSource_ = new vtkVISAddUnGridDataSource();
+    currAddDataSource_->SetVISUnGridDataSource(vec);
 }
 
 void ResultVTKManager::CreatVectorSource(string u, string v, string w)
 {
-    UpdataCurrUnstructSource();
+    //UpdataCurrUnstructSource();
     char* v1 = (char*)(u.c_str());
     char* v2 = (char*)(v.c_str());
     char* v3 = (char*)(w.c_str());
 
-    if (streamLine_ != NULL)
-    {
-        streamLine_->ShowOffStreamWidget();
-        streamLine_->ShowOffStreamTraceLines();
-        streamLine_->Delete();
-        streamLine_ = NULL;
-    }
-
-    if (currAddDataSource_ != NULL)
-    {
-        streamLine_ = vtkVISUnStreamTrace::New();
-        streamLine_->SetRenderTo(render_->GetRenderer());
-        streamLine_->SetDataSource(currAddDataSource_->GetSource());
+//    if (streamLine_ != NULL)
+//    {
+//        streamLine_->ShowOffStreamWidget();
+//        streamLine_->ShowOffStreamTraceLines();
+//        streamLine_->Delete();
+//        streamLine_ = NULL;
+//    }
         streamLine_->SetStreamTraceSource(v1,v2,v3);
         string type = "line";
         streamLine_->SetSeedsType(type);
@@ -917,7 +915,6 @@ void ResultVTKManager::CreatVectorSource(string u, string v, string w)
             streamW_->SetMaxPropgationData(streamLine_->GetMaxPropagation());
             streamW_->SetMinStepData(streamLine_->GetMinimumStep());
         }
-    }
 }
 
 void ResultVTKManager::DisplayStreamLine(string direction, string type, double initStrp, double maxPropgation, double minStep, bool showState, bool ToolState)

+ 1 - 1
CAE_Solution/src/VTK/display/contourdisplay.cpp

@@ -56,7 +56,7 @@ void ContourDisplay::contourdisplay_execute(boostJsonObject* jsonObj_)
     Cmanager->SetRange(jsonObj_->cd_struct->range);//传入云图的maxrange和minrange
 
     Cmanager->SetDisplayType(0);//0 is contour; 2 is line; 3 is vector  判断显示
-    Cmanager->HideAllUnshadeMeshActors();//隐藏实体调hideallunshademeshactors接口
+    //Cmanager->HideAllUnshadeMeshActors();//隐藏实体调hideallunshademeshactors接口
     Cmanager->DisplayMeshByIndex(0);//只显示实体、云图、等值线、矢量
 
     Cmanager->SetNameTypeMap();

+ 1 - 1
CAE_Solution/src/VTK/visualization_VTK/vtkVISAddUnGridDataSource.cpp

@@ -33,7 +33,7 @@ void vtkVISAddUnGridDataSource::SetVISUnGridDataSource(vector<vtkVISUnstructured
 
     source_ = vtkVISUnstructuredGridSource::New();
     CreatUnGridGeomtry(vec);
-    AllocationSpace(vec);
+    AllocationSpace(vec);//vtk已申请内存
     CreatUnGridScaleSource(vec);
 }
 

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

@@ -234,9 +234,9 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
             render_->RemoveAllActors();
         }
     }
-    //QString m_filePath = object->filePath;//测试路径
+    QString m_filePath = QString::fromStdString(object->filePath);//测试路径
     //QString m_filePath = "F:\\czm\\vtkfile\\tfg.ugrid";
-    QString m_filePath = "C:\\Users\\Administrator\\Desktop\\VTK\\f.vtk";
+    //QString m_filePath = "C:\\Users\\Administrator\\Desktop\\VTK\\f.vtk";
     QFileInfo fileinfo_(m_filePath);
     if(!fileinfo_.isFile()){
         cout<<"file path is Empty!"<<endl;
@@ -312,7 +312,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
         }
     }
     //object_->filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary";//测试路径
-    object_->filePath = "C:\\Users\\Administrator\\Desktop\\VTK";//测试路径
+    //object_->filePath = "C:\\Users\\Administrator\\Desktop\\VTK";//测试路径
     QDir dir(QString::fromStdString(object_->filePath));
     if(!dir.exists()){
         return false;
@@ -594,8 +594,8 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
         map_streamdisplay.insert(object_->proId,streamdis);
     }
     if(type == "create"){
-        if(((!(object_->sm_struct->u).empty()) && (!(object_->sm_struct->v).empty() )&& (!(object_->sm_struct->w).empty() ))&& ((object_->sm_struct->u)!=
-                                                                                                                                (object_->sm_struct->v))&&((object_->sm_struct->u)!= (object_->sm_struct->w))&&((object_->sm_struct->w)!=(object_->sm_struct->v))){
+        if(((!(object_->sm_struct->u).empty()) && (!(object_->sm_struct->v).empty() )&& (!(object_->sm_struct->w).empty() ))&& ((object_->sm_struct->u)!=(object_->sm_struct->v))&&((object_->sm_struct->u)!= (object_->sm_struct->w))&&((object_->sm_struct->w)!=(object_->sm_struct->v)))
+        {
             resultmm->streamW_->value_u = object_->sm_struct->u;
             resultmm->streamW_->value_v = object_->sm_struct->v;
             resultmm->streamW_->value_w = object_->sm_struct->w;
@@ -603,17 +603,20 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
             string v = resultmm->streamW_->GetVData();
             string w = resultmm->streamW_->GetWData();
             resultmm->CreatVectorSource(u,v,w);
-            if(resultmm->currAddDataSource_){
+            if((resultmm->fileType=="plt")&&(resultmm->currAddDataSource_))
+            {
+                emit sendImg_handlePoolToSendstate(object_->ToJson("create_stream",buildResultImport_msg("create_stream",resultmm,object_)));//发送流线数据
+            }else if(resultmm->fileType == "VTK"){
                 emit sendImg_handlePoolToSendstate(object_->ToJson("create_stream",buildResultImport_msg("create_stream",resultmm,object_)));//发送流线数据
             }
-
         }else{
             //抛出异常
         }
-        //}else if(type == "select"){
+        send_picture(object_,render_);
+    }else if(type == "select"){
         resultmm->SetStreamSelectState(true);
-        //}else if(type == "deletelast"){
-        //resultmm->SetStreamSelectState(false);
+    }else if(type == "deletelast"){
+        resultmm->SetStreamSelectState(false);
     }else if(type == "deleteall"){
         resultmm->DeleteAllStream();
     }else if(type == "apply"){
@@ -640,9 +643,9 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultManage
         string msg;
         for(map<string,int>::iterator it=map_.begin();it!=map_.end();it++){
             if(cmanager->fileType!="VTK"){
-               msg+=removeSpaces(it->first);
+                msg+=removeSpaces(it->first);
             }else{
-               msg+=it->first;
+                msg+=it->first;
             }
             msg+="#";
             msg+=to_string(it->second);//0-point scalar 1-cell scalar
@@ -718,11 +721,11 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultManage
         string msg;
         StreamDisplayWidget* smdW = cmanager->streamW_;
         for(int i = 0; i<smdW->dataU.size();i++){
-        if(cmanager->fileType!="VTK"){
-            msg+=removeSpaces(smdW->dataU[i]);
-        }else{
-            msg+=smdW->dataU[i];
-        }
+            if(cmanager->fileType!="VTK"){
+                msg+=removeSpaces(smdW->dataU[i]);
+            }else{
+                msg+=smdW->dataU[i];
+            }
             msg+=",";
         }
         msg = msg.erase(msg.size()-1);

+ 1 - 1
CAE_Solution/src/threadPool_and_statemachine/dealWith/map_manager.h

@@ -2,7 +2,7 @@
 #define MAP_MANAGER_H
 
 #include <QString>
-#include "../../VTK/Manager/MeshManager.h"
+#include "../../VTK/Manager/meshmanager.h"
 #include "../../VTK/Manager/ResultMeshManager.h"
 #include "../../VTK/QVTKRenderer/qvtkrenderer.h"