|  | @@ -31,7 +31,7 @@ handlePool::handlePool(QTabWidget *w)
 | 
											
												
													
														|  |  handlePool::~handlePool()
 |  |  handlePool::~handlePool()
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  |      qDeleteAll(map_render);
 |  |      qDeleteAll(map_render);
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +    qDeleteAll(map_manager);
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  /*
 |  |  /*
 | 
											
										
											
												
													
														|  | @@ -46,17 +46,7 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
 | 
											
												
													
														|  |      QVTKRenderer* render_;
 |  |      QVTKRenderer* render_;
 | 
											
												
													
														|  |      json_object->FromJSON(recvmsg);
 |  |      json_object->FromJSON(recvmsg);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    if(map_render.contains(json_object->proId)){
 |  | 
 | 
											
												
													
														|  | -        render_ = map_render.value(json_object->proId);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    }else{
 |  | 
 | 
											
												
													
														|  | -        render_ = new QVTKRenderer();
 |  | 
 | 
											
												
													
														|  | -        map_render.insert(json_object->proId,render_);
 |  | 
 | 
											
												
													
														|  | -        render_->init();
 |  | 
 | 
											
												
													
														|  | -        w->addTab(render_->GetWidget(),"test");
 |  | 
 | 
											
												
													
														|  | -    }
 |  | 
 | 
											
												
													
														|  | -    operateRender(json_object->action,render_);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +    operateRender(json_object,render_);//解析命令
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      std::string img_ = render_->img.toStdString();
 |  |      std::string img_ = render_->img.toStdString();
 | 
											
												
													
														|  |      std::string json_ = json_object->ToJson(img_);
 |  |      std::string json_ = json_object->ToJson(img_);
 | 
											
										
											
												
													
														|  | @@ -70,18 +60,42 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
 | 
											
												
													
														|  |   * @ret:void
 |  |   * @ret:void
 | 
											
												
													
														|  |   * @birth: creadted by czm in 20230406
 |  |   * @birth: creadted by czm in 20230406
 | 
											
												
													
														|  |   */
 |  |   */
 | 
											
												
													
														|  | -void handlePool::operateRender(QString action,QVTKRenderer* render_)
 |  | 
 | 
											
												
													
														|  | 
 |  | +void handlePool::operateRender(vtkJsonObject* object,QVTKRenderer* render_)
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  | -    if(action == "init"){
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if(object->action == "init"){
 | 
											
												
													
														|  |          //render_->init();
 |  |          //render_->init();
 | 
											
												
													
														|  |          //emit sendWidget_handlePoolToWidget(render_->GetWidget());
 |  |          //emit sendWidget_handlePoolToWidget(render_->GetWidget());
 | 
											
												
													
														|  | 
 |  | +        if(map_render.contains(object->proId)){
 | 
											
												
													
														|  | 
 |  | +            render_ = map_render.value(object->proId);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        }else{
 | 
											
												
													
														|  | 
 |  | +            render_ = new QVTKRenderer();
 | 
											
												
													
														|  | 
 |  | +            map_render.insert(object->proId,render_);
 | 
											
												
													
														|  | 
 |  | +            render_->init();
 | 
											
												
													
														|  | 
 |  | +            w->addTab(render_->GetWidget(),"test");
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "loaddata"){
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +            render_ = map_render.value(object->proId);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        QString m_filePath="F:\\czm\\adicode\\CAE_Solution\\CAE_Solution\\tf.ugrid";
 | 
											
												
													
														|  | 
 |  | +        //QString m_filePath = "/cephfs/hcfd/solverdown/31f117acb7e74232a3267b091391eab2/hcfd/data_in";
 | 
											
												
													
														|  | 
 |  | +        if(m_filePath.isEmpty()){
 | 
											
												
													
														|  | 
 |  | +            cout<<"file path is Empty!"<<endl;
 | 
											
												
													
														|  | 
 |  | +            return;
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        MeshManager* meshmanager = NULL;
 | 
											
												
													
														|  | 
 |  | +        if(!map_manager.contains(object->proId)){
 | 
											
												
													
														|  | 
 |  | +            meshmanager = new MeshManager();
 | 
											
												
													
														|  | 
 |  | +            map_manager.insert(object->proId,meshmanager);
 | 
											
												
													
														|  | 
 |  | +        }else{
 | 
											
												
													
														|  | 
 |  | +            meshmanager = map_manager.value(object->proId);
 | 
											
												
													
														|  | 
 |  | +            meshmanager->Clear();
 | 
											
												
													
														|  | 
 |  | +            delete meshmanager;
 | 
											
												
													
														|  | 
 |  | +            meshmanager = new MeshManager();
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        //MeshManager *meshmanager = MeshManager::getInstance();
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    }else if(action == "loaddata"){
 |  | 
 | 
											
												
													
														|  | -        //QString m_filePath="F:\\czm\\adicode\\CAE_Solution\\CAE_Solution\\tf.ugrid";
 |  | 
 | 
											
												
													
														|  | -        QString m_filePath = "/cephfs/hcfd/solverdown/31f117acb7e74232a3267b091391eab2/hcfd/data_in";
 |  | 
 | 
											
												
													
														|  | -        if(m_filePath.isEmpty())return;
 |  | 
 | 
											
												
													
														|  | -        MeshManager *meshmanager = MeshManager::getInstance();
 |  | 
 | 
											
												
													
														|  |          bool f = meshmanager->LoadData(m_filePath);
 |  |          bool f = meshmanager->LoadData(m_filePath);
 | 
											
												
													
														|  |          if(f){
 |  |          if(f){
 | 
											
												
													
														|  |              if(render_){
 |  |              if(render_){
 | 
											
										
											
												
													
														|  | @@ -91,23 +105,39 @@ void handlePool::operateRender(QString action,QVTKRenderer* render_)
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          //cout<<"action:"<<action.toStdString()<<endl;
 |  |          //cout<<"action:"<<action.toStdString()<<endl;
 | 
											
												
													
														|  |          //render_->CaptureWindowImages();
 |  |          //render_->CaptureWindowImages();
 | 
											
												
													
														|  | -    }else if(action == "zoomout"){//缩小
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "zoomout"){//缩小
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->ZoomOut();
 |  |          render_->camera_->ZoomOut();
 | 
											
												
													
														|  | -    }else if(action == "zoomin"){
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "zoomin"){
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->ZoomIn();
 |  |          render_->camera_->ZoomIn();
 | 
											
												
													
														|  | -    }else if(action == "AlignToPlusAxisX"){//正x轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToPlusAxisX"){//正x轴对齐
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->AlignToPlusAxisX();
 |  |          render_->camera_->AlignToPlusAxisX();
 | 
											
												
													
														|  | -    }else if(action == "AlignToPlusAxisY"){//正y轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToPlusAxisY"){//正y轴对齐
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->AlignToPlusAxisY();
 |  |          render_->camera_->AlignToPlusAxisY();
 | 
											
												
													
														|  | -    }else if(action == "AlignToPlusAxisZ"){//正z轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToPlusAxisZ"){//正z轴对齐
 | 
											
												
													
														|  |          render_->camera_->AlignToPlusAxisZ();
 |  |          render_->camera_->AlignToPlusAxisZ();
 | 
											
												
													
														|  | -    }else if(action == "AlignToMinusAxisX"){//负x轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToMinusAxisX"){//负x轴对齐
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->AlignToMinusAxisX();
 |  |          render_->camera_->AlignToMinusAxisX();
 | 
											
												
													
														|  | -    }else if(action == "AlignToMinusAxisY"){//负y轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToMinusAxisY"){//负y轴对齐
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->AlignToMinusAxisY();
 |  |          render_->camera_->AlignToMinusAxisY();
 | 
											
												
													
														|  | -    }else if(action == "AlignToMinusAxisZ"){//负z轴对齐
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "AlignToMinusAxisZ"){//负z轴对齐
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->AlignToMinusAxisZ();
 |  |          render_->camera_->AlignToMinusAxisZ();
 | 
											
												
													
														|  | -    }else if(action == "RelocateToCenter"){
 |  | 
 | 
											
												
													
														|  | 
 |  | +    }else if(object->action == "RelocateToCenter"){
 | 
											
												
													
														|  | 
 |  | +        if(!map_render.contains(object->proId))return;
 | 
											
												
													
														|  | 
 |  | +        render_ = map_render.value(object->proId);
 | 
											
												
													
														|  |          render_->camera_->RelocateToCenter();
 |  |          render_->camera_->RelocateToCenter();
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |      render_->CaptureWindowImages();
 |  |      render_->CaptureWindowImages();
 |