def __init__(self, module_manager):
     SimpleVTKClassModuleBase.__init__(
         self, module_manager,
         vtk.vtkMultiBlockMergeFilter(), 'Processing.',
         ('vtkMultiBlockDataSet',), ('vtkMultiBlockDataSet',),
         replaceDoc=True,
         inputFunctions=None, outputFunctions=None)
Example #2
0
 def __init__(self, module_manager):
     SimpleVTKClassModuleBase.__init__(self,
                                       module_manager,
                                       vtk.vtkMultiBlockMergeFilter(),
                                       'Processing.',
                                       ('vtkMultiBlockDataSet', ),
                                       ('vtkMultiBlockDataSet', ),
                                       replaceDoc=True,
                                       inputFunctions=None,
                                       outputFunctions=None)
Example #3
0
def __youngs_material_interface__(GetOutput):
    # Reconstruct material interface
    # http://vtk.org/gitweb?p=VTK.git;a=blob;f=Examples/Graphics/Python/SingleYoungsMaterialInterface.py

    if (not GetOutput.IsA("vtkCompositeDataSet")):
        print "[__youngs_material_interface__] ERROR: \'%s\' != \'vtkCompositeDataSet\' " % GetOutput.GetClassName(
        )
        sys.exit()

    meshMB = vtk.vtkMultiBlockDataSet()
    meshMB.SafeDownCast(GetOutput)
    meshMB.Update()

    interface = vtk.vtkYoungsMaterialInterface()

    if vtk.VTK_MAJOR_VERSION <= 5:
        interface.SetInput(meshMB)
    else:
        interface.SetInputData(meshMB)

    interface.SetNumberOfMaterials(1)
    interface.SetMaterialVolumeFractionArray(0, "CurrentFlatIndex")

    interface.SetVolumeFractionRange(.001, .999)
    interface.FillMaterialOn()
    #interface.UseAllBlocksOff()
    #interface.UseAllBlocksOn()
    interface.Update()

    Merge = vtk.vtkMultiBlockMergeFilter()
    if vtk.VTK_MAJOR_VERSION <= 5:
        Merge.AddInput(interface.GetOutput())
    else:
        Merge.AddInputData(interface.GetOutput())
    Merge.Update()

    #__save_vtp__("XXX", Merge.GetOutput() )
    __save_vtm__("XXX", Merge.GetOutput())
    #__save_vtm__("XXX", interface.GetOutput() )

    return interface
Example #4
0
    def load_vtk_structured(self, file_name):
        self.fname = file_name
        #reader = vtk.vtkUnstructuredGridReader()
        reader = vtk.vtkXMLMultiBlockDataReader()
        reader.SetFileName(file_name)
        reader.Update()

        Merge = vtk.vtkMultiBlockMergeFilter()
        Merge.AddInput(reader.GetOutput())
        Merge.Update()

        Mb = vtk.vtkStructuredGridOutlineFilter()
        if vtk.VTK_MAJOR_VERSION <= 5:
            Mb.SetInput(Merge.GetOutput())
        else:
            Mb.SetInputData(Merge.GetOutput())

        Geom01 = vtk.vtkCompositeDataGeometryFilter()
        Geom01.SetInputConnection(Merge.GetOutputPort())

        self.output = Geom01.GetOutput()
        self.vtk_pts = self.output.GetPointData()

        self.vtk_n_pts = self.output.GetNumberOfPoints()
        self.vtk_n_cells = self.output.GetNumberOfCells()
        self.vtk_n_props = self.vtk_pts.GetNumberOfArrays()

        self.reader = reader
        #get_range = self.output.GetScalarRange()
        #print get_range

        print " [Vtk_unstructured_reader]:"
        print "                           Cells: %d" % (self.vtk_n_cells)
        print "                           Point: %d" % (self.vtk_n_pts)
        print "                           Props: ",
        for i in range(self.vtk_n_props):
            print "\'%s\'" % (self.vtk_pts.GetArrayName(i)),
        print

        print "\n+[Vtk_multiblock_reader]: \'%s\'" % file_name
Example #5
0
    def set_multiblock_merge(self):
        meshMB = self.eg.GetOutput()

        Merge = vtk.vtkMultiBlockMergeFilter()
        if vtk.VTK_MAJOR_VERSION <= 5:
            Merge.AddInput(meshMB)
        else:
            Merge.AddInputData(meshMB)
        Merge.Update()

        self.Merge = Merge.GetOutput().GetBlock(0)

        self.PtsIds = vtk.vtkIntArray()
        self.PtsIds.SetName("PtsIds")
        self.PtsIds.SetNumberOfComponents(meshMB.GetNumberOfBlocks())
        self.PtsIds.SetNumberOfTuples(self.Merge.GetNumberOfPoints())

        k = 0
        for i in range(self.Merge.GetNumberOfPoints()):
            for j in range(meshMB.GetNumberOfBlocks()):
                self.PtsIds.SetValue(k, -1)
                k += 1

        self.CellIds = vtk.vtkIntArray()
        self.CellIds.SetName("CellIds")
        self.CellIds.SetNumberOfComponents(meshMB.GetNumberOfBlocks())
        self.CellIds.SetNumberOfTuples(self.Merge.GetNumberOfCells())

        k = 0
        for i in range(self.Merge.GetNumberOfCells()):
            for j in range(meshMB.GetNumberOfBlocks()):
                self.CellIds.SetValue(k, -(j + 1))
                k += 1

        self.pointLocator = vtk.vtkPointLocator()
        self.pointLocator.SetDataSet(self.Merge)
        self.pointLocator.BuildLocator()

        print "[set_multiblock_merge] "
Example #6
0
 def set_composite(self):
     self.Merge = vtk.vtkMultiBlockMergeFilter()
     self.AppendFilter = vtk.vtkAppendFilter()
     __set_composite__(self.Obj, self.Merge, self.AppendFilter)
Example #7
0
 def set_composite(self):
     self.Merge = vtk.vtkMultiBlockMergeFilter()
     self.AppendFilter = vtk.vtkAppendFilter()
     #self.AppendFilter = vtk.vtkAppendPolyData()
     tools.__set_composite__(self.Obj, self.Merge, self.AppendFilter)