def renderMultiblockData(ren, vtkmdata): mapper = vtk.vtkCompositePolyDataMapper() mapper.SetInputDataObject(vtkmdata) actor = vtk.vtkActor() actor.SetMapper(mapper) ren.AddActor(actor) return actor
def addToScene(self, msource, **kwargs): import vtk vsource = msource if 'translate' in kwargs: tf = vtk.vtkTransformFilter() tf.SetTransform(vtk.vtkTransform()) delta = kwargs['translate'] tf.GetTransform().Translate(delta[0], delta[1], delta[2]) tf.SetInputConnection(msource.GetOutputPort()) vsource = tf ac = vtk.vtkActor() mp = vtk.vtkCompositePolyDataMapper() ac.SetMapper(mp) mp.SetInputConnection(vsource.GetOutputPort()) self.renderer.AddActor(ac)
def addToScene(self, msource, **kwargs): import vtk vsource = msource if 'translate' in kwargs: tf = vtk.vtkTransformFilter() tf.SetTransform(vtk.vtkTransform()) delta = kwargs['translate'] tf.GetTransform().Translate(delta[0], delta[1], delta[2]) tf.SetInputConnection(msource.GetOutputPort()) vsource = tf ac = vtk.vtkActor() mp = vtk.vtkCompositePolyDataMapper() ac.SetMapper(mp) mp.SetInputConnection(vsource.GetOutputPort()) self.renderer.AddActor(ac) return [msource, vsource, mp, ac]
extract = vtk.vtkExtractGeometry() extract.SetImplicitFunction(extractionSphere) extract.SetInputConnection(random.GetOutputPort()) extract.Update() # The cut plane plane = vtk.vtkPlane() plane.SetOrigin(0, 0, 0) plane.SetNormal(1, 1, 1) # Now create the usual cutter - without a tree cutter = vtk.vtkCutter() cutter.SetInputConnection(extract.GetOutputPort()) cutter.SetCutFunction(plane) cutterMapper = vtk.vtkCompositePolyDataMapper() cutterMapper.SetInputConnection(cutter.GetOutputPort()) cutterActor = vtk.vtkActor() cutterActor.SetMapper(cutterMapper) cutterActor.GetProperty().SetColor(1, 1, 1) # Throw in an outline outline = vtk.vtkOutlineFilter() outline.SetInputConnection(sample.GetOutputPort()) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper)
# Now create the threaded version. Note that as of the # writing of this test, vtkSMPContourGrid does not merge # pieces properly hence MergePieces is disabled. Also # vtkSMPContourGrid only outputs triangles. cfT = vtk.vtkSMPContourGrid() cfT.SetInputData(input) cfT.UseScalarTreeOn() cfT.SetValue(0, 350) cfT.SetInputArrayToProcess(0, 0, 0, 0, "Temp") cfT.GenerateTrianglesOff() cfT.MergePiecesOff() # Note: Since MergePieces is off, we have to use a # vtkCompositePolyDataMapper. contourMapperT = vtk.vtkCompositePolyDataMapper() contourMapperT.SetInputConnection(cfT.GetOutputPort()) contourMapperT.ScalarVisibilityOff() contourActorT = vtk.vtkActor() contourActorT.SetMapper(contourMapperT) contourActorT.GetProperty().SetColor(1, 1, 1) outlineT = vtk.vtkOutlineFilter() outlineT.SetInputData(input) outlineMapperT = vtk.vtkPolyDataMapper() outlineMapperT.SetInputConnection(outlineT.GetOutputPort()) outlineActorT = vtk.vtkActor() outlineActorT.SetMapper(outlineMapperT)
# Set up the render window and the interactor. renWin = vtk.vtkRenderWindow() renWin.SetSize(600, 400) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) mappers = list() actors = list() renderers = list() polyMapper = vtk.vtkPolyDataMapper() polyMapper.SetInputConnection(transformer.GetOutputPort()) mappers.append(polyMapper) mbdMapper = vtk.vtkCompositePolyDataMapper() mbdMapper.SetInputConnection(source.GetOutputPort()) mappers.append(mbdMapper) mbdMapper2 = vtk.vtkCompositePolyDataMapper2() mbdMapper2.SetInputConnection(source.GetOutputPort()) mappers.append(mbdMapper2) x = 0 dx = float(1) / len(mappers) # Define the property: lighting intensities, color, # edge visibility, point visibilty p1 = vtk.vtkProperty() p1.SetColor(1, 0, 0) p1.LightingOff()
# Throw in an outline outline = vtk.vtkOutlineFilter() outline.SetInputData(input) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Now create the accelerated version. sCutter = vtk.vtkPlaneCutter() sCutter.SetInputData(input) sCutter.SetPlane(plane) sCutterMapper = vtk.vtkCompositePolyDataMapper() sCutterMapper.SetInputConnection(sCutter.GetOutputPort()) sCutterMapper.ScalarVisibilityOff() sCutterActor = vtk.vtkActor() sCutterActor.SetMapper(sCutterMapper) sCutterActor.GetProperty().SetColor(1, 1, 1) # Accelerated cutter without tree snCutter = vtk.vtkPlaneCutter() snCutter.SetInputData(input) snCutter.SetPlane(plane) snCutter.BuildTreeOff() snCutterMapper = vtk.vtkCompositePolyDataMapper() snCutterMapper.SetInputConnection(snCutter.GetOutputPort())
stree.ComputeResolutionOn() stree.SetScalarRange(0.25,0.75) stree.SetComputeScalarRange(computeScalarRange) # Now contour the cells, using scalar tree contour = vtk.vtkContour3DLinearGrid() contour.SetInputData(composite) contour.SetValue(0, 0.5) contour.SetMergePoints(mergePoints) contour.SetSequentialProcessing(serialProcessing) contour.SetInterpolateAttributes(interpolateAttr); contour.SetComputeNormals(computeNormals); contour.UseScalarTreeOn() contour.SetScalarTree(stree) contMapper = vtk.vtkCompositePolyDataMapper() contMapper.SetInputConnection(contour.GetOutputPort()) contMapper.ScalarVisibilityOff() contActor = vtk.vtkActor() contActor.SetMapper(contMapper) contActor.GetProperty().SetColor(.8,.4,.4) # Now contour the cells, using scalar tree outlineF = vtk.vtkOutlineFilter() outlineF.SetInputData(composite) outlineM = vtk.vtkPolyDataMapper() outlineM.SetInputConnection(outlineF.GetOutputPort()) outline = vtk.vtkActor()
# Now create the threaded version. Note that as of the # writing of this test, vtkSMPContourGrid does not merge # pieces properly hence MergePieces is disabled. Also # vtkSMPContourGrid only outputs triangles. cfT = vtk.vtkSMPContourGrid() cfT.SetInputData(input) cfT.UseScalarTreeOn() cfT.SetValue(0,350) cfT.SetInputArrayToProcess(0, 0, 0, 0, "Temp"); cfT.GenerateTrianglesOff() cfT.MergePiecesOff() # Note: Since MergePieces is off, we have to use a # vtkCompositePolyDataMapper. contourMapperT = vtk.vtkCompositePolyDataMapper() contourMapperT.SetInputConnection(cfT.GetOutputPort()) contourMapperT.ScalarVisibilityOff() contourActorT = vtk.vtkActor() contourActorT.SetMapper(contourMapperT) contourActorT.GetProperty().SetColor(1,1,1) outlineT = vtk.vtkOutlineFilter() outlineT.SetInputData(input) outlineMapperT = vtk.vtkPolyDataMapper() outlineMapperT.SetInputConnection(outlineT.GetOutputPort()) outlineActorT = vtk.vtkActor() outlineActorT.SetMapper(outlineMapperT)
errors = 0 for i in range(0, 6): if pdBounds[i] != bounds[i]: errors += 1 break # An empty polydata empty = vtk.vtkPolyData() # A composite data set with an empty block following a non-empty block mbd = vtk.vtkMultiBlockDataSet() mbd.SetBlock(0, pd) mbd.SetBlock(1, empty) # The composite polydata mapper maps the composite dataset cpdm = vtk.vtkCompositePolyDataMapper() cpdm.SetInputDataObject(mbd) # Calculate the bounds cpdmBounds = cpdm.GetBounds() ok = True for i in range(0, 6): if cpdmBounds[i] != bounds[i]: ok = False errors += 1 break if not ok: print("Empty block following non-empty block") print("expected bounds = {}".format(bounds))
errors = 0 for i in range(0,6): if pdBounds[i] != bounds[i]: errors +=1 break # An empty polydata empty=vtk.vtkPolyData() # A composite data set with an empty block following a non-empty block mbd=vtk.vtkMultiBlockDataSet() mbd.SetBlock(0,pd) mbd.SetBlock(1,empty) # The composite polydata mapper maps the composite dataset cpdm=vtk.vtkCompositePolyDataMapper() cpdm.SetInputDataObject(mbd) # Calculate the bounds cpdmBounds = cpdm.GetBounds() ok=True for i in range(0,6): if cpdmBounds[i] != bounds[i]: ok=False errors+=1 break if not ok: print( "Empty block following non-empty block" ) print ( "expected bounds = {}".format(bounds) )