vtk工作流
要理解VTK的工作原理,首先应明确几个类型:
1.vtkSource(数据源) 这个就好比一个剧本里面的角色,让演员知道要演的是什么人物。
数据源有:vtkConeSource,vtkSphereSource,vtkOutlineSource...等等。
它们都继承与vtkPolyDataAlgorithm类,该类用于提供不同的类型的数据源
2.vtkMapper(映射器) 它就像是一个剧本,应该如何塑造角色的装扮
映射器有:vtkDataSetMapper,vtkMultiGroupPolyDataMapper,vtkPolyDataMapper。
它们都继承于vtkMapper类。所有的数据对象都要通过映射器Mapper映射到vtkActor中。
3.vtkActor(演员) 有了剧本,有了角色,得找个真人来演出这个剧本了。
该类继承于vtkProp3D,有4个子类:vtkFollow,vtkLODActor,vtkMesaActor,vtkOpenGLActor.
4.vtkRenderer(渲染器) 这个过程就相当于对演员进行化妆并布置场景;
该类继承于vtkViewport,有2个子类:vtkMesaRender,vtkOpenGLRender.
该类另外一个作用是设置窗口vtkRenderWindow的背景.
5.vtkRenderWindow(窗口) 这个就相当于个舞台 ,把准备好的演员放进去,准备表演了;
该类继承于vtkWindow,有2个子类:vtkMesaWindow,vtkOpenGLWindow.
6.vtkRenderWindowInteractor(窗口交互器) 这个像摄像机,用于捕捉演员的动作,然后传给导演看
该类的继承关系在vtkRenderWindowInteractor文章中已给出。
7.vtkInteractorObserver(观察者) 有点导演的意思,导演通过观看录像后,做出一系列调整
该类的继承关系在vtkRenderWindowInteractor文章中已给出
Example:
vtkConeSource * s=vtkConeSource::New(); //棱锥数据源,用于构造描述棱锥的点、线、面
vtkPolyDataMapper * m=vtkPolyDataMapper::New(); //映射器,可以根据点、线、面构造图形
m->SetInput(s->GetOutput()); //完成点、线、面的传递
vtkActor * a=vtkActor::New(); //创建一个物体(演员)
a->SetMapper(m); //设置描述物体的图形
vtkRenderer * r=vtkRenderer::New(); //绘制器,能够绘制物体
r->AddActor(a); //把物体交给绘制器绘制
vtkRenderWindow * w=vtkRenderWindow::New(); //绘制窗,提供绘制的平面
w->AddRenderer(r); //设置绘制器工作的平面
for (int i=0;i<65535;i++) //循环绘制
w->Render();
vtkRenderWindowInteractor *iren=vtkRenderWindowInteractor::New();//交互器
iren->SetRenderWindow(w);
vtkInteractorStyleTrackballCamera *style = vtkInteractorStyleTrackballCamera::New();//观察者
iren->SetInteractorStyle(style);
vtkMyCallback *callback = vtkMyCallback::New(); //对观察到的事件响应
iren->AddObserver(vtkCommand::InteractionEvent, callback);
iren->Initialize();
iren->Start();
vtk工作流的更多相关文章
- Oozie分布式任务的工作流——Spark篇
Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...
- Oozie分布式任务的工作流——邮件篇
在大数据的当下,各种spark和hadoop的框架层出不穷.各种高端的计算框架,分布式任务如乱花般迷眼.你是否有这种困惑!--有了许多的分布式任务,但是每天需要固定时间跑任务,自己写个调度,既不稳定, ...
- 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器
企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...
- .Net开源工作流Roadflow的使用与集成
序言 最近公司要整理公司内部oa系统,需要使用到工作流,所以就开始了开源工作流挑选,使用,到集成到公司内部系统的工作. 首先在网上搜了文档,自己也有补充,整理啦国内几款工作流的比较,由于没有个个击破式 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
系列目录 工作流在实际应用中还是比较广泛,网络中存在很多工作流的图形化插件,可以做到拉拽的工作流设计,非常简便,再配合第三方编辑器,可以直接生成表单,我没有刻意的浏览很多工作流的实际设计,我认为工作流 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计
系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立,就知道表的关系和用处了,当然,我的设计只是一个参考,你可能有很多改进的地方. 我们的工作流具体细节流程是这样的: 最终我们的模 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
系列目录 设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四步. 开始之前先说说表的结构. 其实表Flow_Form与Flow_FormContent设计是有一个缺陷的.我总共是设置最 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(48)-工作流设计-起草新申请
系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分支执行. 起草的同时,我们分解流转的规则中的审批人并保存,具体流程如下 接下来创建DrafContoller控制器,此控制器只 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(53)-工作流设计-我的批阅
系列目录 前言:由于工作原因工作流一直没时间更新,虽然没有更新,但是批阅和申请差不多,改变一下数据的状态字段就行,有几个园友已经率先完成了 说句实话,一个工作流用文章表达很难,我起初以为这是一个很简单 ...
随机推荐
- 有问题得就分享(此实现不是 Windows 平台 FIPS 验证的加密算法的一部分)
今天呢,我写完了MD5加密算法的代码,可是我正高兴的想运行时,按了F5.突然了个这样的窗体 我当时就纳闷了,怎么回事? 代码又没有错,这是乍回事! 于是呢上网查了看看:可以这样解决的 在window中 ...
- (原)3.4 Zookeeper应用 - 分布式锁
本文为原创文章,转载请注明出处,谢谢 分布式锁 1.原理 建立表示锁的父节点(图中locker节点) 每个争抢锁的服务器在locker节点下创建有序的临时节点 判断自己是否抢到锁:获取locker下所 ...
- logstash VS splunk
web 系统是典型的分布式部署,由此对其运行状况,硬件运转情况监控也显得尤为重要,这些监控数据表面上对业务运行没有多大的用处(属于基础数据),但正是这些基础数据形成了业务“流”.比如,用户搜索爱好,浏 ...
- jquery.datatable.js与CI整合 异步加载(大数据量处理)
http://blog.csdn.net/kingsix7/article/details/38928685 1.CI 控制器添加方法 $this->show_fields_array=arra ...
- TypeScript的4种编译方式
1.手动编译 1.1.首先找到TypeScript的安装目录,我的在"C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0".
- jQuery iPresenter 3D图片旋转
在线实例 效果一 效果二 使用方法 <div class="htmleaf-container"> <div class="htmleaf-conten ...
- 【转】Linux 初始化 init 系统 [sysvinit systemd upstart]
http://www.ibm.com/developerworks/cn/views/linux/libraryview.jsp?sort_by=&show_abstract=true& ...
- iOS之获取屏幕尺寸
//app尺寸,去掉状态栏 CGRect appRect = [UIScreenmainScreen].applicationFrame; NSLog(@"%f, %f, %f,%f&quo ...
- iOS之开发支付功能概述
前言:本随笔将对IOS开发的支付功能进行一个概述. 内容大纲: 一.常见的支付方案简介 二.第三方支付SDK 三.苹果官方支付方案 四.Web支付方案 正文: 一.常见的支付方案简介 在微信支付中 微 ...
- 隐式启动判断是否有匹配的Intent
一.PackageManager的resolveActivity public abstract ResolveInfo resolveActivity(Intent intent, int flag ...