|  | @@ -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);
 |