def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkXMLPPolyDataWriter(), 'Writing vtkXMLPPolyData.', ('vtkXMLPPolyData',), (), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def main(): # Parse commandline arguments. args = _parse_args() # Check input file extensions. for fname in args.input: if not (fname.endswith('.h5') or fname.endswith('.binary')): raise ValueError("Input file names must either end with '.h5' or" "'.binary'.") # Make sure that the output filename ends with '.pvtp'. if not args.out: args.out = 'tracks.pvtp' elif os.path.splitext(args.out)[1] != '.pvtp': args.out = ''.join([args.out, '.pvtp']) # Import HDF library if HDF files are present for fname in args.input: if fname.endswith('.h5'): import h5py break # Initialize data arrays and offset. points = vtk.vtkPoints() cells = vtk.vtkCellArray() point_offset = 0 for fname in args.input: # Write coordinate values to points array. if fname.endswith('.binary'): track = open(fname, 'rb').read() coords = [ struct.unpack("ddd", track[24 * i:24 * (i + 1)]) for i in range(len(track) / 24) ] n_points = len(coords) for triplet in coords: points.InsertNextPoint(triplet) else: coords = h5py.File(fname).get('coordinates') n_points = coords.shape[0] for i in range(n_points): points.InsertNextPoint(coords[i, :]) # Create VTK line and assign points to line. line = vtk.vtkPolyLine() line.GetPointIds().SetNumberOfIds(n_points) for i in range(n_points): line.GetPointIds().SetId(i, point_offset + i) cells.InsertNextCell(line) point_offset += n_points data = vtk.vtkPolyData() data.SetPoints(points) data.SetLines(cells) writer = vtk.vtkXMLPPolyDataWriter() writer.SetInput(data) writer.SetFileName(args.out) writer.Write()
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__(self, module_manager, vtk.vtkXMLPPolyDataWriter(), 'Writing vtkXMLPPolyData.', ('vtkXMLPPolyData', ), (), replaceDoc=True, inputFunctions=None, outputFunctions=None)
def main(): # Parse commandline arguments. args = _parse_args() # Check input file extensions. for fname in args.input: if not (fname.endswith('.h5') or fname.endswith('.binary')): raise ValueError("Input file names must either end with '.h5' or" "'.binary'.") # Make sure that the output filename ends with '.pvtp'. if not args.out: args.out = 'tracks.pvtp' elif os.path.splitext(args.out)[1] != '.pvtp': args.out = ''.join([args.out, '.pvtp']) # Import HDF library if HDF files are present for fname in args.input: if fname.endswith('.h5'): import h5py break # Initialize data arrays and offset. points = vtk.vtkPoints() cells = vtk.vtkCellArray() point_offset = 0 for fname in args.input: # Write coordinate values to points array. if fname.endswith('.binary'): track = open(fname, 'rb').read() coords = [struct.unpack("ddd", track[24*i : 24*(i+1)]) for i in range(len(track)/24)] n_points = len(coords) for triplet in coords: points.InsertNextPoint(triplet) else: coords = h5py.File(fname).get('coordinates') n_points = coords.shape[0] for i in range(n_points): points.InsertNextPoint(coords[i,:]) # Create VTK line and assign points to line. line = vtk.vtkPolyLine() line.GetPointIds().SetNumberOfIds(n_points) for i in range(n_points): line.GetPointIds().SetId(i, point_offset+i) cells.InsertNextCell(line) point_offset += n_points data = vtk.vtkPolyData() data.SetPoints(points) data.SetLines(cells) writer = vtk.vtkXMLPPolyDataWriter() writer.SetInput(data) writer.SetFileName(args.out) writer.Write()
def CreateVtkPolyDataWriter(self): mypid = SmartGetLocalProcessId() pm = paraview.servermanager.vtkProcessModule.GetProcessModule() globalController = pm.GetGlobalController() #gLocalProcessId = globalController.GetLocalProcessId() numproc = globalController.GetNumberOfProcesses() if PhactoriDbg(100): myDebugPrint3("numproc " + str(numproc) + " mypid " + str(mypid) + "\n") self.mWriter = vtk.vtkXMLPPolyDataWriter() self.mWriter.SetInputData(self.mFilterToWriteDataFrom.GetClientSideObject().GetOutputDataObject(0)) self.mWriter.SetNumberOfPieces(numproc) self.mWriter.SetStartPiece(mypid) self.mWriter.SetEndPiece(mypid) self.mWriter.SetUseSubdirectory(True)
serialWriter.SetFileName('pathlines-serial-' + fileString + '.vtp') if vtk.VTK_MAJOR_VERSION == 6: serialWriter.SetInputData(cleaner.GetOutput()) else: serialWriter.SetInput(cleaner.GetOutput()) serialWriter.Write() # else write out parallel files else: # write out local file, note that name HAS to be with the underscore localWriter = vtk.vtkXMLPolyDataWriter() localWriter.SetFileName('pathlines-' + fileString + '_' + str(rank) + '.vtp') if vtk.VTK_MAJOR_VERSION == 6: localWriter.SetInputData(vtkPolyData) else: localWriter.SetInput(vtkPolyData) localWriter.Write() # write out the master .pvtp file if rank == 0: parallelWriter = vtk.vtkXMLPPolyDataWriter() parallelWriter.SetFileName('pathlines-' + fileString + '.pvtp') parallelWriter.SetNumberOfPieces(size) if vtk.VTK_MAJOR_VERSION == 6: parallelWriter.SetInputData(vtkPolyData) else: parallelWriter.SetInput(vtkPolyData) parallelWriter.Write()