def numpyToPolyData(pts, pointData=None, createVertexCells=False): pd = vtk.vtkPolyData() pd.SetPoints(vtk.vtkPoints()) # Makes a deep copy pd.GetPoints().SetData(getVtkFromNumpy(pts.copy())) if pointData is not None: for key, value in pointData.iteritems(): addNumpyToVtk(pd, value.copy(), key) if createVertexCells: cellIds = vtk.vtkIdList() cellIds.SetNumberOfIds(pd.GetNumberOfPoints()) for i in range(pd.GetNumberOfPoints()): cellIds.SetId(i, i) cells = vtk.vtkCellArray() cells.InsertNextCell(cellIds) pd.SetVerts(cells) return pd
def getVtkPointsFromNumpy(numpyArray): points = vtk.vtkPoints() points.SetData(getVtkFromNumpy(numpyArray)) return points