|
@@ -31,7 +31,7 @@ handlePool::handlePool(QTabWidget *w)
|
|
|
handlePool::~handlePool()
|
|
|
{
|
|
|
qDeleteAll(map_render);
|
|
|
-
|
|
|
+ qDeleteAll(map_manager);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -46,17 +46,7 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
|
|
|
QVTKRenderer* render_;
|
|
|
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 json_ = json_object->ToJson(img_);
|
|
@@ -70,18 +60,42 @@ void handlePool::getmsg_recvstateTohandlePool(std::string recvmsg)
|
|
|
* @ret:void
|
|
|
* @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();
|
|
|
//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);
|
|
|
if(f){
|
|
|
if(render_){
|
|
@@ -91,23 +105,39 @@ void handlePool::operateRender(QString action,QVTKRenderer* render_)
|
|
|
}
|
|
|
//cout<<"action:"<<action.toStdString()<<endl;
|
|
|
//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();
|
|
|
- }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();
|
|
|
- }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();
|
|
|
- }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();
|
|
|
- }else if(action == "AlignToPlusAxisZ"){//正z轴对齐
|
|
|
+ }else if(object->action == "AlignToPlusAxisZ"){//正z轴对齐
|
|
|
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();
|
|
|
- }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();
|
|
|
- }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();
|
|
|
- }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_->CaptureWindowImages();
|