do not add vertices to point cloud

This commit is contained in:
Martin Diehl 2020-03-16 19:55:26 +01:00
parent becb04c234
commit 5a90982d85
3 changed files with 9 additions and 19 deletions

@ -1 +1 @@
Subproject commit 4a83e608245830af2b762c66f3bbd1fb04cef94a Subproject commit b17c5cfe67e8db6a80d9b832e789e24561b829dd

View File

@ -73,25 +73,20 @@ else:
parser.error('unsupported VTK file type extension.') parser.error('unsupported VTK file type extension.')
Npoints = Polydata.GetNumberOfPoints() Npoints = Polydata.GetNumberOfPoints()
Ncells = Polydata.GetNumberOfCells()
Nvertices = Polydata.GetNumberOfVerts()
if Npoints != Ncells or Npoints != Nvertices: damask.util.croak('{}: {} points...'.format(options.vtk,Npoints))
parser.error('number of points, cells, and vertices in VTK differ from each other.')
damask.util.croak('{}: {} points/vertices/cells...'.format(options.vtk,Npoints))
for name in filenames: for name in filenames:
damask.util.report(scriptName,name) damask.util.report(scriptName,name)
table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name)
VTKarray = {} VTKarray = {}
for data in options.data: for data in options.data:
VTKarray[data] = numpy_support.numpy_to_vtk(table.get(data).copy(), VTKarray[data] = numpy_support.numpy_to_vtk(table.get(data).copy(),
deep=True,array_type=vtk.VTK_DOUBLE) deep=True,array_type=vtk.VTK_DOUBLE)
VTKarray[data].SetName(data) VTKarray[data].SetName(data)
for color in options.color: for color in options.color:
VTKarray[color] = numpy_support.numpy_to_vtk((table.get(color)*255).astype(int).copy(), VTKarray[color] = numpy_support.numpy_to_vtk((table.get(color)*255).astype(int).copy(),
deep=True,array_type=vtk.VTK_UNSIGNED_CHAR) deep=True,array_type=vtk.VTK_UNSIGNED_CHAR)

View File

@ -40,22 +40,17 @@ for name in filenames:
table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name) table = damask.Table.from_ASCII(StringIO(''.join(sys.stdin.read())) if name is None else name)
# ------------------------------------------ process data --------------------------------------- # ------------------------------------------ process data ---------------------------------------
Polydata = vtk.vtkPolyData() Polydata = vtk.vtkPolyData()
Points = vtk.vtkPoints() Points = vtk.vtkPoints()
Vertices = vtk.vtkCellArray()
for p in table.get(options.pos): for p in table.get(options.pos):
pointID = Points.InsertNextPoint(p) pointID = Points.InsertNextPoint(p)
Vertices.InsertNextCell(1)
Vertices.InsertCellPoint(pointID)
Polydata.SetPoints(Points) Polydata.SetPoints(Points)
Polydata.SetVerts(Vertices)
Polydata.Modified() Polydata.Modified()
# ------------------------------------------ output result --------------------------------------- # ------------------------------------------ output result ---------------------------------------
if name: if name:
writer = vtk.vtkXMLPolyDataWriter() writer = vtk.vtkXMLPolyDataWriter()
@ -68,8 +63,8 @@ for name in filenames:
writer = vtk.vtkDataSetWriter() writer = vtk.vtkDataSetWriter()
writer.SetHeader('# powered by '+scriptID) writer.SetHeader('# powered by '+scriptID)
writer.WriteToOutputStringOn() writer.WriteToOutputStringOn()
writer.SetInputData(Polydata) writer.SetInputData(Polydata)
writer.Write() writer.Write()