vtkCellArray中的点顺序是否暗示邻接?

时间:2018-07-27 18:32:19

标签: vtk

我有一条折线形式的闭合轮廓。我正在访问重点 通过vtkPolyData.GetLines()并遍历其中的单元格 vtkCellArray。

我想计算线的每个顶点处的角平分线。因此 我需要知道V_ {i-1},V_i和V_ {i + 1}的坐标。

在vtkCellArray中,如果p_2在后面,则[n0,p_1,p_2,...,p_n0,...] 单元格中的p_1,是否意味着p_1和p_2连接在一起?

1 个答案:

答案 0 :(得分:1)

是的,确实如此。仅为了用vtkPolyLine测试您的情况,让我们创建一个带有单个vtkPolyData的{​​{1}},该行的最后一点与第一个点相同。我们将看到生成的单元格数组具有相同的序列(即最后一点和第一个点相同)。

vtkPolyLine

文件import vtk as v pts = v.vtkPoints() pts.InsertNextPoint(0,0,0) pts.InsertNextPoint(1,0,0) pts.InsertNextPoint(2,0,0) pts.InsertNextPoint(3,0,0) polyLine = v.vtkPolyLine() polyLine.GetPointIds().SetNumberOfIds(5) polyLine.GetPointIds().SetId(0,0) polyLine.GetPointIds().SetId(1,1) polyLine.GetPointIds().SetId(2,2) polyLine.GetPointIds().SetId(3,3) polyLine.GetPointIds().SetId(4,0) lines = v.vtkCellArray() lines.InsertNextCell(polyLine) pd = v.vtkPolyData() pd.SetPoints(pts) pd.SetLines(lines) wr = v.vtkPolyDataWriter() wr.SetFileName('Lines.vtk') wr.SetInputData(pd) wr.Write() 包含以下内容:

Lines.vtk