VTK的可视化设计是基于管线流的设计模式,将要处理的数据作为流动介质在管线中流动,不同的阶段对数据有不同的处理方式,VTK的可视化管线主要由图形模型和可视化模型组成,如下图所示:
可视化模型主要对数据进行处理,生成可被绘制的几何体,而图形模型主要对生成的几何体进行绘制,在VTK的可视化管线中所包含的对象一般包括:源对象、过滤器对象(可选)、映射器对象、Props对象、绘制器对象、绘制窗口,其中 源对象、过滤器对象(可选)、映射器对象 、绘制器对象、绘制窗口为处理对象, Props对象为数据对象,映射器对象是可视化模型和图形模型的接口。
有了可视化管线,VTK的可视化过程就可以用数据在可视化管线流动的过程来描述(数据在管线中流动过程中,被管线不同的对象处理,最终以图形的方式表现数据信息),VTK的可视化管线具有如下特点:
1、变换:数据从原始的形式变换成图元的形式,最终以图形的形式显示。
2、表现:用VTK内部定义的数据结构描述数据,形成数据集,用图形的方式表现数据。
3、是基于面向对象的:用面向对象的观点描述可视化管线,表现是数据对象,变换是处理对象。
下面我们对VTK可视化管线的各个对象分别介绍,在可视化管线中,按对数据处理方式的不同,分为数据对象和处理对象,其中数据对象主要作用是表现数据信息,并对表现的信息进行维护(创建、访问、删除),处理对象主要是对输入的数据进行处理后生成输出新的数据,处理对象主要包括:
1、源对象:数据生成的源头,数据来源主要包括从磁盘读取数据文件,如VTK所支持的各种格式文件生成数据源对象,这种源对象被称为读源对象,或者利用数学方法生成源对象,如利用多个四边形构建一个圆柱体,这种对象被称为程序源对象。
2、过滤器对象:对源对象进行处理,生成新的数据集输出。
3、映射器对象:映射器对象主要作用是将可视化模型生成的数据转换到图形模型进行绘制,或者以磁盘文件的形式进行输出。