|
@@ -105,7 +105,7 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
|
|
|
render_->CaptureWindowImages();
|
|
|
if(!render_->img.isEmpty()){
|
|
|
std::string img_ = render_->img.toStdString();
|
|
|
- std::string json_ = object->ToJson(img_);
|
|
|
+ std::string json_ = object->ToJson("img",img_);
|
|
|
emit sendImg_handlePoolToSendstate(json_);//信号
|
|
|
}
|
|
|
delete object;
|
|
@@ -151,12 +151,12 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
|
|
|
}else if(object->action == "ResultImport"){//导入结果
|
|
|
if(!resultImport(object,render_))return;
|
|
|
}else if(object->action == "ContourDisplay"){//显示云图
|
|
|
- if(!result_contourdisplay(object)){
|
|
|
+ if(!result_contourdisplay(object,render_)){
|
|
|
cout<<"please import tecplot result first!"<<endl;
|
|
|
}
|
|
|
return;
|
|
|
}else if(object->action == "LineDisplay"){//显示等值线图
|
|
|
- if(!result_linedisplay(object)){
|
|
|
+ if(!result_linedisplay(object,render_)){
|
|
|
cout<<"please import tecplot result first!"<<endl;
|
|
|
}
|
|
|
return;
|
|
@@ -164,7 +164,7 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
|
|
|
render_->CaptureWindowImages();
|
|
|
if(!render_->img.isEmpty()){
|
|
|
std::string img_ = render_->img.toStdString();
|
|
|
- std::string json_ = object->ToJson(img_);
|
|
|
+ std::string json_ = object->ToJson("img",img_);
|
|
|
emit sendImg_handlePoolToSendstate(json_);//信号
|
|
|
}
|
|
|
delete object;
|
|
@@ -209,7 +209,7 @@ void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
|
|
|
*/
|
|
|
bool handlePool::resultImport(vtkJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
{
|
|
|
- QStringList fileName_list=getFileNameList(object_->filePath);
|
|
|
+ QStringList fileName_list=object_->getFileName().split(",");
|
|
|
if(fileName_list.isEmpty()){
|
|
|
cout<< "No Tecplot file is ready to read!"<<endl;
|
|
|
return false;
|
|
@@ -223,7 +223,8 @@ bool handlePool::resultImport(vtkJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
rsMeshManager = new ResultMeshManager();
|
|
|
map_resultmanager.insert(object_->proId,rsMeshManager);
|
|
|
for(int i =0;i<fileName_list.size();i++){
|
|
|
- bool f =rsMeshManager->LoadData(fileName_list[i]);
|
|
|
+ //bool f =rsMeshManager->LoadData(fileName_list[i]);
|
|
|
+ bool f =rsMeshManager->LoadData(object_->filePath+"/"+fileName_list[i]);
|
|
|
if(f){
|
|
|
rsMeshManager->SetSaveIndex(i);
|
|
|
if(renderer_){
|
|
@@ -236,12 +237,14 @@ bool handlePool::resultImport(vtkJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
rsMeshManager->SetNameTypeMap();
|
|
|
renderer_->ZoomToExtents();
|
|
|
}
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("importResult",buildResultImport_msg(rsMeshManager).toStdString()));
|
|
|
renderer_->CaptureWindowImages();
|
|
|
if(!renderer_->img.isEmpty()){
|
|
|
std::string img_ = renderer_->img.toStdString();
|
|
|
- std::string json_ = object_->ToJson(img_);
|
|
|
+ std::string json_ = object_->ToJson("img",img_);
|
|
|
emit sendImg_handlePoolToSendstate(json_);//信号
|
|
|
}
|
|
|
+
|
|
|
delete object_;
|
|
|
object_ = NULL;
|
|
|
return true;
|
|
@@ -252,7 +255,7 @@ bool handlePool::resultImport(vtkJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
* @ret: bool
|
|
|
* @birth: created by czm in 20230421
|
|
|
*/
|
|
|
-bool handlePool::result_contourdisplay(vtkJsonObject *object_)
|
|
|
+bool handlePool::result_contourdisplay(vtkJsonObject *object_,QVTKRenderer* render_)
|
|
|
{
|
|
|
ContourDisplay* condis = NULL;
|
|
|
if(map_resultmanager.contains(object_->proId)) return false;
|
|
@@ -261,9 +264,13 @@ bool handlePool::result_contourdisplay(vtkJsonObject *object_)
|
|
|
}else{
|
|
|
condis = new ContourDisplay(map_resultmanager.value(object_->proId));
|
|
|
map_contourdisplay.insert(object_->proId,condis);
|
|
|
- //condis->contourdisplay_execute();//需传入参数
|
|
|
- std::string json_= object_->ToJson(condis->buildContourMsg().toStdString());
|
|
|
- emit sendImg_handlePoolToSendstate(json_);
|
|
|
+ condis->contourdisplay_execute(object_);
|
|
|
+ }
|
|
|
+ render_->CaptureWindowImages();
|
|
|
+ if(!render_->img.isEmpty()){
|
|
|
+ std::string img_ = render_->img.toStdString();
|
|
|
+ std::string json_ = object_->ToJson("img",img_);
|
|
|
+ emit sendImg_handlePoolToSendstate(json_);//信号
|
|
|
}
|
|
|
delete object_;
|
|
|
object_ = NULL;
|
|
@@ -276,7 +283,7 @@ bool handlePool::result_contourdisplay(vtkJsonObject *object_)
|
|
|
* @ret: bool
|
|
|
* @birth: created by czm in 20230424
|
|
|
*/
|
|
|
-bool handlePool::result_linedisplay(vtkJsonObject *object_)
|
|
|
+bool handlePool::result_linedisplay(vtkJsonObject *object_,QVTKRenderer* render_)
|
|
|
{
|
|
|
LineDisplay* linedis = NULL;
|
|
|
if(map_resultmanager.contains(object_->proId))return false;
|
|
@@ -285,9 +292,13 @@ bool handlePool::result_linedisplay(vtkJsonObject *object_)
|
|
|
}else{
|
|
|
linedis = new LineDisplay(map_resultmanager.value(object_->proId));
|
|
|
map_linedisplay.insert(object_->proId,linedis);
|
|
|
- //linedis->linedisplay_execute();//需传入参数
|
|
|
- std::string json_ = object_->ToJson(linedis->buildLineMsg().toStdString());
|
|
|
- emit sendImg_handlePoolToSendstate(json_);
|
|
|
+ linedis->linedisplay_execute(object_);
|
|
|
+ }
|
|
|
+ render_->CaptureWindowImages();
|
|
|
+ if(!render_->img.isEmpty()){
|
|
|
+ std::string img_ = render_->img.toStdString();
|
|
|
+ std::string json_ = object_->ToJson("img",img_);
|
|
|
+ emit sendImg_handlePoolToSendstate(json_);//信号
|
|
|
}
|
|
|
delete object_;
|
|
|
object_ = NULL;
|
|
@@ -300,22 +311,59 @@ bool handlePool::result_linedisplay(vtkJsonObject *object_)
|
|
|
* @ret: QStringList
|
|
|
* @birth: created by czm in 20230420
|
|
|
*/
|
|
|
-QStringList handlePool::getFileNameList(QString filePath)
|
|
|
+//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
|
|
|
+ * @param: resultmeshManager
|
|
|
+ * @ret: msg(QString)
|
|
|
+ * @birth: created by czm in 20230424
|
|
|
+ */
|
|
|
+QString handlePool::buildResultImport_msg(ResultMeshManager *cmanager)
|
|
|
{
|
|
|
- QStringList string_list;
|
|
|
- QDir dir(filePath); //需不需要加"\\"?
|
|
|
- if(!dir.exists()){
|
|
|
- cout <<"filePath error!please check again!"<<endl;
|
|
|
- return string_list;
|
|
|
+ QString msg;
|
|
|
+ msg+="NameTypeMap(";
|
|
|
+ for(auto it=cmanager->GetNameTypeMap().begin();it!=cmanager->GetNameTypeMap().end();it++){
|
|
|
+ msg+=QString::fromStdString(it->first);
|
|
|
+ msg+=" ";
|
|
|
+ msg+=QString::number(it->second);
|
|
|
+ msg+=",";
|
|
|
}
|
|
|
- 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());
|
|
|
+ msg.replace(msg.size()-1,1,")");
|
|
|
+ msg+="ScalarName_vector(";
|
|
|
+ for(int i=0;i<cmanager->GetMeshScalarNameVec().size();i++){
|
|
|
+ if(i == cmanager->GetMeshScalarNameVec().size()-1){
|
|
|
+ msg+=QString::fromStdString(cmanager->GetMeshScalarNameVec()[i]);
|
|
|
+ msg+=")";
|
|
|
}
|
|
|
+ msg += QString::fromStdString(cmanager->GetMeshScalarNameVec()[i]);
|
|
|
+ msg+=",";
|
|
|
}
|
|
|
- return string_list;
|
|
|
+ msg += "MinRange(";
|
|
|
+ msg += QString::number(cmanager->getRange()[0]);
|
|
|
+ msg += ")MaxRange(";
|
|
|
+ msg += QString::number(cmanager->getRange()[1]);
|
|
|
+ msg += ")scalarName(";
|
|
|
+ msg += QString::fromStdString(cmanager->getScalarName());
|
|
|
+ msg += ")";
|
|
|
+
|
|
|
+ return msg;
|
|
|
}
|
|
|
|
|
|
/*
|