|
@@ -296,13 +296,29 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
size_t found = object_->fileName.find_first_of(',');
|
|
|
if(found==string::npos){//单个文件
|
|
|
vector<string> tmp = stringSplit(object_->fileName,'.');
|
|
|
- if(tmp[1]!="vtk"){
|
|
|
+ if(tmp[1]=="vtk"){
|
|
|
+ type_ = "vtkfile";
|
|
|
+ }else if(tmp[1]=="dat"){
|
|
|
+ type_ = "one_plt_ascii_file";
|
|
|
+ }else if(tmp[1]=="plt"){
|
|
|
+ type_ = "one_plt_binary_file";
|
|
|
+ }else{
|
|
|
emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("please open vtk file")));
|
|
|
+ type_ = "";
|
|
|
return false;
|
|
|
}
|
|
|
- type_ = "vtkfile";
|
|
|
}else{
|
|
|
- type_ = "notvtkfile";
|
|
|
+ vector<string> tmp = stringSplit(object_->fileName,',');
|
|
|
+ vector<string> tmp_file_name=stringSplit(tmp[0],'.');
|
|
|
+ if(tmp_file_name[1]=="vtk"){
|
|
|
+ emit sendImg_handlePoolToSendstate(object_->ToJson("exception",buildError_msg("please open one vtk file")));
|
|
|
+ type_ = "";
|
|
|
+ return false;
|
|
|
+ }else if(tmp_file_name[1]=="dat"){
|
|
|
+ type_ = "plt_ascii_files";
|
|
|
+ }else if(tmp_file_name[1]=="plt"){
|
|
|
+ type_ = "plt_binary_files";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//判断有无窗口
|
|
@@ -343,7 +359,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
|
|
|
ResultManager* rsManager = NULL;
|
|
|
//rsManager->Clear();
|
|
|
- if(type_ == "notvtkfile"){
|
|
|
+ if(type_ == "plt_ascii_files"||type_=="plt_binary_files"){
|
|
|
|
|
|
vector<string> tmp = stringSplit(object_->fileName,',');
|
|
|
QStringList fileName_list;
|
|
@@ -365,7 +381,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
for(int i =0;i<fileName_list.size();i++){
|
|
|
bool f =rsManager->LoadData(QString::fromStdString(object_->filePath)+"/"+fileName_list[0]);//加载
|
|
|
if(f){
|
|
|
- rsManager->SetSaveIndex(0);
|
|
|
+ rsManager->SetSaveIndex(i);
|
|
|
if(renderer_){
|
|
|
rsManager->DisplayMesh(renderer_);
|
|
|
}
|
|
@@ -385,6 +401,35 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
|
|
|
}else {
|
|
|
return false;
|
|
|
}
|
|
|
+ }else if(type_ == "one_plt_ascii_file"||type_ == "one_plt_binary_file"){
|
|
|
+ bool flag = true;
|
|
|
+ rsManager = new ResultMeshManager();
|
|
|
+ rsManager->Clear();
|
|
|
+ if(object_->fileType == "ascii"){
|
|
|
+ rsManager->fileType ="plt_ascii";
|
|
|
+ }else if(object_->fileType == "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;
|
|
|
+ }
|
|
|
+ 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();
|