|
@@ -1213,6 +1213,7 @@ void handlePool::animation_render(string filename,int step,QVTKRenderer* rendere
|
|
|
}
|
|
|
|
|
|
ResultManager* rsManager = NULL;
|
|
|
+ set<string> zonename_set;
|
|
|
if(type_ == "one_plt_ascii_file"||type_ == "one_plt_binary_file"){
|
|
|
renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;
|
|
|
bool flag = true;
|
|
@@ -1225,6 +1226,10 @@ void handlePool::animation_render(string filename,int step,QVTKRenderer* rendere
|
|
|
string fname_ = object_->filePath+"/"+temp[i];
|
|
|
#endif
|
|
|
bool f =rsManager->LoadData(QString::fromStdString(fname_));
|
|
|
+ for(int j=0;j<rsManager->meshObj_->GetZoneNumber();j++){
|
|
|
+ zonename_set.insert(rsManager->meshObj_->GetZoneName()[j]);
|
|
|
+ }
|
|
|
+
|
|
|
if(f){
|
|
|
rsManager->SetSaveIndex(0);
|
|
|
if(renderer_){
|
|
@@ -1281,7 +1286,7 @@ void handlePool::animation_render(string filename,int step,QVTKRenderer* rendere
|
|
|
}
|
|
|
}
|
|
|
if(!hidezonenames_tmp.empty()){
|
|
|
- set_hidezone_animation(hidezonenames_tmp,rsManager);
|
|
|
+ set_hidezone_animation(hidezonenames_tmp,rsManager,zonename_set);
|
|
|
}
|
|
|
|
|
|
renderer_->camera_->TransformToIsometric();
|
|
@@ -1356,17 +1361,18 @@ void handlePool::animation_render(string filename,int step,QVTKRenderer* rendere
|
|
|
* @ret: void
|
|
|
* @birth: created by czm in 20230627
|
|
|
*/
|
|
|
-void handlePool::set_hidezone_animation(vector<string> &hidezonename, ResultManager *cmanager)
|
|
|
+void handlePool::set_hidezone_animation(vector<string> &hidezonename, ResultManager *cmanager,set<string> zonename_set)
|
|
|
{
|
|
|
- int num = cmanager->meshObj_->GetZoneNumber();
|
|
|
- vector<string> zonename_ = cmanager->meshObj_->GetZoneName();
|
|
|
+ int num = zonename_set.size();
|
|
|
vector<bool> vec_bool;
|
|
|
vec_bool.resize(num,true);
|
|
|
+ int j=0;
|
|
|
for(int i =0;i<hidezonename.size();i++){
|
|
|
- for(int j =0;j<zonename_.size();j++){
|
|
|
- if(hidezonename[i]==zonename_[j]){
|
|
|
+ for(set<string>::iterator iter=zonename_set.begin();iter!=zonename_set.end();iter++){
|
|
|
+ if(hidezonename[i]==(*iter)){
|
|
|
vec_bool[j] = false;
|
|
|
}
|
|
|
+ ++j;
|
|
|
}
|
|
|
}
|
|
|
cmanager->SetShowHideState(vec_bool);
|