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