赞
踩
在 VTK 中数据是我们所处理的对象,而VTK 程序对数据对象的处理机制是基于流水线(pipelines)的,通过流水线的过滤器(filter)来处理数据
vtkDataArray类是所有数据数组对象的抽象超类,该类自定义了很多应用程序接口,可以说vtkDataArray 是VTK 中数据对象建立的基础,数据数组用来存储连续的同一类型的数据,如(char、int、float 等),在定义数据数组的过程中必需动态的为其分配内存空间
数据数组中的元素是由组元(tuple)组成的,而每一个组元也是一种结构体,由N 个数据类型相同的分量组成,数据数组可以用来存储的数据包括:几何数据、属性数据(矢量,向量,张量,法线向量)等。数据数组的构成如下图所示:
数据数组可以存储多个组元,每个组元由三个分量组成,对于vtkDataArray 的派生类以及关系由下图表示:
VTK 中的数据集有两个非常重要的特性:结构和单元
如果想要对VTK 中的数据模型有了很深入的认识,那么必需要知道:
数据集根据结构分为如下几种类型,类层次图如图所示:
vtkPolyData 数据类型是由一些基本图元(如:顶点、线、多边形、三角面片等)组成的复杂图形,这种数据是完全无结构的,它含有点集和单元,点集属性继承自vtkPointSet,单元属性则来自vtkCellArrays,对于无结构数据vtkPolyData 中的点与单元必需要定义其位置。
上图为无结构数据的结构关系图,这种关系不仅可以表示 vtkPolyData 数据格式,还可以表示vtkUnstructuredGrid 数据格式。
在 vtkPolyData 数据中用vtkCellArray 来确定数据单元的拓扑属性,vtkCellArray 类是一个关联所有单元的列表,每一个单元都是由多个点所组成,在这个列表的第一个数据是组成这个单元的的点的个数,如下图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。