VTK中顶点和点之间的主要区别是什么?
好吧,我正在为vtkPolyData
输出分配一些计算点:
vtkPolyData* oput = vtkPolyData::SafeDownCast(out_info->Get(vtkDataObject::DATA_OBJECT()));
我想知道是使用方法SetVerts(vtkCellArray *v)
还是方法SetPoints(vtkPoints *)
。
在VTK数据集中(即继承vtkDataSet的类,vtkDataSet是提供点概念的最简单的数据类型),点只是空间中的位置。数据可以存储在代表点轨迹的空间中或单元(例如,三角形或四面体)上的位置处。存储在单元格上的值在单元格位置的每个点上取相同的值。
单元格由其角点定义。在vtkPolyData中,每个单元格由vtkPoints实例中点坐标中的整数偏移量列表定义。
VTK中的顶点是其点轨迹为单点的单元。
可以在VTK数据集中显式列出的点不被任何单元引用(例如,您可以在vtkPoints对象中指定不用作任何四面体,三角形或顶点单元的角点的点坐标)。这些点只能具有点数据(由数组存储在由vtkDataSet保留的vtkPointData实例中),而不能具有单元格数据(由数组存储在由vtkDataSet保留的vtkCellData实例中)。
因此,SetPoints()
让您提供vtkCellArray实例随后引用的点坐标,以定义各种形状的点位置。一类形状是顶点(因此SetVerts()
),而另一类包括线和折线(SetLines()
)以及三角形/四边形(SetPolys()
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句