【VTK基础】5-VTK数据接口对象

1 流水线

在 VTK 中数据是我们所处理的对象,而VTK 程序对数据对象的处理机制是基于流水线(pipelines)的,通过流水线的过滤器(filter)来处理数据
在这里插入图片描述

2 数据数组(vtkDataArray)

vtkDataArray类是所有数据数组对象的抽象超类,该类自定义了很多应用程序接口,可以说vtkDataArray 是VTK 中数据对象建立的基础,数据数组用来存储连续的同一类型的数据,如(char、int、float 等),在定义数据数组的过程中必需动态的为其分配内存空间

数据数组中的元素是由组元(tuple)组成的,而每一个组元也是一种结构体,由N 个数据类型相同的分量组成,数据数组可以用来存储的数据包括:几何数据、属性数据(矢量,向量,张量,法线向量)等。数据数组的构成如下图所示:
在这里插入图片描述

3 数据存储

数据数组可以存储多个组元,每个组元由三个分量组成,对于vtkDataArray 的派生类以及关系由下图表示:
在这里插入图片描述

4 结构和单元

VTK 中的数据集有两个非常重要的特性:结构和单元
如果想要对VTK 中的数据模型有了很深入的认识,那么必需要知道:

  • 如何从数据集中得到你想要的那部分数据?
  • 如何创建一个数据集?
  • 如何为已有的数据集添加新的数据?
  • 对于不同的数据集类型有不同的接口方式

数据集根据结构分为如下几种类型,类层次图如图所示:

  • structured points(结构化点集)
  • vtkRectilinearGrid(线性网格)
  • structured grid(结构化网格)
  • unstructured grid(非结构化网格)
  • Polygonal Data(多边形数据)
    在这里插入图片描述
    在这里插入图片描述

5 vtkPolyData

vtkPolyData 数据类型是由一些基本图元(如:顶点、线、多边形、三角面片等)组成的复杂图形,这种数据是完全无结构的,它含有点集和单元,点集属性继承自vtkPointSet,单元属性则来自vtkCellArrays,对于无结构数据vtkPolyData 中的点与单元必需要定义其位置。
在这里插入图片描述

上图为无结构数据的结构关系图,这种关系不仅可以表示 vtkPolyData 数据格式,还可以表示vtkUnstructuredGrid 数据格式。

在 vtkPolyData 数据中用vtkCellArray 来确定数据单元的拓扑属性,vtkCellArray 类是一个关联所有单元的列表,每一个单元都是由多个点所组成,在这个列表的第一个数据是组成这个单元的的点的个数,如下图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值