|
@@ -50,8 +50,11 @@ handlePool::~handlePool()
|
|
qDeleteAll(map_vectordisplay);
|
|
qDeleteAll(map_vectordisplay);
|
|
qDeleteAll(map_solidsdisplay);
|
|
qDeleteAll(map_solidsdisplay);
|
|
qDeleteAll(qmapResultmanager);
|
|
qDeleteAll(qmapResultmanager);
|
|
|
|
+ qDeleteAll(map_slicedisplay);
|
|
|
|
+ qDeleteAll(map_streamdisplay);
|
|
contour_sendrange_flag = false;
|
|
contour_sendrange_flag = false;
|
|
line_sendrange_flag = false;
|
|
line_sendrange_flag = false;
|
|
|
|
+ w = NULL;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -68,17 +71,13 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
|
|
try{//处理异常
|
|
try{//处理异常
|
|
json_object->FromJson(recvmsg);
|
|
json_object->FromJson(recvmsg);
|
|
}catch(exception ex){
|
|
}catch(exception ex){
|
|
- QMap<QString,string> map_;
|
|
|
|
- map_.insert("exception",ex.what());
|
|
|
|
- emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",map_));
|
|
|
|
|
|
+ emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg(ex.what())));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
try{
|
|
try{
|
|
operateRender(json_object,render_);//解析命令
|
|
operateRender(json_object,render_);//解析命令
|
|
}catch(exception ex){
|
|
}catch(exception ex){
|
|
- QMap<QString,string> map_2;
|
|
|
|
- map_2.insert("exception",ex.what());
|
|
|
|
- emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",map_2));
|
|
|
|
|
|
+ emit sendImg_handlePoolToSendstate(json_object->ToJson("exception",buildError_msg(ex.what())));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -235,8 +234,9 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
|
|
render_->RemoveAllActors();
|
|
render_->RemoveAllActors();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- QString m_filePath = object->filePath;//测试路径
|
|
|
|
|
|
+ //QString m_filePath = object->filePath;//测试路径
|
|
//QString m_filePath = "F:\\czm\\vtkfile\\tfg.ugrid";
|
|
//QString m_filePath = "F:\\czm\\vtkfile\\tfg.ugrid";
|
|
|
|
+ QString m_filePath = "C:\\Users\\Administrator\\Desktop\\VTK\\f.vtk";
|
|
QFileInfo fileinfo_(m_filePath);
|
|
QFileInfo fileinfo_(m_filePath);
|
|
if(!fileinfo_.isFile()){
|
|
if(!fileinfo_.isFile()){
|
|
cout<<"file path is Empty!"<<endl;
|
|
cout<<"file path is Empty!"<<endl;
|
|
@@ -273,15 +273,20 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
|
|
*/
|
|
*/
|
|
bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
{
|
|
{
|
|
- vector<string> tmp = stringSplit(object_->fileName,',');
|
|
|
|
- QStringList fileName_list;
|
|
|
|
- for(auto & x:tmp){
|
|
|
|
- fileName_list.append(QString::fromStdString(x));
|
|
|
|
- }
|
|
|
|
- if(fileName_list.isEmpty()){
|
|
|
|
- cout<< "No Tecplot file is ready to read!"<<endl;
|
|
|
|
- return false;
|
|
|
|
|
|
+ string type_;
|
|
|
|
+ //object_->fileName = "whole_part1.plt,whole_part2.plt";
|
|
|
|
+ size_t found = object_->fileName.find_first_of(',');
|
|
|
|
+ if(found==string::npos){//单个文件
|
|
|
|
+ vector<string> tmp = stringSplit(object_->fileName,'.');
|
|
|
|
+ if(tmp[1]!="vtk"){
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("please open vtk file")));
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ type_ = "vtkfile";
|
|
|
|
+ }else{
|
|
|
|
+ type_ = "notvtkfile";
|
|
}
|
|
}
|
|
|
|
+
|
|
//判断有无窗口
|
|
//判断有无窗口
|
|
if(!qmapRender.contains(object_->proId)){
|
|
if(!qmapRender.contains(object_->proId)){
|
|
renderer_ = new QVTKRenderer();
|
|
renderer_ = new QVTKRenderer();
|
|
@@ -291,12 +296,12 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
|
|
renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
|
|
}else{
|
|
}else{
|
|
renderer_ = qmapRender[object_->proId];
|
|
renderer_ = qmapRender[object_->proId];
|
|
- auto flag = renderer_->widgetFlag;
|
|
|
|
- if(flag==QVTKRenderer::WidgetModel::UgridModel){
|
|
|
|
|
|
+ auto flag_ = renderer_->widgetFlag;
|
|
|
|
+ if(flag_==QVTKRenderer::WidgetModel::UgridModel){
|
|
renderer_ = qmapRender.value(object_->proId);
|
|
renderer_ = qmapRender.value(object_->proId);
|
|
renderer_->HideAllActors();//to do 有bug 先导入结果,在loaddata,再导入,会报错
|
|
renderer_->HideAllActors();//to do 有bug 先导入结果,在loaddata,再导入,会报错
|
|
renderer_->RemoveAllActors();
|
|
renderer_->RemoveAllActors();
|
|
- }else if(flag ==QVTKRenderer::WidgetModel::ResultModel){
|
|
|
|
|
|
+ }else if(flag_ ==QVTKRenderer::WidgetModel::ResultModel){
|
|
if(qmapResultmanager.value(object_->proId)->fileName == (object_->fileName)){//to do 详细比对文件名
|
|
if(qmapResultmanager.value(object_->proId)->fileName == (object_->fileName)){//to do 详细比对文件名
|
|
send_picture(object_,renderer_);
|
|
send_picture(object_,renderer_);
|
|
return true;
|
|
return true;
|
|
@@ -307,72 +312,118 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//object_->filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary";//测试路径
|
|
//object_->filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary";//测试路径
|
|
|
|
+ object_->filePath = "C:\\Users\\Administrator\\Desktop\\VTK";//测试路径
|
|
QDir dir(QString::fromStdString(object_->filePath));
|
|
QDir dir(QString::fromStdString(object_->filePath));
|
|
if(!dir.exists()){
|
|
if(!dir.exists()){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- ResultMeshManager* rsMeshManager = new ResultMeshManager();
|
|
|
|
- rsMeshManager->Clear();
|
|
|
|
- bool flag = true;
|
|
|
|
- for(int i =0;i<fileName_list.size();i++){
|
|
|
|
- bool f =rsMeshManager->LoadData(QString::fromStdString(object_->filePath)+"/"+fileName_list[i]);
|
|
|
|
|
|
+ ResultManager* rsManager = NULL;
|
|
|
|
+ //rsManager->Clear();
|
|
|
|
+ if(type_ == "notvtkfile"){
|
|
|
|
+
|
|
|
|
+ vector<string> tmp = stringSplit(object_->fileName,',');
|
|
|
|
+ QStringList fileName_list;
|
|
|
|
+ for(auto & x:tmp){
|
|
|
|
+ fileName_list.append(QString::fromStdString(x));
|
|
|
|
+ }
|
|
|
|
+ if(fileName_list.isEmpty()){
|
|
|
|
+ cout<< "No Tecplot file is ready to read!"<<endl;
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ bool flag = true;
|
|
|
|
+ rsManager = new ResultMeshManager();
|
|
|
|
+ rsManager->Clear();
|
|
|
|
+ rsManager->fileType = "plt";
|
|
|
|
+ for(int i =0;i<fileName_list.size();i++){
|
|
|
|
+ bool f =rsManager->LoadData(QString::fromStdString(object_->filePath)+"/"+fileName_list[i]);//加载
|
|
|
|
+ if(f){
|
|
|
|
+ rsManager->SetSaveIndex(i);
|
|
|
|
+ if(renderer_){
|
|
|
|
+ rsManager->DisplayMesh(renderer_);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(flag)
|
|
|
|
+ {
|
|
|
|
+ rsManager->HideAllActors();
|
|
|
|
+ rsManager->ShowAll();
|
|
|
|
+ rsManager->DisplayMeshByIndex(0);
|
|
|
|
+ rsManager->SetNameTypeMap();
|
|
|
|
+ rsManager->InitWidgetsParameter();
|
|
|
|
+ renderer_->ZoomToExtents();
|
|
|
|
+ }else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }else if(type_ == "vtkfile"){
|
|
|
|
+ object_->fileName = "dynamicResponse-transient36.vtk";
|
|
|
|
+ rsManager = new ResultVTKManager();
|
|
|
|
+ rsManager->Clear();
|
|
|
|
+ rsManager->fileType = "VTK";
|
|
|
|
+ bool flag = true;
|
|
|
|
+#ifdef _WIN32
|
|
|
|
+ QString filename = QString::fromStdString(object_->filePath)+"\\"+QString::fromStdString(object_->fileName);
|
|
|
|
+#else
|
|
|
|
+ QString filename = QString::fromStdString(object_->filePath)+"/"+QString::fromStdString(object_->fileName);
|
|
|
|
+#endif
|
|
|
|
+ bool f = rsManager->LoadData(filename);//加载
|
|
|
|
+ rsManager->uncontourVec_.clear();
|
|
if(f){
|
|
if(f){
|
|
- rsMeshManager->SetSaveIndex(i);
|
|
|
|
if(renderer_){
|
|
if(renderer_){
|
|
- rsMeshManager->DisplayMesh(renderer_);
|
|
|
|
|
|
+ rsManager->DisplayMesh(renderer_);
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
flag = false;
|
|
flag = false;
|
|
- break;
|
|
|
|
}
|
|
}
|
|
- }
|
|
|
|
- if(flag)
|
|
|
|
- {
|
|
|
|
- rsMeshManager->HideAllActors();
|
|
|
|
- rsMeshManager->ShowAll();
|
|
|
|
- rsMeshManager->DisplayMeshByIndex(0);
|
|
|
|
- rsMeshManager->SetNameTypeMap();
|
|
|
|
- rsMeshManager->InitWidgetsParameter();
|
|
|
|
- renderer_->ZoomToExtents();
|
|
|
|
|
|
+ if(flag){
|
|
|
|
+ //rsManager->HideAllActors();
|
|
|
|
+ rsManager->InitWidgetsParameter();
|
|
|
|
+ rsManager->SetNameTypeMap();
|
|
|
|
+ renderer_->ZoomToExtents();
|
|
|
|
+ }else{
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
/*********************************************/
|
|
/*********************************************/
|
|
ContourDisplayW *contourdw = new ContourDisplayW();//云图窗口参数初始化
|
|
ContourDisplayW *contourdw = new ContourDisplayW();//云图窗口参数初始化
|
|
- rsMeshManager->SetCotourWidget(contourdw);
|
|
|
|
- rsMeshManager->SetWidgetRange();
|
|
|
|
- rsMeshManager->SetWidgetScalarName();
|
|
|
|
|
|
+ rsManager->SetCotourWidget(contourdw);
|
|
|
|
+ rsManager->SetWidgetRange();
|
|
|
|
+ rsManager->SetWidgetScalarName();
|
|
|
|
|
|
LineDisplayW *linedw = new LineDisplayW();//等值线窗口初始化参数
|
|
LineDisplayW *linedw = new LineDisplayW();//等值线窗口初始化参数
|
|
- rsMeshManager->SetLineWidget(linedw);
|
|
|
|
|
|
+ rsManager->SetLineWidget(linedw);
|
|
|
|
|
|
VectorW *vecdW = new VectorW();//矢量窗口初始化参数
|
|
VectorW *vecdW = new VectorW();//矢量窗口初始化参数
|
|
- rsMeshManager->SetVectorWidget(vecdW);
|
|
|
|
|
|
+ rsManager->SetVectorWidget(vecdW);
|
|
|
|
|
|
|
|
|
|
SolidSurfaceWidget* solidfW = new SolidSurfaceWidget();//实体表面窗口初始化参数
|
|
SolidSurfaceWidget* solidfW = new SolidSurfaceWidget();//实体表面窗口初始化参数
|
|
- rsMeshManager->SetSurfaceSolidWidget(solidfW);
|
|
|
|
|
|
+ rsManager->SetSurfaceSolidWidget(solidfW);
|
|
|
|
|
|
- SsliceWidget * ssliceW = new SsliceWidget();//切片窗口初始化参数
|
|
|
|
- rsMeshManager->SetSliceWidget(ssliceW);
|
|
|
|
|
|
+ //SsliceWidget * ssliceW = new SsliceWidget();//切片窗口初始化参数
|
|
|
|
+ //rsManager->SetSliceWidget(ssliceW);
|
|
|
|
|
|
StreamDisplayWidget* streamW = new StreamDisplayWidget();//流线窗口初始化参数
|
|
StreamDisplayWidget* streamW = new StreamDisplayWidget();//流线窗口初始化参数
|
|
- rsMeshManager->SetStremWidget(streamW);
|
|
|
|
|
|
+ rsManager->SetStremWidget(streamW);
|
|
/********************************************/
|
|
/********************************************/
|
|
renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;//设置当前窗口模型状态
|
|
renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;//设置当前窗口模型状态
|
|
if(qmapResultmanager.contains(object_->proId)){//加载不同的结果文件
|
|
if(qmapResultmanager.contains(object_->proId)){//加载不同的结果文件
|
|
delete qmapResultmanager.value(object_->proId);
|
|
delete qmapResultmanager.value(object_->proId);
|
|
}
|
|
}
|
|
- qmapResultmanager[object_->proId]=(set_map_resultManager(object_,rsMeshManager));
|
|
|
|
|
|
+ qmapResultmanager[object_->proId]=(set_map_resultManager(object_,rsManager));
|
|
|
|
|
|
contour_sendrange_flag = true;//标志位,第一次加载result,即为真,云图发送range
|
|
contour_sendrange_flag = true;//标志位,第一次加载result,即为真,云图发送range
|
|
line_sendrange_flag = true;//标志位,第一次加载result,即为真,等值线发送range
|
|
line_sendrange_flag = true;//标志位,第一次加载result,即为真,等值线发送range
|
|
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_contour",buildResultImport_msg("Contour",rsMeshManager)));//发送云图结果数据
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_line",buildResultImport_msg("Line",rsMeshManager)));//发送等值线结果数据
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_vector",buildResultImport_msg("Vector",rsMeshManager)));//发送矢量结果数据
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_solidsurface",buildResultImport_msg("Solidsurface",rsMeshManager)));//发送矢量结果数据
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_stream",buildResultImport_msg("Stream",rsMeshManager)));//发送流线结果数据
|
|
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_contour",buildResultImport_msg("Contour",rsManager)));//发送云图结果数据
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_line",buildResultImport_msg("Line",rsManager)));//发送等值线结果数据
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_vector",buildResultImport_msg("Vector",rsManager)));//发送矢量结果数据
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_solidsurface",buildResultImport_msg("Solidsurface",rsManager)));//发送实体表面结果数据
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult_stream",buildResultImport_msg("Stream",rsManager)));//发送流线结果数据
|
|
send_picture(object_,renderer_);
|
|
send_picture(object_,renderer_);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -385,13 +436,12 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
bool handlePool::result_contourdisplay(boostJsonObject *object_,QVTKRenderer* render_)
|
|
bool handlePool::result_contourdisplay(boostJsonObject *object_,QVTKRenderer* render_)
|
|
{
|
|
{
|
|
ContourDisplay* condis = NULL;
|
|
ContourDisplay* condis = NULL;
|
|
-
|
|
|
|
if(!qmapResultmanager.contains(object_->proId)) return false;
|
|
if(!qmapResultmanager.contains(object_->proId)) return false;
|
|
render_ = qmapRender[object_->proId];
|
|
render_ = qmapRender[object_->proId];
|
|
if(map_contourdisplay.contains(object_->proId)){
|
|
if(map_contourdisplay.contains(object_->proId)){
|
|
condis = map_contourdisplay.value(object_->proId);//to do
|
|
condis = map_contourdisplay.value(object_->proId);//to do
|
|
}else{
|
|
}else{
|
|
- condis = new ContourDisplay(qmapResultmanager[object_->proId]->resultMeshManager_);
|
|
|
|
|
|
+ condis = new ContourDisplay(qmapResultmanager[object_->proId]->resultManager_);
|
|
map_contourdisplay.insert(object_->proId,condis);
|
|
map_contourdisplay.insert(object_->proId,condis);
|
|
}
|
|
}
|
|
condis->contourdisplay_execute(object_);
|
|
condis->contourdisplay_execute(object_);
|
|
@@ -420,7 +470,7 @@ bool handlePool::result_linedisplay(boostJsonObject *object_,QVTKRenderer* rende
|
|
if(map_linedisplay.contains(object_->proId)){
|
|
if(map_linedisplay.contains(object_->proId)){
|
|
linedis = map_linedisplay.value(object_->proId);//to do
|
|
linedis = map_linedisplay.value(object_->proId);//to do
|
|
}else{
|
|
}else{
|
|
- linedis = new LineDisplay(qmapResultmanager[object_->proId]->resultMeshManager_);
|
|
|
|
|
|
+ linedis = new LineDisplay(qmapResultmanager[object_->proId]->resultManager_);
|
|
map_linedisplay.insert(object_->proId,linedis);
|
|
map_linedisplay.insert(object_->proId,linedis);
|
|
}
|
|
}
|
|
linedis->linedisplay_execute(object_);
|
|
linedis->linedisplay_execute(object_);
|
|
@@ -450,7 +500,7 @@ bool handlePool::result_vectordisplay(boostJsonObject *object_, QVTKRenderer *re
|
|
if(map_vectordisplay.contains(object_->proId)){
|
|
if(map_vectordisplay.contains(object_->proId)){
|
|
vecdis = map_vectordisplay[object_->proId];//to do
|
|
vecdis = map_vectordisplay[object_->proId];//to do
|
|
}else{
|
|
}else{
|
|
- vecdis = new Vectordisplay(qmapResultmanager[object_->proId]->resultMeshManager_);
|
|
|
|
|
|
+ vecdis = new Vectordisplay(qmapResultmanager[object_->proId]->resultManager_);
|
|
map_vectordisplay.insert(object_->proId,vecdis);
|
|
map_vectordisplay.insert(object_->proId,vecdis);
|
|
}
|
|
}
|
|
vecdis->vectordisplay_execute(object_);
|
|
vecdis->vectordisplay_execute(object_);
|
|
@@ -473,7 +523,7 @@ bool handlePool::result_solidsurfacedisplay(boostJsonObject *object_, QVTKRender
|
|
if(map_solidsdisplay.contains(object_->proId)){
|
|
if(map_solidsdisplay.contains(object_->proId)){
|
|
solidfdis = map_solidsdisplay[object_->proId];//to do
|
|
solidfdis = map_solidsdisplay[object_->proId];//to do
|
|
}else{
|
|
}else{
|
|
- solidfdis = new SolidSurface(qmapResultmanager[object_->proId]->resultMeshManager_);
|
|
|
|
|
|
+ solidfdis = new SolidSurface(qmapResultmanager[object_->proId]->resultManager_);
|
|
map_solidsdisplay.insert(object_->proId,solidfdis);
|
|
map_solidsdisplay.insert(object_->proId,solidfdis);
|
|
}
|
|
}
|
|
solidfdis->solidsurfce_execute(object_);
|
|
solidfdis->solidsurfce_execute(object_);
|
|
@@ -493,7 +543,7 @@ bool handlePool::result_slicedisplay(boostJsonObject *object_, QVTKRenderer *ren
|
|
SliceWidget *slicedis = NULL;
|
|
SliceWidget *slicedis = NULL;
|
|
if(!qmapResultmanager.contains(object_->proId))return false;
|
|
if(!qmapResultmanager.contains(object_->proId))return false;
|
|
render_ = qmapRender[object_->proId];
|
|
render_ = qmapRender[object_->proId];
|
|
- ResultMeshManager* resultmm = qmapResultmanager[object_->proId]->resultMeshManager_;
|
|
|
|
|
|
+ ResultManager* resultmm = qmapResultmanager[object_->proId]->resultManager_;
|
|
if(map_slicedisplay.contains(object_->proId)){
|
|
if(map_slicedisplay.contains(object_->proId)){
|
|
slicedis = map_slicedisplay[object_->proId];//to do
|
|
slicedis = map_slicedisplay[object_->proId];//to do
|
|
}else{
|
|
}else{
|
|
@@ -536,7 +586,7 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
|
|
StreamWidget* streamdis = NULL;
|
|
StreamWidget* streamdis = NULL;
|
|
if(!qmapResultmanager.contains(object_->proId))return false;
|
|
if(!qmapResultmanager.contains(object_->proId))return false;
|
|
render_ = qmapRender[object_->proId];
|
|
render_ = qmapRender[object_->proId];
|
|
- ResultMeshManager* resultmm = qmapResultmanager[object_->proId]->resultMeshManager_;
|
|
|
|
|
|
+ ResultManager* resultmm = qmapResultmanager[object_->proId]->resultManager_;
|
|
if(map_streamdisplay.contains(object_->proId)){
|
|
if(map_streamdisplay.contains(object_->proId)){
|
|
streamdis = map_streamdisplay[object_->proId];
|
|
streamdis = map_streamdisplay[object_->proId];
|
|
}else{
|
|
}else{
|
|
@@ -544,20 +594,26 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
|
|
map_streamdisplay.insert(object_->proId,streamdis);
|
|
map_streamdisplay.insert(object_->proId,streamdis);
|
|
}
|
|
}
|
|
if(type == "create"){
|
|
if(type == "create"){
|
|
- resultmm->streamW_->current_u = stoi(object_->sm_struct->u.c_str());
|
|
|
|
- resultmm->streamW_->current_v = stoi(object_->sm_struct->v.c_str());
|
|
|
|
- resultmm->streamW_->current_w = stoi(object_->sm_struct->w.c_str());
|
|
|
|
- string u = resultmm->streamW_->GetUData();
|
|
|
|
- string v = resultmm->streamW_->GetVData();
|
|
|
|
- string w = resultmm->streamW_->GetWData();
|
|
|
|
- resultmm->CreatVectorSource(u,v,w);
|
|
|
|
- if(resultmm->currAddDataSource_){
|
|
|
|
- emit sendImg_handlePoolToSendstate(object_->ToJson("create_stream",buildResultImport_msg("create_stream",resultmm,object_)));//发送流线数据
|
|
|
|
- }
|
|
|
|
- }else if(type == "select"){
|
|
|
|
|
|
+ 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;
|
|
|
|
+ string u = resultmm->streamW_->GetUData();
|
|
|
|
+ string v = resultmm->streamW_->GetVData();
|
|
|
|
+ string w = resultmm->streamW_->GetWData();
|
|
|
|
+ resultmm->CreatVectorSource(u,v,w,object_->sm_struct->x,object_->sm_struct->y,object_->sm_struct->z);
|
|
|
|
+ if(resultmm->currAddDataSource_){
|
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("create_stream",buildResultImport_msg("create_stream",resultmm,object_)));//发送流线数据
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ //抛出异常
|
|
|
|
+ }
|
|
|
|
+ //}else if(type == "select"){
|
|
resultmm->SetStreamSelectState(true);
|
|
resultmm->SetStreamSelectState(true);
|
|
- }else if(type == "deletelast"){
|
|
|
|
- resultmm->SetStreamSelectState(false);
|
|
|
|
|
|
+ //}else if(type == "deletelast"){
|
|
|
|
+ //resultmm->SetStreamSelectState(false);
|
|
}else if(type == "deleteall"){
|
|
}else if(type == "deleteall"){
|
|
resultmm->DeleteAllStream();
|
|
resultmm->DeleteAllStream();
|
|
}else if(type == "apply"){
|
|
}else if(type == "apply"){
|
|
@@ -567,29 +623,6 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
-/*
|
|
|
|
- * @brief: save the tecplot filename into QStringList
|
|
|
|
- * @param: filePath
|
|
|
|
- * @ret: QStringList
|
|
|
|
- * @birth: created by czm in 20230420
|
|
|
|
- */
|
|
|
|
-//QStringList handlePool::getFileNameList(QString filePath)
|
|
|
|
-//{
|
|
|
|
-// QStringList string_list;
|
|
|
|
-// QDir dir(filePath); //需不需要加"\\"?
|
|
|
|
-// if(!dir.exists()){
|
|
|
|
-// cout <<"filePath error!please check again!"<<endl;
|
|
|
|
-// return string_list;
|
|
|
|
-// }
|
|
|
|
-// dir.setFilter(QDir::Files);
|
|
|
|
-// QStringList list = dir.entryList(QDir::Files);
|
|
|
|
-// foreach (QFileInfo file, list) {
|
|
|
|
-// if(file.fileName().split(".").back() == "plt"){
|
|
|
|
-// string_list.append(file.fileName());
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// return string_list;
|
|
|
|
-//}
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* @brief: build result file mash which need to be sent to java
|
|
* @brief: build result file mash which need to be sent to java
|
|
@@ -597,7 +630,7 @@ bool handlePool::result_streamdisplay(boostJsonObject *object_, QVTKRenderer *re
|
|
* @ret: msg(QString)
|
|
* @ret: msg(QString)
|
|
* @birth: created by czm in 20230424
|
|
* @birth: created by czm in 20230424
|
|
*/
|
|
*/
|
|
-QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshManager *cmanager)
|
|
|
|
|
|
+QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultManager *cmanager)
|
|
{
|
|
{
|
|
QMap<QString,string> map_tmp;
|
|
QMap<QString,string> map_tmp;
|
|
cmanager->SetNameTypeMap();
|
|
cmanager->SetNameTypeMap();
|
|
@@ -606,7 +639,11 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshMa
|
|
map<string,int> map_ = cmanager->GetNameTypeMap();
|
|
map<string,int> map_ = cmanager->GetNameTypeMap();
|
|
string msg;
|
|
string msg;
|
|
for(map<string,int>::iterator it=map_.begin();it!=map_.end();it++){
|
|
for(map<string,int>::iterator it=map_.begin();it!=map_.end();it++){
|
|
- msg+=removeSpaces(it->first);
|
|
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
|
|
+ msg+=removeSpaces(it->first);
|
|
|
|
+ }else{
|
|
|
|
+ msg+=it->first;
|
|
|
|
+ }
|
|
msg+="#";
|
|
msg+="#";
|
|
msg+=to_string(it->second);//0-point scalar 1-cell scalar
|
|
msg+=to_string(it->second);//0-point scalar 1-cell scalar
|
|
msg+=",";
|
|
msg+=",";
|
|
@@ -615,7 +652,11 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshMa
|
|
map_tmp.insert("nameTypes",msg);
|
|
map_tmp.insert("nameTypes",msg);
|
|
msg.clear();
|
|
msg.clear();
|
|
for(int i=0;i<cmanager->GetMeshScalarNameVec().size();i++){
|
|
for(int i=0;i<cmanager->GetMeshScalarNameVec().size();i++){
|
|
- msg += removeSpaces(cmanager->GetMeshScalarNameVec()[i]);
|
|
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
|
|
+ msg += removeSpaces(cmanager->GetMeshScalarNameVec()[i]);
|
|
|
|
+ }else{
|
|
|
|
+ msg+=cmanager->GetMeshScalarNameVec()[i];
|
|
|
|
+ }
|
|
msg += ",";
|
|
msg += ",";
|
|
}
|
|
}
|
|
msg = msg.erase(msg.size()-1);
|
|
msg = msg.erase(msg.size()-1);
|
|
@@ -629,7 +670,11 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshMa
|
|
map_tmp.insert("range1",msg);
|
|
map_tmp.insert("range1",msg);
|
|
msg.clear();
|
|
msg.clear();
|
|
msg = cmanager->GetMeshScalarNameVec()[0];
|
|
msg = cmanager->GetMeshScalarNameVec()[0];
|
|
- map_tmp.insert("scalarName",removeSpaces(msg));
|
|
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
|
|
+ map_tmp.insert("scalarName",removeSpaces(msg));
|
|
|
|
+ }else{
|
|
|
|
+ map_tmp.insert("scalarName",msg);
|
|
|
|
+ }
|
|
}else if(type == "Vector"){
|
|
}else if(type == "Vector"){
|
|
string msg;
|
|
string msg;
|
|
vector<string> vec_u = cmanager->vectorWidget_->dataU;
|
|
vector<string> vec_u = cmanager->vectorWidget_->dataU;
|
|
@@ -673,21 +718,33 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshMa
|
|
string msg;
|
|
string msg;
|
|
StreamDisplayWidget* smdW = cmanager->streamW_;
|
|
StreamDisplayWidget* smdW = cmanager->streamW_;
|
|
for(int i = 0; i<smdW->dataU.size();i++){
|
|
for(int i = 0; i<smdW->dataU.size();i++){
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
msg+=removeSpaces(smdW->dataU[i]);
|
|
msg+=removeSpaces(smdW->dataU[i]);
|
|
|
|
+ }else{
|
|
|
|
+ msg+=smdW->dataU[i];
|
|
|
|
+ }
|
|
msg+=",";
|
|
msg+=",";
|
|
}
|
|
}
|
|
msg = msg.erase(msg.size()-1);
|
|
msg = msg.erase(msg.size()-1);
|
|
map_tmp.insert("dataU",msg);
|
|
map_tmp.insert("dataU",msg);
|
|
msg.clear();
|
|
msg.clear();
|
|
for(int j = 0;j<smdW->dataV.size();j++){
|
|
for(int j = 0;j<smdW->dataV.size();j++){
|
|
- msg+=removeSpaces(smdW->dataV[j]);
|
|
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
|
|
+ msg+=removeSpaces(smdW->dataV[j]);
|
|
|
|
+ }else{
|
|
|
|
+ msg+=smdW->dataV[j];
|
|
|
|
+ }
|
|
msg+=",";
|
|
msg+=",";
|
|
}
|
|
}
|
|
msg=msg.erase(msg.size()-1);
|
|
msg=msg.erase(msg.size()-1);
|
|
map_tmp.insert("dataV",msg);
|
|
map_tmp.insert("dataV",msg);
|
|
msg.clear();
|
|
msg.clear();
|
|
for(int k = 0; k <smdW->dataW.size();k++){
|
|
for(int k = 0; k <smdW->dataW.size();k++){
|
|
- msg+=removeSpaces(smdW->dataW[k]);
|
|
|
|
|
|
+ if(cmanager->fileType!="VTK"){
|
|
|
|
+ msg+=removeSpaces(smdW->dataW[k]);
|
|
|
|
+ }else{
|
|
|
|
+ msg+=smdW->dataW[k];
|
|
|
|
+ }
|
|
msg+=",";
|
|
msg+=",";
|
|
}
|
|
}
|
|
msg = msg.erase(msg.size()-1);
|
|
msg = msg.erase(msg.size()-1);
|
|
@@ -703,7 +760,7 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultMeshMa
|
|
* @ret: msg(QString)
|
|
* @ret: msg(QString)
|
|
* @birth: created by czm in 20230506
|
|
* @birth: created by czm in 20230506
|
|
*/
|
|
*/
|
|
-QMap<QString, string> handlePool::buildResultImport_msg(QString type, ResultMeshManager *cmanager, boostJsonObject *object)
|
|
|
|
|
|
+QMap<QString, string> handlePool::buildResultImport_msg(QString type, ResultManager *cmanager, boostJsonObject *object)
|
|
{
|
|
{
|
|
QMap<QString,string> map_tmp;
|
|
QMap<QString,string> map_tmp;
|
|
if(type == "addpage_slice"){
|
|
if(type == "addpage_slice"){
|
|
@@ -748,6 +805,19 @@ QMap<QString, string> handlePool::buildResultImport_msg(QString type, ResultMesh
|
|
return map_tmp;
|
|
return map_tmp;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * @brief: build error msg to send java
|
|
|
|
+ * @param: QString
|
|
|
|
+ * @ret: map
|
|
|
|
+ * @birth: created by czm in 20230517
|
|
|
|
+ */
|
|
|
|
+QMap<QString, string> handlePool::buildError_msg(string msg)
|
|
|
|
+{
|
|
|
|
+ QMap<QString,string> map;
|
|
|
|
+ map.insert("Error",msg);
|
|
|
|
+ return map;
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* @brief: send picture
|
|
* @brief: send picture
|
|
* @param: boostJsonObject QVTKRenderer
|
|
* @param: boostJsonObject QVTKRenderer
|
|
@@ -827,10 +897,10 @@ pid_meshManager *handlePool::set_map_meshManager(boostJsonObject *object, MeshMa
|
|
* @ret: pid_resultManager
|
|
* @ret: pid_resultManager
|
|
* @birth: created by czm in 20230425
|
|
* @birth: created by czm in 20230425
|
|
*/
|
|
*/
|
|
-pid_resultManager *handlePool::set_map_resultManager(boostJsonObject *object, ResultMeshManager *rmanager_)
|
|
|
|
|
|
+pid_resultManager *handlePool::set_map_resultManager(boostJsonObject *object, ResultManager *rmanager_)
|
|
{
|
|
{
|
|
pid_resultManager *resultManager_p = new pid_resultManager();
|
|
pid_resultManager *resultManager_p = new pid_resultManager();
|
|
- resultManager_p->resultMeshManager_ = rmanager_;
|
|
|
|
|
|
+ resultManager_p->resultManager_ = rmanager_;
|
|
resultManager_p->fileName = object->fileName;
|
|
resultManager_p->fileName = object->fileName;
|
|
resultManager_p->filePath = object->filePath;
|
|
resultManager_p->filePath = object->filePath;
|
|
return resultManager_p;
|
|
return resultManager_p;
|