首页 > 其他分享 >ParaView中实现远程渲染与前台显示的对接

ParaView中实现远程渲染与前台显示的对接

时间:2022-11-02 15:55:41浏览次数:68  
标签:pqview 前台 渲染 frame nullptr ParaView pqViewFrame pqView view


pqViewFrame *pqMultiViewWidget::newFrame(vtkSMProxy *view)
{
  pqViewFrame *frame = new pqViewFrame();
  QObject::connect(frame, SIGNAL(buttonPressed(int)), this, SLOT(standardButtonPressed(int)));
  QObject::connect(frame, SIGNAL(swapPositions(const QString &)), this, SLOT(swapPositions(const QString &)), Qt::QueuedConnection);
  // 从服务管理器中查找可用的pqView
  pqServerManagerModel *smmodel = pqApplicationCore::instance()->getServerManagerModel();
  pqView *pqview = smmodel->findItem<pqView *>(view);

  // 将 pqView 与 显示的pqViewFrame进行联接
  // it's possible that pqview is nullptr, if the view proxy hasn't been registered
  // yet. This happens often when initialization state is being loaded in
  // collaborative sessions.
  ConnectFrameToView(frame, pqview);

  // Search for view frame actions plugins and allow them to decide
  // whether to add their actions to this view type's frame or not.
  pqInterfaceTracker *tracker = pqApplicationCore::instance()->interfaceTracker();
  Q_FOREACH (pqViewFrameActionsInterface *vfai, tracker->interfaces<pqViewFrameActionsInterface *>())
  {
    vfai->frameConnected(frame, pqview);
  }
  return frame;
}


void ConnectFrameToView(pqViewFrame *frame, pqView *pqview)
  {
    assert(frame);
    // if pqview == nullptr, then the frame is either being assigned to a empty
    // view, or pqview for a view-proxy just isn't present yet.
    // it's possible that pqview is nullptr, if the view proxy hasn't been registered
    // yet. This happens often when initialization state is being loaded in
    // collaborative sessions.
    if (pqview != nullptr)
    {
      // 把 pqView 中的 widget 放入 pqViewFrame 的容器中
      QWidget *viewWidget = pqview->widget();
      frame->setCentralWidget(viewWidget, pqview);
    }
  }

标签:pqview,前台,渲染,frame,nullptr,ParaView,pqViewFrame,pqView,view
From: https://www.cnblogs.com/gispathfinder/p/16851246.html

相关文章

  • NVIDIA DLSS2.0 AI渲染又一大飞跃
    AI渲染又一大飞跃 人工智能正在彻底改变游戏——从游戏中的物理和动画模拟到实时渲染和人工智能辅助的功能。通过深度学习超采样(DLSS),NVIDIA开始通过基于AI的超分辨率重新定......
  • [JAVA]Springboot添加fastjson用于前台数据校验
    方式一,添加HttpMessageConverters实例importcom.alibaba.fastjson.support.config.FastJsonConfig;importcom.alibaba.fastjson.support.spring.FastJsonHttpMessage......
  • echarts无法进行二次渲染的问题
    其实网上关于echarts图二次渲染失败的解决办法很多,不过我还是想记录一下自己的心路历程这次的需求是在一个网页中有四个tab切换,第一个tab就有四个echarts图每一个echarts......
  • KeyShot Pro 10.2 for Mac永久版(3D模型渲染软件)v10.2.113 中文版mac/win
    KeyShotPro10.1是一款功能强大的3D模型渲染软件,帮助你更好的创建3D渲染动画。其中KeyShot的GPU模式可用于实时渲染和本地渲染输出,一键访问GPU资源,从而利用多GPU性能扩展......
  • 尚品汇笔记(前台)
    1)要求1.1:每一天老师书写代码务必三遍1.2:node+webpack+VScode+谷歌浏览器+git1.3:数组的方法+promise+await+async+模块化........2)脚手架使用2:v......
  • element-ui el-table 开发环境 无法渲染,无法显示的问题
    其他vue项目正常,html环境正常,生产环境正常。只有开发环境无法渲染。试过切换element-ui的版本。依然没有作用。 最终排查的原因是vue.config.js下面的这段代码出......
  • vue条件渲染
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-e......
  • 浏览器渲染和原理
    一、浏览器的渲染过程注意:这个过程是逐步完成的,为了更好的用户体验,渲染引擎将会尽可能早的将内容呈现到屏幕上,并不会等到所有的html都解析完成之后再去构建和布局r......
  • 浏览器渲染机制
    浏览器渲染机制一、浏览器如何渲染网页浏览器的渲染机制可以分为五步:第一步:解析html,构建DOM树第二步:解析CSS,生成CSSOM树第三步:合并dom树和css规则树,生成render渲染树第四步......
  • 浏览器渲染原理
    原文链接http://blog.poetries.top/2018/12/22/browser-render关注公众号获取更多资讯一、浏览器如何渲染网页概述:浏览器渲染一共有五步处理HTML并构建DOM......