|  | @@ -10,6 +10,7 @@
 | 
	
		
			
				|  |  |  #include <vtkActor.h>
 | 
	
		
			
				|  |  |  #include "../../acis/cmdmainprocess.h"
 | 
	
		
			
				|  |  |  #include "../../manager_acis_modeller.h"
 | 
	
		
			
				|  |  | +#include "../../component/manager/geometrymanager.h"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /*
 | 
	
	
		
			
				|  | @@ -219,6 +220,11 @@ void handlePool::operateRender(boostJsonObject* object,QVTKRenderer* render_)
 | 
	
		
			
				|  |  |              cout<<"read igs file fail!"<<endl;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return;
 | 
	
		
			
				|  |  | +    }else if(object->action == "render_igs"){
 | 
	
		
			
				|  |  | +        if(!result_displayIgs(object,render_)){
 | 
	
		
			
				|  |  | +            cout<<"display igs file fail!"<<endl;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      send_picture(object,render_);//发送图片
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -238,26 +244,28 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
 | 
	
		
			
				|  |  |          w->addTab(render_->GetWidget(),QString::fromStdString(object->proId));
 | 
	
		
			
				|  |  |      }else{
 | 
	
		
			
				|  |  |          render_ = qmapRender.value(object->proId);
 | 
	
		
			
				|  |  | -        auto flag = render_->widgetFlag;
 | 
	
		
			
				|  |  | -        if(flag == QVTKRenderer::WidgetModel::NoModel){
 | 
	
		
			
				|  |  | -        }else if(flag == QVTKRenderer::WidgetModel::UgridModel){//判断窗口当前模型
 | 
	
		
			
				|  |  | -            if(qmapManager.value(object->proId)->filePath == object->filePath){
 | 
	
		
			
				|  |  | -                send_picture(object,render_);
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }else if(flag == QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }else if(flag == QVTKRenderer::WidgetModel::VTKModel){//判断窗口当前模型
 | 
	
		
			
				|  |  | -            if(qmapManager.value(object->proId)->filePath == object->filePath){
 | 
	
		
			
				|  |  | -                send_picture(object,render_);
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +//        auto flag = render_->widgetFlag;
 | 
	
		
			
				|  |  | +//        if(flag == QVTKRenderer::WidgetModel::NoModel){
 | 
	
		
			
				|  |  | +//        }else if(flag == QVTKRenderer::WidgetModel::UgridModel){//判断窗口当前模型
 | 
	
		
			
				|  |  | +//            if(qmapManager.value(object->proId)->filePath == object->filePath){
 | 
	
		
			
				|  |  | +//                send_picture(object,render_);
 | 
	
		
			
				|  |  | +//                return;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }else if(flag == QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }else if(flag == QVTKRenderer::WidgetModel::VTKModel){//判断窗口当前模型
 | 
	
		
			
				|  |  | +//            if(qmapManager.value(object->proId)->filePath == object->filePath){
 | 
	
		
			
				|  |  | +//                send_picture(object,render_);
 | 
	
		
			
				|  |  | +//                return;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +        render_->HideAllActors();
 | 
	
		
			
				|  |  | +        render_->RemoveAllActors();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      QString m_filePath = QString::fromStdString(object->filePath);//测试路径
 | 
	
		
			
				|  |  |      QFileInfo fileinfo_(m_filePath);
 | 
	
	
		
			
				|  | @@ -277,7 +285,7 @@ void handlePool::judgeLoaddata(boostJsonObject *object, QVTKRenderer *render_)
 | 
	
		
			
				|  |  |              render_->ZoomToExtents();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    qmapRender.value(object->proId)->widgetFlag = QVTKRenderer::WidgetModel::UgridModel;//设置widget中有模型
 | 
	
		
			
				|  |  | +//    qmapRender.value(object->proId)->widgetFlag = QVTKRenderer::WidgetModel::UgridModel;//设置widget中有模型
 | 
	
		
			
				|  |  |      if(!qmapManager.contains(object->proId)){//判断加载模型和当前模型是不是一样
 | 
	
		
			
				|  |  |          qmapManager.insert(object->proId,set_map_meshManager(object,meshmanager));
 | 
	
		
			
				|  |  |      }else{
 | 
	
	
		
			
				|  | @@ -333,24 +341,26 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
 | 
	
		
			
				|  |  |          qmapRender.insert(object_->proId,renderer_);
 | 
	
		
			
				|  |  |          renderer_->init();
 | 
	
		
			
				|  |  |          w->addTab(renderer_->GetWidget(),QString::fromStdString(object_->proId));
 | 
	
		
			
				|  |  | -        renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  | +//        renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  |      }else{
 | 
	
		
			
				|  |  |          renderer_ = qmapRender[object_->proId];
 | 
	
		
			
				|  |  | -        auto flag_ = renderer_->widgetFlag;
 | 
	
		
			
				|  |  | -        if(flag_==QVTKRenderer::WidgetModel::UgridModel){
 | 
	
		
			
				|  |  | -            renderer_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | -            renderer_->HideAllActors();
 | 
	
		
			
				|  |  | -            renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }else if(flag_ ==QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | -            if(qmapResultmanager.value(object_->proId)->fileName == (object_->fileName)){
 | 
	
		
			
				|  |  | -                send_picture(object_,renderer_);
 | 
	
		
			
				|  |  | -                return true;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }else if(flag_==QVTKRenderer::WidgetModel::VTKModel){
 | 
	
		
			
				|  |  | -            renderer_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | -            renderer_->HideAllActors();
 | 
	
		
			
				|  |  | -            renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +//        auto flag_ = renderer_->widgetFlag;
 | 
	
		
			
				|  |  | +//        if(flag_==QVTKRenderer::WidgetModel::UgridModel){
 | 
	
		
			
				|  |  | +//            renderer_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | +//            renderer_->HideAllActors();
 | 
	
		
			
				|  |  | +//            renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }else if(flag_ ==QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | +//            if(qmapResultmanager.value(object_->proId)->fileName == (object_->fileName)){
 | 
	
		
			
				|  |  | +//                send_picture(object_,renderer_);
 | 
	
		
			
				|  |  | +//                return true;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }else if(flag_==QVTKRenderer::WidgetModel::VTKModel){
 | 
	
		
			
				|  |  | +//            renderer_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | +//            renderer_->HideAllActors();
 | 
	
		
			
				|  |  | +//            renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +        renderer_->HideAllActors();
 | 
	
		
			
				|  |  | +        renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      //object_->filePath = "F:\\czm\\vtkfile";
 | 
	
		
			
				|  |  |      //object_->filePath = "C:\\Users\\Administrator\\Desktop\\Postprocess_Binary";//测试路径
 | 
	
	
		
			
				|  | @@ -484,7 +494,7 @@ bool handlePool::resultImport(boostJsonObject *object_, QVTKRenderer *renderer_)
 | 
	
		
			
				|  |  |      StreamDisplayWidget* streamW = new StreamDisplayWidget();//流线窗口初始化参数
 | 
	
		
			
				|  |  |      rsManager->SetStremWidget(streamW);
 | 
	
		
			
				|  |  |      /********************************************/
 | 
	
		
			
				|  |  | -    renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;//设置当前窗口模型状态
 | 
	
		
			
				|  |  | +//    renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;//设置当前窗口模型状态
 | 
	
		
			
				|  |  |      if(qmapResultmanager.contains(object_->proId)){//加载不同的结果文件
 | 
	
		
			
				|  |  |          delete qmapResultmanager.value(object_->proId);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -724,34 +734,27 @@ bool handlePool::result_contourinimationdisplay(boostJsonObject *object_, QVTKRe
 | 
	
		
			
				|  |  |          qmapRender.insert(object_->proId,render_);
 | 
	
		
			
				|  |  |          render_->init();
 | 
	
		
			
				|  |  |          w->addTab(render_->GetWidget(),QString::fromStdString(object_->proId));
 | 
	
		
			
				|  |  | -        render_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  | +        //render_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  |      }else{
 | 
	
		
			
				|  |  |          render_ = qmapRender[object_->proId];
 | 
	
		
			
				|  |  | -        auto flag_ = render_->widgetFlag;
 | 
	
		
			
				|  |  | -        if(flag_==QVTKRenderer::WidgetModel::UgridModel){
 | 
	
		
			
				|  |  | -            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }else if(flag_ ==QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | -            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }else if(flag_==QVTKRenderer::WidgetModel::VTKModel){
 | 
	
		
			
				|  |  | -            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | -            render_->HideAllActors();
 | 
	
		
			
				|  |  | -            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +//        auto flag_ = render_->widgetFlag;
 | 
	
		
			
				|  |  | +//        if(flag_==QVTKRenderer::WidgetModel::UgridModel){
 | 
	
		
			
				|  |  | +//            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }else if(flag_ ==QVTKRenderer::WidgetModel::ResultModel){
 | 
	
		
			
				|  |  | +//            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }else if(flag_==QVTKRenderer::WidgetModel::VTKModel){
 | 
	
		
			
				|  |  | +//            render_ = qmapRender.value(object_->proId);
 | 
	
		
			
				|  |  | +//            render_->HideAllActors();
 | 
	
		
			
				|  |  | +//            render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +        render_->HideAllActors();
 | 
	
		
			
				|  |  | +        render_->RemoveAllActors();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->filenames.clear();测试
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->filenames.resize(1);
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->filenames[0] = "dynamicResponse-transient1.vtk";
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->steps.clear();
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->steps.resize(1);
 | 
	
		
			
				|  |  | -    //    object_->ci_struct->steps[0] = 1;
 | 
	
		
			
				|  |  | -    //    object_->filePath = "F:\\czm\\vtkfile";
 | 
	
		
			
				|  |  | -    //    object_->cd_struct->scalarName = "Displacement-magnitude";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      for(int i =0;i<object_->ci_struct->filenames.size();i++){
 | 
	
		
			
				|  |  |          animation_render(object_->ci_struct->filenames[i],object_->ci_struct->steps[i],render_,object_);
 | 
	
		
			
				|  |  |          if(i!=object_->ci_struct->filenames.size()-1){
 | 
	
	
		
			
				|  | @@ -777,11 +780,12 @@ bool handlePool::result_readIgsFile(boostJsonObject *object_, QVTKRenderer *rend
 | 
	
		
			
				|  |  |          qmapRender.insert(object_->proId,renderer_);
 | 
	
		
			
				|  |  |          renderer_->init();
 | 
	
		
			
				|  |  |          w->addTab(renderer_->GetWidget(),QString::fromStdString(object_->proId));
 | 
	
		
			
				|  |  | -        renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  | +        //renderer_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  |      }else{
 | 
	
		
			
				|  |  |          renderer_ = qmapRender[object_->proId];
 | 
	
		
			
				|  |  | -        auto flag_ = renderer_->widgetFlag;
 | 
	
		
			
				|  |  | -        //to do
 | 
	
		
			
				|  |  | +        //auto flag_ = renderer_->widgetFlag;
 | 
	
		
			
				|  |  | +        renderer_->HideAllActors();
 | 
	
		
			
				|  |  | +        renderer_->RemoveAllActors();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //cmdMainProcess* cmdp = new cmdMainProcess();
 | 
	
	
		
			
				|  | @@ -804,6 +808,36 @@ bool handlePool::result_readIgsFile(boostJsonObject *object_, QVTKRenderer *rend
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * @brief: load igs file and display it
 | 
	
		
			
				|  |  | + * @param: [in]object [in]render
 | 
	
		
			
				|  |  | + * @ret: bool
 | 
	
		
			
				|  |  | + * @birth: created by czm in 202321009
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +bool handlePool::result_displayIgs(boostJsonObject *object_, QVTKRenderer *render_)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    if(object_->rg_struct->filename.empty())return false;
 | 
	
		
			
				|  |  | +    if(!qmapRender.contains(object_->proId)){
 | 
	
		
			
				|  |  | +        render_ = new QVTKRenderer();
 | 
	
		
			
				|  |  | +        qmapRender.insert(object_->proId,render_);
 | 
	
		
			
				|  |  | +        render_->init();
 | 
	
		
			
				|  |  | +        w->addTab(render_->GetWidget(),QString::fromStdString(object_->proId));
 | 
	
		
			
				|  |  | +        //render_->widgetFlag = QVTKRenderer::WidgetModel::NoModel;
 | 
	
		
			
				|  |  | +    }else{
 | 
	
		
			
				|  |  | +        render_ = qmapRender[object_->proId];
 | 
	
		
			
				|  |  | +        //auto flag_ = render_->widgetFlag;
 | 
	
		
			
				|  |  | +        render_->HideAllActors();
 | 
	
		
			
				|  |  | +        render_->RemoveAllActors();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    GeometryManager *gm = new GeometryManager();
 | 
	
		
			
				|  |  | +    bool f = gm->LoadData(QString::fromStdString(object_->rg_struct->filename));
 | 
	
		
			
				|  |  | +    if(f){
 | 
	
		
			
				|  |  | +        gm->DisplayGeometry(render_);
 | 
	
		
			
				|  |  | +        render_->ZoomToExtents();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    return true;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |   * @brief: build result file mash which need to be sent to java
 | 
	
	
		
			
				|  | @@ -920,7 +954,7 @@ QMap<QString,string> handlePool::buildResultImport_msg(QString type,ResultManage
 | 
	
		
			
				|  |  |      }else if(type == "Solidsurface"){
 | 
	
		
			
				|  |  |          map_tmp.insert("r",to_string(cmanager->solidSurfaceW_->number_r));
 | 
	
		
			
				|  |  |          map_tmp.insert("g",to_string(cmanager->solidSurfaceW_->number_g));
 | 
	
		
			
				|  |  | -        map_tmp.insert("b",to_string(cmanager->solidSurfaceW_->number_b));;
 | 
	
		
			
				|  |  | +        map_tmp.insert("b",to_string(cmanager->solidSurfaceW_->number_b));
 | 
	
		
			
				|  |  |          map_tmp.insert("transparency",to_string(cmanager->solidSurfaceW_->GetTransparency()));
 | 
	
		
			
				|  |  |          if(cmanager->solidSurfaceW_->GetShowHideState()){
 | 
	
		
			
				|  |  |              map_tmp.insert("showHideState",QString("true").toStdString());
 | 
	
	
		
			
				|  | @@ -1276,7 +1310,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;
 | 
	
		
			
				|  |  | +        //renderer_->widgetFlag = QVTKRenderer::WidgetModel::ResultModel;
 | 
	
		
			
				|  |  |          bool flag = true;
 | 
	
		
			
				|  |  |          rsManager = new ResultMeshManager();
 | 
	
		
			
				|  |  |          rsManager->Clear();
 | 
	
	
		
			
				|  | @@ -1310,7 +1344,7 @@ void handlePool::animation_render(string filename,int step,QVTKRenderer* rendere
 | 
	
		
			
				|  |  |              renderer_->ZoomToExtents();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }else if(type_ == "vtkfile"){
 | 
	
		
			
				|  |  | -        renderer_->widgetFlag = QVTKRenderer::WidgetModel::VTKModel;
 | 
	
		
			
				|  |  | +        //renderer_->widgetFlag = QVTKRenderer::WidgetModel::VTKModel;
 | 
	
		
			
				|  |  |          rsManager = new ResultVTKManager();
 | 
	
		
			
				|  |  |          rsManager->Clear();
 | 
	
		
			
				|  |  |          rsManager->fileType = "VTK";
 |