VTK 使用笔记

构成VTK系统有两种对象模型:可视化模型和图形模型

1. 可视化模型

数据对象由几何和拓扑结构组成(点集和单元集)    
vtkDataObject(点集和单元集) vtkImageData Image Data
  vtkRectilinearGrid Rectilinear Grid
  vtkStructuredGrid Structured Grid
  vtkPolyData Unstructured Points/Polygonal Data
  vtkUnstructredGrid Unstructured Grid
  属性数据(用于描述数据对象中的点集和单元集的属性)
  Scalar single data value
  Vector 3D direction and magnitude
  Normal 3D direction
  Texture coordinate n-dimensional index into teture map
  Tensor n*n  matrix
vtkProcessObject (过程对象也称为过滤器,按照某种运算法则对数据对象进行处理,表现系统中的几何形状。) source 通过读数据文件或数学表达式计算结果产生数据

在可视化流水线中,主要包括源对象、过滤器对象、映射器对象三种对象。

filter 接收一个或多个数据对象作为输入,对数据对象处理之后生成一个或多个数
据对象作为输出。 
  mapper 可视化流水线的终点,是图形模型和可视化模型之间
的接口,其主要作用是将数据对象转换成图形对象,
然后由图形引擎绘制出来,复写器是映射器的一种类型,作用是将数据写入文件或流。

2. 图形模型

vtkActor、vtkActor2D、vtkVolume   :都是 vtkProp和/或vtkProp3D的子类。 Props 表示在场景中能“看到”的东西(如场景中的地形、山脉、人物、花草等),如果Props (如 vtkActor ) 是 vtkProp3D 类型,它能操作 3D,如果 Props 是 vtkProp2D 类型,它能表现 2D 数据。Props但不能直接表现几何数据,需用Mapper来表现。
vtkLight   :用于表现和处理光线的,Lights 只用于三维,在二维中我们不使用光线。
vtkCamera  :在绘制过程中,用相机类控制被绘制到场景中的物体的数量,相机类提供了一些方法控制相机的位置,同时相机类也控制透视投影和立体观察。
vtkProperty,vtkProperty2D  :Property 对象能够控制 Pros 的外观 (如颜色、灯光、显示模式等),供Property对象引用。
vtkTransform :变换对象
vtkMaper,vtkMapper2D  :vtkAbstractMapper 的子类,映射器类,用于表现几何数据。经常和查找表类(vtkLookupTable)一起对几何体进行变换和绘

制,该类也是图形模型和可视化流水线之间的接口。

vtkLookupTable,vtkColorTransferFunction :vtkScalarsToColors 的子类,主要为映射的数据赋予不同的颜色。
vtkRender,vtkRenderWindow :管理图形引擎和计算机窗口系统之间的接口,绘制窗口是绘制图形的显示区域,多个绘制图形也许显示在一个绘制窗口

中,但是,用户可以同时创建多个绘制窗口,绘制数据在绘制窗口显示的区域被称为视口,一个绘制窗口可以同时有多个视口。

vtkRenderWindowInteractor  :一个操作相机对象和拾取工具的类,调用用户定义方法,进入/退出立体视角,并且修改Actor 的一些属性。提供与图形对象的交互。

上述的许多对象均有子类,例如,vtkAssembly、vtkFollower 和 vtkLODActor 都是vtkActor 的子类,vtkAssembly 类用于将多个角色对象相互组合,构成一个复杂的对象实体,vtkFollower 是一个用于总是面对一个特定 camera(对布告板和文字非常有用) 的演示者,vtkLODActor 类用于在不同的层次表现物体细节的程度。

      图中说明了 Render()方法发起对数据的请求后,数据通过流水线向左传递,一直传递到源对象(流水线的起点),然后从源对象开始直到映射器对象,流水线中的每个对象依次检查需要处理的那部分数据是否已经过期,如果过期调用 Update()方法更新数据,这样保证流水线末端的数据总是最新的数据,接着 Actor 对象(角色)将绘制这些数据。

posted on 2012-10-15 17:06  没有什么能够阻挡  阅读(2636)  评论(0编辑  收藏  举报

导航