|
@@ -248,10 +248,10 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
|
|
|
}
|
|
|
QString m_filePath = QString::fromStdString(object->filePath);//测试路径
|
|
|
//QString m_filePath = "F:\\czm\\vtkfile\\tfg.ugrid";
|
|
|
-// if(object->solverConfigid=="b867ebb4a49d4c7a8ce66d6b07b6f333"){
|
|
|
-// m_filePath = "F:\\czm\\vtkfile\\f.vtk";
|
|
|
-// //m_filePath = "F:\\czm\\vtkfile\\forward.ugrid";
|
|
|
-// }
|
|
|
+ // if(object->solverConfigid=="b867ebb4a49d4c7a8ce66d6b07b6f333"){
|
|
|
+ // m_filePath = "F:\\czm\\vtkfile\\f.vtk";
|
|
|
+ // //m_filePath = "F:\\czm\\vtkfile\\forward.ugrid";
|
|
|
+ // }
|
|
|
|
|
|
//QString m_filePath = "C:\\Users\\Administrator\\Desktop\\VTK\\f.vtk";
|
|
|
QFileInfo fileinfo_(m_filePath);
|
|
@@ -378,7 +378,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
if(object_->fileType == "ascii"){
|
|
|
rsManager->fileType ="plt_ascii";
|
|
|
}else if(object_->fileType == "binary"){
|
|
|
- rsManager->fileType = "plt_binary";
|
|
|
+ rsManager->fileType = "plt_binary";
|
|
|
}
|
|
|
for(int i =0;i<fileName_list.size();i++){
|
|
|
bool f =rsManager->LoadData(QString::fromStdString(object_->filePath)+"/"+fileName_list[i]);//加载
|
|
@@ -410,17 +410,17 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
if(object_->fileType == "ascii"){
|
|
|
rsManager->fileType ="plt_ascii";
|
|
|
}else if(object_->fileType == "binary"){
|
|
|
- rsManager->fileType = "plt_binary";
|
|
|
+ rsManager->fileType = "plt_binary";
|
|
|
}
|
|
|
- bool f =rsManager->LoadData(QString::fromStdString(object_->filePath)+"/"+QString::fromStdString(object_->fileName));//加载
|
|
|
- if(f){
|
|
|
- rsManager->SetSaveIndex(0);
|
|
|
- if(renderer_){
|
|
|
- rsManager->DisplayMesh(renderer_);
|
|
|
- }
|
|
|
- }else{
|
|
|
- flag = false;
|
|
|
+ bool f =rsManager->LoadData(QString::fromStdString(object_->filePath)+"/"+QString::fromStdString(object_->fileName));//加载
|
|
|
+ if(f){
|
|
|
+ rsManager->SetSaveIndex(0);
|
|
|
+ if(renderer_){
|
|
|
+ rsManager->DisplayMesh(renderer_);
|
|
|
}
|
|
|
+ }else{
|
|
|
+ flag = false;
|
|
|
+ }
|
|
|
if(flag)
|
|
|
{
|
|
|
rsManager->HideAllActors();
|
|
@@ -496,6 +496,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
contour_sendrange_flag = true;//标志位,第一次加载result,即为真,云图发送range
|
|
|
line_sendrange_flag = true;//标志位,第一次加载result,即为真,等值线发送range
|
|
|
|
|
|
+ get_init_scalar_range(rsManager);
|
|
|
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)));//发送矢量结果数据
|
|
@@ -834,6 +835,26 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultManage
|
|
|
}else{
|
|
|
map_tmp.insert("scalarName",msg);
|
|
|
}
|
|
|
+ msg.clear();
|
|
|
+ vector<string> temp_scalar = cmanager->GetMeshScalarNameVec();
|
|
|
+ if(cmanager->fileType=="plt_binary"){
|
|
|
+ for(int i=0;i<temp_scalar.size();i++){
|
|
|
+ temp_scalar[i] = removeSpaces(temp_scalar[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ set<double>::iterator iter;
|
|
|
+ for(int i =0;i<temp_scalar.size();i++){
|
|
|
+ msg+=temp_scalar[i];
|
|
|
+ msg+="#";
|
|
|
+ iter = allscalarrange[temp_scalar[i]].begin();
|
|
|
+ msg+=to_string(*iter);
|
|
|
+ iter = --allscalarrange[temp_scalar[i]].end();
|
|
|
+ msg+="#";
|
|
|
+ msg+=to_string(*iter);
|
|
|
+ msg+=",";
|
|
|
+ }
|
|
|
+ msg = msg.erase(msg.size()-1);
|
|
|
+ map_tmp.insert("scalarrange",msg);
|
|
|
}else if(type == "Vector"){
|
|
|
string msg;
|
|
|
vector<string> vec_u = cmanager->vectorWidget_->dataU;
|
|
@@ -969,9 +990,9 @@ QMap<QString, string> handlePool::buildResultImport_msg(QString type, ResultMana
|
|
|
map_tmp.insert("max_position_z",to_string(sdwidget->GetPositionRange()[5]));
|
|
|
for(int i =0; i<sdwidget->GetVariableName_vector().size();i++){
|
|
|
if(cmanager->fileType=="plt_binary"){
|
|
|
- msg+= removeSpaces(sdwidget->GetVariableName_vector()[i]);
|
|
|
+ msg+= removeSpaces(sdwidget->GetVariableName_vector()[i]);
|
|
|
}else{
|
|
|
- msg+= sdwidget->GetVariableName_vector()[i];
|
|
|
+ msg+= sdwidget->GetVariableName_vector()[i];
|
|
|
}
|
|
|
msg+=",";
|
|
|
}
|
|
@@ -1044,6 +1065,12 @@ void handlePool::send_picture(boostJsonObject *object, QVTKRenderer *render_)
|
|
|
object = NULL;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * @brief: send picture
|
|
|
+ * @param: boostJsonObject QVTKRenderer
|
|
|
+ * @ret: void
|
|
|
+ * @birth: created by czm in 20230425
|
|
|
+ */
|
|
|
void handlePool::send_picture(boostJsonObject *object, QVTKRenderer *render_, int step)
|
|
|
{
|
|
|
render_->CaptureWindowImages();
|
|
@@ -1164,7 +1191,6 @@ void handlePool::clear_map_pid(string pid)
|
|
|
map_slicedisplay.erase(iter5);
|
|
|
QMap<string,StreamWidget*>::iterator iter6 = map_streamdisplay.find(pid);
|
|
|
map_streamdisplay.erase(iter6);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1195,3 +1221,33 @@ vector<string> handlePool::stringSplit(const string& str, char delim) {
|
|
|
}
|
|
|
return elems;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+/*
|
|
|
+ * @brief: get all scalar range
|
|
|
+ * @param: void
|
|
|
+ * @ret: void
|
|
|
+ * @birth: created by czm in 20230625
|
|
|
+ */
|
|
|
+void handlePool::get_init_scalar_range(ResultManager* cmanager)
|
|
|
+{
|
|
|
+ if(cmanager->solveTimes_.size()>1)return;
|
|
|
+ double sltime = *(cmanager->solveTimes_.begin());
|
|
|
+ map<double,map<string,vtkVISUnContour*>>::iterator it1 = cmanager->vtkVisZoneMeshMap_.find(sltime);
|
|
|
+ vector<string> temp_scalar = cmanager->GetMeshScalarNameVec();
|
|
|
+ if(cmanager->fileType == "plt_binary"){
|
|
|
+ for(int i =0;i<temp_scalar.size();i++){
|
|
|
+ temp_scalar[i] = removeSpaces(temp_scalar[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(int i =0;i<temp_scalar.size();i++){
|
|
|
+ set<double> temp;
|
|
|
+ for(map<string,vtkVISUnContour*>::iterator unIt = it1->second.begin();unIt!=it1->second.end();unIt++){
|
|
|
+ double range[2];
|
|
|
+ unIt->second->GetScalarRange(range,(char*)temp_scalar[i].c_str());
|
|
|
+ temp.insert(range[0]);
|
|
|
+ temp.insert(range[1]);
|
|
|
+ }
|
|
|
+ allscalarrange[temp_scalar[i]] = temp;
|
|
|
+ }
|
|
|
+}
|