vtk总结(2):关于vtk中所要使用到的数据类型

来源:互联网 发布:c语言流程图例题 编辑:程序博客网 时间:2024/05/21 13:35

Vtk的基本数据结构

1 规则数据的存储可以置存储起始点和相邻两点之间的间隔以及点的总数。

2 vtkData下包含了几何结构和拓扑结构

 vtkCellArray:定义了数据集的拓扑结构

3 vtkCellType.h里定义的线性单元和非线性单元。

4 属性数据的传输过程:aDataSet->GetPointData->GetScalars->GetScalar(129)

5 VtkImageData:按规则排列在矩形方格中的点和单元的集合。

  VtkPolyData:由顶点(Vertex),多顶点(Polyvertex),线(Line),折线(Polyline),三角形条带(TriangleStrip)等构成,

  VtkRectilinearGrid:也是矩阵,但是间隔不同,显示不规则。

  VtkStructedGrid:结构化网格数据,具有规则的拓扑结构和不规则的几何结构

(流体流动、流量传输和燃烧学)

  VtkUnstructuredGrid:具有非规则的拓扑结构和几何结构

6 VtkDataArray形式存储了Vtk的数据对象。其中每一份数据都由元组的多个组分构成。

例:

vtkSmartPointer<vtkFloatArray>array=vtkSmartPointer<vtkFloatArray>::News;

array->SetNumberOfComponents(1);

array->SetNumberOfTuples(10);

array->Setcomponent(5,0,10.0);//设置第5个元组的第0个组分的值为10

array->SetTuple1(6,9.0);//获取第6个元组的第9个组分

double b = array->GetComponent(5,0);

 

总而言之,vtk数据由三大部分组成,

vtkDataObject:有子类vtkDataSet,其组织结构由拓扑结构和几何结构构成

vtkDataArray:这个类的子类承载了具体的拓扑结构和几何结构,如vtkPolyData里的vtkCellArray存储了拓扑结构。

vtkFieldData:这个类及其子类是对拓扑结构和几何结构的信息的补充,与点数据相关的属性数据用vtkPointData来表达,与单元数据相关联的属性数据用vtkCellData来表达,这两个类都派生自vtkDataSetAttributes,而vtkDataSetAttributes派生自vtkFieldData,所以,可以用这个来存储颜色,加速度,标号,名字,温度,质量等等这些属性数据。用法如下:

dataset->GetPointData()->AddArray(attributeArray);

 

介绍完基本的函数和数据类型之后。下一次会介绍的是关于vtk的读写。

2 0