def __init__ (self, mod_m): debug ("In StructuredGridOutline::__init__ ()") Common.state.busy () Base.Objects.Module.__init__ (self, mod_m) self.act = None data_src = self.mod_m.get_data_source () self.type = data_src.get_grid_type () if self.type != "STRUCTURED_GRID": msg = "This module does not support the %s dataset."%(self.type) msg = msg + "\nOnly STRUCTURED_GRID data is supported by "\ "this module." raise Base.Objects.ModuleException, msg self.outline = vtk.vtkStructuredGridOutlineFilter () self.outline.SetInput (mod_m.GetOutput ()) self.mapper = self.map = vtk.vtkPolyDataMapper () self.map.SetInput (self.outline.GetOutput ()) self.map.SetScalarVisibility (0) self.actor = self.act = vtk.vtkActor () self.act.SetMapper (self.map) self.act.GetProperty ().SetColor (*Common.config.fg_color) self.renwin.add_actors (self.act) # used for the pipeline browser self.pipe_objs = self.act self.renwin.Render () Common.state.idle ()
def __init__(self, module_manager): SimpleVTKClassModuleBase.__init__( self, module_manager, vtk.vtkStructuredGridOutlineFilter(), "Processing.", ("vtkStructuredGrid",), ("vtkPolyData",), replaceDoc=True, inputFunctions=None, outputFunctions=None, )
def make_models(self): """ make models """ # Read some structured data. pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(VTK_DATA_ROOT + "/Data/combxyz.bin") pl3d.SetQFileName(VTK_DATA_ROOT + "/Data/combq.bin") pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3d_output = pl3d.GetOutput().GetBlock(0) # Here we subsample the grid. The SetVOI method requires six values # specifying (imin,imax, jmin,jmax, kmin,kmax) extents. In this # example we extracting a plane. Note that the VOI is clamped to zero # (min) and the maximum i-j-k value; that way we can use the # -1000,1000 specification and be sure the values are clamped. The # SampleRate specifies that we take every point in the i-direction; # every other point in the j-direction; and every third point in the # k-direction. IncludeBoundaryOn makes sure that we get the boundary # points even if the SampleRate does not coincident with the boundary. extract = vtk.vtkExtractGrid() extract.SetInputData(pl3d_output) extract.SetVOI(self.slice_factor, self.slice_factor, -1000, 1000, -1000, 1000) extract.SetSampleRate(1, 2, 3) extract.IncludeBoundaryOn() mapper = vtk.vtkDataSetMapper() mapper.SetInputConnection(extract.GetOutputPort()) mapper.SetScalarRange(.18, .7) self.surface_actor = vtk.vtkActor() self.surface_actor.SetMapper(mapper) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d_output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) self.outline_actor = vtk.vtkActor() self.outline_actor.SetMapper(outlineMapper) self.outline_actor.GetProperty().SetColor(0, 0, 0) self.extract_model = extract
def main(): colors = vtk.vtkNamedColors() fileName1, fileName2 = get_program_parameters() # Create the pipeline. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(fileName1) pl3d.SetQFileName(fileName2) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() sg = pl3d.GetOutput().GetBlock(0) # We create three planes and position them in the correct position # using transform filters. They are then appended together and used as # a probe. plane = vtk.vtkPlaneSource() plane.SetResolution(50, 50) transP1 = vtk.vtkTransform() transP1.Translate(3.7, 0.0, 28.37) transP1.Scale(5, 5, 5) transP1.RotateY(90) tpd1 = vtk.vtkTransformPolyDataFilter() tpd1.SetInputConnection(plane.GetOutputPort()) tpd1.SetTransform(transP1) outTpd1 = vtk.vtkOutlineFilter() outTpd1.SetInputConnection(tpd1.GetOutputPort()) mapTpd1 = vtk.vtkPolyDataMapper() mapTpd1.SetInputConnection(outTpd1.GetOutputPort()) tpd1Actor = vtk.vtkActor() tpd1Actor.SetMapper(mapTpd1) tpd1Actor.GetProperty().SetColor(0, 0, 0) tpd1Actor.GetProperty().SetLineWidth(2.0) transP2 = vtk.vtkTransform() transP2.Translate(9.2, 0.0, 31.20) transP2.Scale(5, 5, 5) transP2.RotateY(90) tpd2 = vtk.vtkTransformPolyDataFilter() tpd2.SetInputConnection(plane.GetOutputPort()) tpd2.SetTransform(transP2) outTpd2 = vtk.vtkOutlineFilter() outTpd2.SetInputConnection(tpd2.GetOutputPort()) mapTpd2 = vtk.vtkPolyDataMapper() mapTpd2.SetInputConnection(outTpd2.GetOutputPort()) tpd2Actor = vtk.vtkActor() tpd2Actor.SetMapper(mapTpd2) tpd2Actor.GetProperty().SetColor(0, 0, 0) tpd2Actor.GetProperty().SetLineWidth(2.0) transP3 = vtk.vtkTransform() transP3.Translate(13.27, 0.0, 33.30) transP3.Scale(5, 5, 5) transP3.RotateY(90) tpd3 = vtk.vtkTransformPolyDataFilter() tpd3.SetInputConnection(plane.GetOutputPort()) tpd3.SetTransform(transP3) outTpd3 = vtk.vtkOutlineFilter() outTpd3.SetInputConnection(tpd3.GetOutputPort()) mapTpd3 = vtk.vtkPolyDataMapper() mapTpd3.SetInputConnection(outTpd3.GetOutputPort()) tpd3Actor = vtk.vtkActor() tpd3Actor.SetMapper(mapTpd3) tpd3Actor.GetProperty().SetColor(0, 0, 0) tpd3Actor.GetProperty().SetLineWidth(2.0) appendF = vtk.vtkAppendPolyData() appendF.AddInputConnection(tpd1.GetOutputPort()) appendF.AddInputConnection(tpd2.GetOutputPort()) appendF.AddInputConnection(tpd3.GetOutputPort()) # The vtkProbeFilter takes two inputs. One is a dataset to use as the probe # geometry (SetInputConnection) the other is the data to probe # (SetSourceConnection). The output dataset structure (geometry and # topology) of the probe is the same as the structure of the input. The # probing process generates new data values resampled from the source. probe = vtk.vtkProbeFilter() probe.SetInputConnection(appendF.GetOutputPort()) probe.SetSourceData(sg) contour = vtk.vtkContourFilter() contour.SetInputConnection(probe.GetOutputPort()) contour.GenerateValues(50, sg.GetScalarRange()) contourMapper = vtk.vtkPolyDataMapper() contourMapper.SetInputConnection(contour.GetOutputPort()) contourMapper.SetScalarRange(sg.GetScalarRange()) planeActor = vtk.vtkActor() planeActor.SetMapper(contourMapper) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(sg) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(0, 0, 0) outlineActor.GetProperty().SetLineWidth(2.0) # Create the RenderWindow, Renderer and both Actors # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) ren1.AddActor(outlineActor) ren1.AddActor(planeActor) ren1.AddActor(tpd1Actor) ren1.AddActor(tpd2Actor) ren1.AddActor(tpd3Actor) ren1.SetBackground(colors.GetColor3d('Gainsboro')) renWin.SetSize(640, 480) renWin.SetWindowName('ProbeCombustor') ren1.ResetCamera() ren1.GetActiveCamera().SetClippingRange(3.95297, 50) ren1.GetActiveCamera().SetFocalPoint(8.88908, 0.595038, 29.3342) ren1.GetActiveCamera().SetPosition(-12.3332, 31.7479, 41.2387) ren1.GetActiveCamera().SetViewUp(0.060772, -0.319905, 0.945498) renWin.Render() iren.Start()
renWin.AddRenderer(Ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) Plot3D0 = vtk.vtkMultiBlockPLOT3DReader() Plot3D0.SetFileName("" + str(VTK_DATA_ROOT) + "/Data/combxyz.bin") Plot3D0.SetQFileName("" + str(VTK_DATA_ROOT) + "/Data/combq.bin") Plot3D0.SetBinaryFile(1) Plot3D0.SetMultiGrid(0) Plot3D0.SetHasByteCount(0) Plot3D0.SetIBlanking(0) Plot3D0.SetTwoDimensionalGeometry(0) Plot3D0.SetForceRead(0) Plot3D0.SetByteOrder(0) Plot3D0.Update() output = Plot3D0.GetOutput().GetBlock(0) Geometry5 = vtk.vtkStructuredGridOutlineFilter() Geometry5.SetInputData(output) Mapper5 = vtk.vtkPolyDataMapper() Mapper5.SetInputConnection(Geometry5.GetOutputPort()) Mapper5.SetImmediateModeRendering(1) Mapper5.UseLookupTableScalarRangeOn() Mapper5.SetScalarVisibility(0) Mapper5.SetScalarModeToDefault() Actor5 = vtk.vtkActor() Actor5.SetMapper(Mapper5) Actor5.GetProperty().SetRepresentationToSurface() Actor5.GetProperty().SetInterpolationToGouraud() Actor5.GetProperty().SetAmbient(0.15) Actor5.GetProperty().SetDiffuse(0.85) Actor5.GetProperty().SetSpecular(0.1) Actor5.GetProperty().SetSpecularPower(100)
def __init__(self, parent, data_dir): super(QGlyphViewer,self).__init__(parent) # Make tha actual QtWidget a child so that it can be re parented interactor = QVTKRenderWindowInteractor(self) self.layout = QtGui.QHBoxLayout() self.layout.addWidget(interactor) self.layout.setContentsMargins(0,0,0,0) self.setLayout(self.layout) # Read the data xyx_file = os.path.join(data_dir, "combxyz.bin") q_file = os.path.join(data_dir, "combq.bin") pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyx_file) pl3d.SetQFileName(q_file) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() blocks = pl3d.GetOutput() b0 = blocks.GetBlock(0) # Setup VTK environment renderer = vtk.vtkRenderer() render_window = interactor.GetRenderWindow() render_window.AddRenderer(renderer) interactor.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera()) render_window.SetInteractor(interactor) renderer.SetBackground(0.2,0.2,0.2) # Draw Outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(b0) outline_mapper = vtk.vtkPolyDataMapper() outline_mapper.SetInputConnection(outline.GetOutputPort()) outline_actor = vtk.vtkActor() outline_actor.SetMapper(outline_mapper) outline_actor.GetProperty().SetColor(1,1,1) renderer.AddActor(outline_actor) renderer.ResetCamera() # Draw Outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(b0) outline_mapper = vtk.vtkPolyDataMapper() outline_mapper.SetInputConnection(outline.GetOutputPort()) outline_actor = vtk.vtkActor() outline_actor.SetMapper(outline_mapper) outline_actor.GetProperty().SetColor(1,1,1) renderer.AddActor(outline_actor) renderer.ResetCamera() # Threshold points threshold = vtk.vtkThresholdPoints() threshold.SetInputData(b0) threshold.ThresholdByUpper(0.5) # Draw arrows arrow = vtk.vtkArrowSource() glyphs = vtk.vtkGlyph3D() glyphs.SetInputData(b0) glyphs.SetSourceConnection(arrow.GetOutputPort()) glyphs.SetInputConnection(threshold.GetOutputPort()) glyphs.SetVectorModeToUseVector() glyphs.SetScaleModeToScaleByVector() glyphs.SetScaleFactor(0.005) glyphs.SetColorModeToColorByVector() # Mapper glyph_mapper = vtk.vtkPolyDataMapper() glyph_mapper.SetInputConnection(glyphs.GetOutputPort()) glyph_actor = vtk.vtkActor() glyph_actor.SetMapper(glyph_mapper) glyph_mapper.UseLookupTableScalarRangeOn() renderer.AddActor(glyph_actor) # Set color lookuptable glyphs.Update() s0,sf = glyphs.GetOutput().GetScalarRange() lut = vtk.vtkColorTransferFunction() lut.AddRGBPoint(s0, 1,0,0) lut.AddRGBPoint(sf, 0,1,0) glyph_mapper.SetLookupTable(lut) self.b0 = b0 self.renderer = renderer self.interactor = interactor self.threshold = threshold
def main(): xyzFilename, qFilename = get_program_parameters() colors = vtk.vtkNamedColors() aren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(aren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) scalarRange = [0.0] * 2 c = [0.0] * 3 maxTime = 0.0 reader = vtk.vtkMultiBlockPLOT3DReader() reader.SetXYZFileName(xyzFilename) reader.SetQFileName(qFilename) reader.Update() # Force a read to occur. pd = reader.GetOutput().GetBlock(0) pd.GetCenter(c) if pd.GetPointData().GetScalars(): pd.GetPointData().GetScalars().GetRange(scalarRange) if pd.GetPointData().GetVectors(): maxVelocity = pd.GetPointData().GetVectors().GetMaxNorm() maxTime = 20.0 * pd.GetLength() / maxVelocity outlineF = vtk.vtkStructuredGridOutlineFilter() outlineF.SetInputData(pd) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outlineF.GetOutputPort()) outline = vtk.vtkActor() outline.SetMapper(outlineMapper) outline.GetProperty().SetColor(colors.GetColor3d("Moccasin")) outline.GetProperty().SetLineWidth(2.0) # # Some geometry for context # wall = vtk.vtkStructuredGridGeometryFilter() wall.SetInputData(pd) wall.SetExtent(0, 100, 0, 100, 0, 0) wallMap = vtk.vtkPolyDataMapper() wallMap.SetInputConnection(wall.GetOutputPort()) wallMap.ScalarVisibilityOff() wallActor = vtk.vtkActor() wallActor.SetMapper(wallMap) wallActor.GetProperty().SetColor(colors.GetColor3d("Silver")) fin = vtk.vtkStructuredGridGeometryFilter() fin.SetInputData(pd) fin.SetExtent(0, 100, 0, 0, 0, 100) finMap = vtk.vtkPolyDataMapper() finMap.SetInputConnection(fin.GetOutputPort()) finMap.ScalarVisibilityOff() finActor = vtk.vtkActor() finActor.SetMapper(finMap) finActor.GetProperty().SetColor(colors.GetColor3d("Silver")) # # regular streamlines # line1 = vtk.vtkLineSource() line1.SetResolution(25) line1.SetPoint1(-6.36, 0.25, 0.06) line1.SetPoint2(-6.36, 0.25, 5.37) rakeMapper = vtk.vtkPolyDataMapper() rakeMapper.SetInputConnection(line1.GetOutputPort()) rake1 = vtk.vtkActor() rake1.SetMapper(rakeMapper) rake1.GetProperty().SetColor(0.0, 0.0, 0.0) rake1.GetProperty().SetLineWidth(5) streamers = vtk.vtkStreamTracer() # streamers.DebugOn() streamers.SetInputConnection(reader.GetOutputPort()) streamers.SetSourceConnection(line1.GetOutputPort()) streamers.SetMaximumPropagation(maxTime) streamers.SetInitialIntegrationStep(.2) streamers.SetMinimumIntegrationStep(.01) streamers.SetIntegratorType(2) streamers.Update() streamersMapper = vtk.vtkPolyDataMapper() streamersMapper.SetInputConnection(streamers.GetOutputPort()) streamersMapper.SetScalarRange(scalarRange) lines = vtk.vtkActor() lines.SetMapper(streamersMapper) aren.AddActor(outline) aren.AddActor(wallActor) aren.AddActor(finActor) aren.AddActor(rake1) aren.AddActor(lines) aren.SetBackground(0.5, 0.5, 0.5) aren.ResetCamera() aren.GetActiveCamera().Elevation(30.0) aren.GetActiveCamera().Azimuth(30.0) aren.GetActiveCamera().Dolly(1.2) aren.ResetCameraClippingRange() renWin.SetSize(640, 480) renWin.Render() # Interact with the data. iren.Start()
# Time execution timer = vtk.vtkTimerLog() timer.StartTimer() interpolator.Update() timer.StopTimer() time = timer.GetElapsedTime() print("Interpolate Points (Voronoi): {0}".format(time)) intMapper = vtk.vtkPolyDataMapper() intMapper.SetInputConnection(interpolator.GetOutputPort()) intActor = vtk.vtkActor() intActor.SetMapper(intMapper) # Create an outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Gaussian kernel------------------------------------------------------- gaussianKernel = vtk.vtkGaussianKernel() #gaussianKernel = vtk.vtkEllipsoidalGaussianKernel() #gaussianKernel.UseScalarsOn() #gaussianKernel.UseNormalsOn() gaussianKernel.SetSharpness(4) gaussianKernel.SetRadius(0.5)
def testAll(self): # cut data pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(VTK_DATA_ROOT + "/Data/combxyz.bin") pl3d.SetQFileName(VTK_DATA_ROOT + "/Data/combq.bin") pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3d_output = pl3d.GetOutput().GetBlock(0) range = pl3d_output.GetPointData().GetScalars().GetRange() min = range[0] max = range[1] value = (min + max) / 2.0 # cf = vtk.vtkGridSynchronizedTemplates3D() cf = vtk.vtkContourFilter() cf.SetInputData(pl3d_output) cf.SetValue(0, value) cf.GenerateTrianglesOff() cf.Update() self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfPoints(), 4674) self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfCells(), 4012) cf.GenerateTrianglesOn() cf.Update() self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfPoints(), 4674) self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfCells(), 8076) # cf ComputeNormalsOff cfMapper = vtk.vtkPolyDataMapper() cfMapper.SetInputConnection(cf.GetOutputPort()) cfMapper.SetScalarRange( pl3d_output.GetPointData().GetScalars().GetRange()) cfActor = vtk.vtkActor() cfActor.SetMapper(cfMapper) # outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d_output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(0, 0, 0) # # Graphics stuff # Create the RenderWindow, Renderer and both Actors # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.SetMultiSamples(0) renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size # ren1.AddActor(outlineActor) ren1.AddActor(cfActor) ren1.SetBackground(1, 1, 1) renWin.SetSize(400, 400) cam1 = ren1.GetActiveCamera() cam1.SetClippingRange(3.95297, 50) cam1.SetFocalPoint(9.71821, 0.458166, 29.3999) cam1.SetPosition(2.7439, -37.3196, 38.7167) cam1.SetViewUp(-0.16123, 0.264271, 0.950876) iren.Initialize() # render the image # # loop over surfaces i = 0 while i < 17: cf.SetValue(0, min + (i / 16.0) * (max - min)) renWin.Render() cf.SetValue(0, min + (0.2) * (max - min)) renWin.Render() i += 1
def testAll(self): # cut data pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName("" + str(VTK_DATA_ROOT) + "/Data/combxyz.bin") pl3d.SetQFileName("" + str(VTK_DATA_ROOT) + "/Data/combq.bin") pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3d_output = pl3d.GetOutput().GetBlock(0) range = pl3d_output.GetPointData().GetScalars().GetRange() min = lindex(range, 0) max = lindex(range, 1) value = expr.expr(globals(), locals(), ["(", "min", "+", "max", ")", "/", "2.0"]) #vtkGridSynchronizedTemplates3D cf cf = vtk.vtkContourFilter() cf.SetInputData(pl3d_output) cf.SetValue(0, value) cf.GenerateTrianglesOff() cf.Update() self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfPoints(), 4674) self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfCells(), 4011) cf.GenerateTrianglesOn() cf.Update() self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfPoints(), 4674) self.failUnlessEqual( cf.GetOutputDataObject(0).GetNumberOfCells(), 8076) #cf ComputeNormalsOff cfMapper = vtk.vtkPolyDataMapper() cfMapper.ImmediateModeRenderingOn() cfMapper.SetInputConnection(cf.GetOutputPort()) cfMapper.SetScalarRange( pl3d_output.GetPointData().GetScalars().GetRange()) cfActor = vtk.vtkActor() cfActor.SetMapper(cfMapper) #outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d_output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(0, 0, 0) ## Graphics stuff # Create the RenderWindow, Renderer and both Actors # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.SetMultiSamples(0) renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size # ren1.AddActor(outlineActor) ren1.AddActor(cfActor) ren1.SetBackground(1, 1, 1) renWin.SetSize(400, 400) cam1 = ren1.GetActiveCamera() cam1.SetClippingRange(3.95297, 50) cam1.SetFocalPoint(9.71821, 0.458166, 29.3999) cam1.SetPosition(2.7439, -37.3196, 38.7167) cam1.SetViewUp(-0.16123, 0.264271, 0.950876) iren.Initialize() # render the image # # loop over surfaces i = 0 while i < 17: cf.SetValue( 0, expr.expr(globals(), locals(), [ "min", "+", "(", "i", "/", "16.0", ")*(", "max", "-", "min", ")" ])) renWin.Render() i = i + 1 cf.SetValue( 0, expr.expr( globals(), locals(), ["min", "+", "(", "0.2", ")*(", "max", "-", "min", ")"])) renWin.Render()
def main(): dataFn1, dataFn2, textureFn = get_program_parameters() colors = vtk.vtkNamedColors() # Read the data. pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(dataFn1) pl3d.SetQFileName(dataFn2) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() output = pl3d.GetOutput().GetBlock(0) # Make the wall (floor). wall = vtk.vtkStructuredGridGeometryFilter() wall.SetInputData(output) wall.SetExtent(0, 100, 0, 0, 0, 100) wallMap = vtk.vtkPolyDataMapper() wallMap.SetInputConnection(wall.GetOutputPort()) wallMap.ScalarVisibilityOff() wallActor = vtk.vtkActor() wallActor.SetMapper(wallMap) wallActor.GetProperty().SetColor(colors.GetColor3d("PeachPuff")) # Make the fin (rear wall) fin = vtk.vtkStructuredGridGeometryFilter() fin.SetInputData(output) fin.SetExtent(0, 100, 0, 100, 0, 0) finMap = vtk.vtkPolyDataMapper() finMap.SetInputConnection(fin.GetOutputPort()) finMap.ScalarVisibilityOff() finActor = vtk.vtkActor() finActor.SetMapper(finMap) finActor.GetProperty().SetColor(colors.GetColor3d("DarkSlateGray")) # Get the texture. tmap = vtk.vtkStructuredPointsReader() tmap.SetFileName(textureFn) texture = vtk.vtkTexture() texture.SetInputConnection(tmap.GetOutputPort()) texture.InterpolateOff() texture.RepeatOff() # Create the rendering window, renderer, and interactive renderer. ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Make the planes to threshold and texture. plane = list() thresh = list() planeMap = list() planeActor = list() # Define the extents of planes that we will use. planeExtents = [[10, 10, 0, 100, 0, 100], [30, 30, 0, 100, 0, 100], [35, 35, 0, 100, 0, 100]] # Now set up the pipeline. for i in range(0, len(planeExtents)): plane.append(vtk.vtkStructuredGridGeometryFilter()) plane[i].SetInputData(output) plane[i].SetExtent(*planeExtents[i]) thresh.append(vtk.vtkThresholdTextureCoords()) thresh[i].SetInputConnection(plane[i].GetOutputPort()) thresh[i].SetInputConnection(plane[i].GetOutputPort()) # If you want an image similar to Fig 9-43(a) in the VTK textbook, # set thresh[i].ThresholdByUpper(1.5) for all planes. if i == 1: thresh[i].ThresholdByLower(1.5) elif i == 2: thresh[i].ThresholdBetween(1.5, 1.8) else: thresh[i].ThresholdByUpper(1.5) planeMap.append(vtk.vtkDataSetMapper()) planeMap[i].SetInputConnection(thresh[i].GetOutputPort()) planeMap[i].SetScalarRange(output.GetScalarRange()) planeActor.append(vtk.vtkActor()) planeActor[i].SetMapper(planeMap[i]) planeActor[i].SetTexture(texture) # The slight transparency gives a nice effect. planeActor[i].GetProperty().SetOpacity(0.999) ren.AddActor(planeActor[i]) # Get an outline of the data set for context. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineProp = outlineActor.GetProperty() outlineProp.SetColor(colors.GetColor3d("Black")) # Add the remaining actors to the renderer, set the background and size. ren.AddActor(outlineActor) ren.AddActor(wallActor) ren.AddActor(finActor) ren.SetBackground(colors.GetColor3d("MistyRose")) renWin.SetSize(512, 512) cam = vtk.vtkCamera() cam.SetClippingRange(1.51176, 75.5879) cam.SetFocalPoint(2.33749, 2.96739, 3.61023) cam.SetPosition(10.8787, 5.27346, 15.8687) cam.SetViewAngle(30) cam.SetViewUp(-0.0610856, 0.987798, -0.143262) ren.SetActiveCamera(cam) iren.Initialize() iren.Start()
def main(): xyzFile, qFile = get_program_parameters() colors = vtk.vtkNamedColors() # Create pipeline. Read structured grid data. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyzFile) pl3d.SetQFileName(qFile) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3dOutput = pl3d.GetOutput().GetBlock(0) # A convenience, use this filter to limit data for experimentation. extract = vtk.vtkExtractGrid() extract.SetVOI(1, 55, -1000, 1000, -1000, 1000) extract.SetInputData(pl3dOutput) # The (implicit) plane is used to do the cutting plane = vtk.vtkPlane() plane.SetOrigin(0, 4, 2) plane.SetNormal(0, 1, 0) # The cutter is set up to process each contour value over all cells # (SetSortByToSortByCell). This results in an ordered output of polygons # which is key to the compositing. cutter = vtk.vtkCutter() cutter.SetInputConnection(extract.GetOutputPort()) cutter.SetCutFunction(plane) cutter.GenerateCutScalarsOff() cutter.SetSortByToSortByCell() clut = vtk.vtkLookupTable() clut.SetHueRange(0, 0.67) clut.Build() cutterMapper = vtk.vtkPolyDataMapper() cutterMapper.SetInputConnection(cutter.GetOutputPort()) cutterMapper.SetScalarRange(0.18, 0.7) cutterMapper.SetLookupTable(clut) cut = vtk.vtkActor() cut.SetMapper(cutterMapper) # Add in some surface geometry for interest. iso = vtk.vtkContourFilter() iso.SetInputData(pl3dOutput) iso.SetValue(0, .22) normals = vtk.vtkPolyDataNormals() normals.SetInputConnection(iso.GetOutputPort()) normals.SetFeatureAngle(60) isoMapper = vtk.vtkPolyDataMapper() isoMapper.SetInputConnection(normals.GetOutputPort()) isoMapper.ScalarVisibilityOff() isoActor = vtk.vtkActor() isoActor.SetMapper(isoMapper) isoActor.GetProperty().SetDiffuseColor(colors.GetColor3d('Tomato')) isoActor.GetProperty().SetSpecularColor(colors.GetColor3d('White')) isoActor.GetProperty().SetDiffuse(0.8) isoActor.GetProperty().SetSpecular(0.5) isoActor.GetProperty().SetSpecularPower(30) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3dOutput) outlineStrip = vtk.vtkStripper() outlineStrip.SetInputConnection(outline.GetOutputPort()) outlineTubes = vtk.vtkTubeFilter() outlineTubes.SetInputConnection(outline.GetOutputPort()) outlineTubes.SetInputConnection(outlineStrip.GetOutputPort()) outlineTubes.SetRadius(0.1) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outlineTubes.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Create the RenderWindow, Renderer and Interactor. # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) outlineActor.GetProperty().SetColor(colors.GetColor3d('Banana')) ren1.AddActor(isoActor) isoActor.VisibilityOn() ren1.AddActor(cut) n = 20 opacity = 1.0 / float(n) * 5.0 cut.GetProperty().SetOpacity(1) ren1.SetBackground(colors.GetColor3d('SlateGray')) renWin.SetSize(640, 480) renWin.SetWindowName('PseudoVolumeRendering') ren1.GetActiveCamera().SetClippingRange(3.95297, 50) ren1.GetActiveCamera().SetFocalPoint(9.71821, 0.458166, 29.3999) ren1.GetActiveCamera().SetPosition(2.7439, -37.3196, 38.7167) ren1.GetActiveCamera().ComputeViewPlaneNormal() ren1.GetActiveCamera().SetViewUp(-0.16123, 0.264271, 0.950876) # Cut: generates n cut planes normal to camera's view plane. # plane.SetNormal(ren1.GetActiveCamera().GetViewPlaneNormal()) plane.SetOrigin(ren1.GetActiveCamera().GetFocalPoint()) cutter.GenerateValues(n, -5, 5) clut.SetAlphaRange(opacity, opacity) renWin.Render() iren.Start()
# Time execution timer = vtk.vtkTimerLog() timer.StartTimer() interpolator.Update() timer.StopTimer() time = timer.GetElapsedTime() print("Interpolate Points (Voronoi): {0}".format(time)) intMapper = vtk.vtkPolyDataMapper() intMapper.SetInputConnection(interpolator.GetOutputPort()) intActor = vtk.vtkActor() intActor.SetMapper(intMapper) # Create an outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Gaussian kernel------------------------------------------------------- gaussianKernel = vtk.vtkGaussianKernel() #gaussianKernel = vtk.vtkEllipsoidalGaussianKernel() #gaussianKernel.UseScalarsOn() #gaussianKernel.UseNormalsOn() gaussianKernel.SetSharpness(4) gaussianKernel.SetRadius(0.5)
def main(): colors = vtk.vtkNamedColors() fileName1, fileName2, numOfStreamLines, illustration = get_program_parameters( ) if illustration: numOfStreamLines = 25 # Start by loading some data. pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(fileName1) pl3d.SetQFileName(fileName2) pl3d.SetScalarFunctionNumber(100) # Density pl3d.SetVectorFunctionNumber(202) # Momentum pl3d.Update() pl3d_output = pl3d.GetOutput().GetBlock(0) # Create the Renderer, RenderWindow and RenderWindowInteractor. ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Needed by: vtkStreamTracer and vtkLineWidget. seeds = vtk.vtkPolyData() streamline = vtk.vtkActor() seeds2 = vtk.vtkPolyData() streamline2 = vtk.vtkActor() # The line widget is used seed the streamlines. lineWidget = vtk.vtkLineWidget() lineWidget.SetResolution(numOfStreamLines) lineWidget.SetInputData(pl3d_output) lineWidget.GetPolyData(seeds) if illustration: lineWidget.SetAlignToNone() lineWidget.SetPoint1(0.974678, 5.073630, 31.217961) lineWidget.SetPoint2(0.457544, -4.995921, 31.080175) else: lineWidget.SetAlignToYAxis() lineWidget.ClampToBoundsOn() lineWidget.PlaceWidget() # Associate the line widget with the interactor and setup callbacks. lineWidget.SetInteractor(iren) lineWidget.AddObserver("StartInteractionEvent", EnableActorCallback(streamline)) lineWidget.AddObserver("InteractionEvent", GenerateStreamlinesCallback(seeds, renWin)) # The second line widget is used seed more streamlines. lineWidget2 = vtk.vtkLineWidget() lineWidget2.SetResolution(numOfStreamLines) lineWidget2.SetInputData(pl3d_output) lineWidget2.GetPolyData(seeds2) lineWidget2.SetKeyPressActivationValue('L') lineWidget2.SetAlignToZAxis() lineWidget.ClampToBoundsOn() lineWidget2.PlaceWidget() # Associate the line widget with the interactor and setup callbacks. lineWidget2.SetInteractor(iren) lineWidget2.AddObserver("StartInteractionEvent", EnableActorCallback(streamline2)) lineWidget2.AddObserver("InteractionEvent", GenerateStreamlinesCallback(seeds2, renWin)) # Here we set up two streamlines. rk4 = vtk.vtkRungeKutta4() streamer = vtk.vtkStreamTracer() streamer.SetInputData(pl3d_output) streamer.SetSourceData(seeds) streamer.SetMaximumPropagation(100) streamer.SetInitialIntegrationStep(0.2) streamer.SetIntegrationDirectionToForward() streamer.SetComputeVorticity(1) streamer.SetIntegrator(rk4) rf = vtk.vtkRibbonFilter() rf.SetInputConnection(streamer.GetOutputPort()) rf.SetWidth(0.1) rf.SetWidthFactor(5) streamMapper = vtk.vtkPolyDataMapper() streamMapper.SetInputConnection(rf.GetOutputPort()) streamMapper.SetScalarRange(pl3d_output.GetScalarRange()) streamline.SetMapper(streamMapper) streamline.VisibilityOff() streamer2 = vtk.vtkStreamTracer() streamer2.SetInputData(pl3d_output) streamer2.SetSourceData(seeds2) streamer2.SetMaximumPropagation(100) streamer2.SetInitialIntegrationStep(0.2) streamer2.SetIntegrationDirectionToForward() streamer2.SetComputeVorticity(1) streamer2.SetIntegrator(rk4) rf2 = vtk.vtkRibbonFilter() rf2.SetInputConnection(streamer2.GetOutputPort()) rf2.SetWidth(0.1) rf2.SetWidthFactor(5) streamMapper2 = vtk.vtkPolyDataMapper() streamMapper2.SetInputConnection(rf2.GetOutputPort()) streamMapper2.SetScalarRange(pl3d_output.GetScalarRange()) streamline2.SetMapper(streamMapper2) streamline2.VisibilityOff() # Get an outline of the data set for context. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d_output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.GetProperty().SetColor(colors.GetColor3d("Black")) outlineActor.SetMapper(outlineMapper) # Add the actors to the renderer, set the background and size. ren.AddActor(outlineActor) ren.AddActor(streamline) ren.AddActor(streamline2) renWin.SetSize(512, 512) cam = ren.GetActiveCamera() if illustration: # We need to directly display the streamlines in this case. lineWidget.EnabledOn() streamline.VisibilityOn() lineWidget.GetPolyData(seeds) renWin.Render() cam.SetClippingRange(14.216207, 68.382915) cam.SetFocalPoint(9.718210, 0.458166, 29.399900) cam.SetPosition(-15.827551, -16.997463, 54.003120) cam.SetViewUp(0.616076, 0.179428, 0.766979) ren.SetBackground(colors.GetColor3d("Silver")) else: cam.SetClippingRange(3.95297, 50) cam.SetFocalPoint(9.71821, 0.458166, 29.3999) cam.SetPosition(2.7439, -37.3196, 38.7167) cam.SetViewUp(-0.16123, 0.264271, 0.950876) ren.SetBackground(colors.GetColor3d("Silver")) iren.Initialize() renWin.Render() iren.Start()
def main(): colors = vtk.vtkNamedColors() # colors.SetColor('bkg', [0.1, 0.2, 0.4, 1.0]) xyz_file, q_file = get_program_parameters() # Read the data. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyz_file) pl3d.SetQFileName(q_file) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() seeds = vtk.vtkPlaneSource() seeds.SetXResolution(4) seeds.SetYResolution(4) seeds.SetOrigin(2, -2, 26) seeds.SetPoint1(2, 2, 26) seeds.SetPoint2(2, -2, 32) streamline = vtk.vtkStreamTracer() streamline.SetInputData(pl3d.GetOutput().GetBlock(0)) streamline.SetSourceConnection(seeds.GetOutputPort()) streamline.SetMaximumPropagation(200) streamline.SetInitialIntegrationStep(.2) streamline.SetIntegrationDirectionToForward() streamline_mapper = vtk.vtkPolyDataMapper() streamline_mapper.SetInputConnection(streamline.GetOutputPort()) streamline_actor = vtk.vtkActor() streamline_actor.SetMapper(streamline_mapper) streamline_actor.VisibilityOn() outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d.GetOutput().GetBlock(0)) outline_mapper = vtk.vtkPolyDataMapper() outline_mapper.SetInputConnection(outline.GetOutputPort()) outline_actor = vtk.vtkActor() outline_actor.SetMapper(outline_mapper) outline_actor.GetProperty().SetColor(colors.GetColor3d('White')) renderer = vtk.vtkRenderer() render_window = vtk.vtkRenderWindow() render_window.AddRenderer(renderer) render_window.SetWindowName('StreamLines') interactor = vtk.vtkRenderWindowInteractor() interactor.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera()) render_window.SetInteractor(interactor) renderer.AddActor(streamline_actor) renderer.AddActor(outline_actor) renderer.SetBackground(colors.GetColor3d('MidnightBlue')) interactor.Initialize() render_window.Render() renderer.GetActiveCamera().SetPosition(-32.8, -12.3, 46.3) renderer.GetActiveCamera().SetFocalPoint(8.3, 0.03, 29.8) renderer.GetActiveCamera().SetViewUp(0.2, 0.5, 0.9) render_window.Render() interactor.Start()
def main(): xyzFile, qFile = get_program_parameters() colors = vtk.vtkNamedColors() ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # The cut data. pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyzFile) pl3d.SetQFileName(qFile) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() sg = pl3d.GetOutput().GetBlock(0) plane = vtk.vtkPlane() plane.SetOrigin(sg.GetCenter()) plane.SetNormal(-0.287, 0, 0.9579) planeCut = vtk.vtkCutter() planeCut.SetInputData(sg) planeCut.SetCutFunction(plane) cutMapper = vtk.vtkDataSetMapper() cutMapper.SetInputConnection(planeCut.GetOutputPort()) cutMapper.SetScalarRange(sg.GetPointData().GetScalars().GetRange()) cutActor = vtk.vtkActor() cutActor.SetMapper(cutMapper) # Extract the plane. compPlane = vtk.vtkStructuredGridGeometryFilter() compPlane.SetInputData(sg) compPlane.SetExtent(0, 100, 0, 100, 9, 9) planeMapper = vtk.vtkPolyDataMapper() planeMapper.SetInputConnection(compPlane.GetOutputPort()) planeMapper.ScalarVisibilityOff() planeActor = vtk.vtkActor() planeActor.SetMapper(planeMapper) planeActor.GetProperty().SetRepresentationToWireframe() planeActor.GetProperty().SetColor(colors.GetColor3d("Wheat")) # Outline. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d.GetOutput().GetBlock(0)) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(colors.GetColor3d("Wheat")) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) ren1.AddActor(planeActor) ren1.AddActor(cutActor) ren1.SetBackground(colors.GetColor3d("SlateGray")) renWin.SetSize(640, 480) ren1.GetActiveCamera().SetClippingRange(3.95297, 50) ren1.GetActiveCamera().SetFocalPoint(9.71821, 0.458166, 29.3999) ren1.GetActiveCamera().SetPosition(2.7439, -37.3196, 38.7167) ren1.GetActiveCamera().SetViewUp(-0.16123, 0.264271, 0.950876) ren1.ResetCamera() ren1.GetActiveCamera().Elevation(30) # Render the image. # renWin.Render() iren.Start()
def main(): xyzFn, qFn = get_program_parameters() colors = vtk.vtkNamedColors() pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyzFn) pl3d.SetQFileName(qFn) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3dOutput = pl3d.GetOutput().GetBlock(0) plane = vtk.vtkStructuredGridGeometryFilter() plane.SetInputData(pl3dOutput) plane.SetExtent(1, 100, 1, 100, 7, 7) lut = vtk.vtkLookupTable() planeMapper = vtk.vtkPolyDataMapper() planeMapper.SetLookupTable(lut) planeMapper.SetInputConnection(plane.GetOutputPort()) planeMapper.SetScalarRange(pl3dOutput.GetScalarRange()) planeActor = vtk.vtkActor() planeActor.SetMapper(planeMapper) # This creates an outline around the data. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3dOutput) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Much of the following is commented out. To try different lookup tables, # uncomment the appropriate portions. # # This creates a black to white lut. # lut.SetHueRange(0, 0) # lut.SetSaturationRange(0, 0) # lut.SetValueRange(0.2, 1.0) # This creates a red to blue lut. # lut.SetHueRange(0.0, 0.667) # This creates a blue to red lut. # lut.SetHueRange(0.667, 0.0) # This creates a weird effect. The Build() method causes the lookup table # to allocate memory and create a table based on the correct hue, saturation, # value, and alpha (transparency) range. Here we then manually overwrite the # values generated by the Build() method. lut.SetNumberOfColors(256) lut.SetHueRange(0.0, 0.667) lut.Build() # Create the RenderWindow, Renderer and both Actors. # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) ren1.AddActor(planeActor) ren1.SetBackground(colors.GetColor3d("SlateGray")) ren1.TwoSidedLightingOff() renWin.SetSize(512, 512) iren.Initialize() cam1 = ren1.GetActiveCamera() cam1.SetClippingRange(3.95297, 50) cam1.SetFocalPoint(8.88908, 0.595038, 29.3342) cam1.SetPosition(-12.3332, 31.7479, 41.2387) cam1.SetViewUp(0.060772, -0.319905, 0.945498) iren.Start()
def __init__(self, parent, data_dir): super(QGlyphViewer,self).__init__(parent) # Make tha actual QtWidget a child so that it can be re parented interactor = QVTKRenderWindowInteractor(self) self.layout = QtWidgets.QHBoxLayout() self.layout.addWidget(interactor) self.layout.setContentsMargins(0,0,0,0) self.setLayout(self.layout) # Read the data xyx_file = os.path.join(data_dir, "combxyz.bin") q_file = os.path.join(data_dir, "combq.bin") pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyx_file) pl3d.SetQFileName(q_file) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() blocks = pl3d.GetOutput() b0 = blocks.GetBlock(0) # Setup VTK environment renderer = vtk.vtkRenderer() render_window = interactor.GetRenderWindow() render_window.AddRenderer(renderer) interactor.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera()) render_window.SetInteractor(interactor) renderer.SetBackground(0.2,0.2,0.2) # Draw Outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(b0) outline_mapper = vtk.vtkPolyDataMapper() outline_mapper.SetInputConnection(outline.GetOutputPort()) outline_actor = vtk.vtkActor() outline_actor.SetMapper(outline_mapper) outline_actor.GetProperty().SetColor(1,1,1) renderer.AddActor(outline_actor) renderer.ResetCamera() # Draw Outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(b0) outline_mapper = vtk.vtkPolyDataMapper() outline_mapper.SetInputConnection(outline.GetOutputPort()) outline_actor = vtk.vtkActor() outline_actor.SetMapper(outline_mapper) outline_actor.GetProperty().SetColor(1,1,1) renderer.AddActor(outline_actor) renderer.ResetCamera() # Threshold points threshold = vtk.vtkThresholdPoints() threshold.SetInputData(b0) threshold.ThresholdByUpper(0.5) # Draw arrows arrow = vtk.vtkArrowSource() glyphs = vtk.vtkGlyph3D() glyphs.SetInputData(b0) glyphs.SetSourceConnection(arrow.GetOutputPort()) glyphs.SetInputConnection(threshold.GetOutputPort()) glyphs.SetVectorModeToUseVector() glyphs.SetScaleModeToScaleByVector() glyphs.SetScaleFactor(0.005) glyphs.SetColorModeToColorByVector() # Mapper glyph_mapper = vtk.vtkPolyDataMapper() glyph_mapper.SetInputConnection(glyphs.GetOutputPort()) glyph_actor = vtk.vtkActor() glyph_actor.SetMapper(glyph_mapper) glyph_mapper.UseLookupTableScalarRangeOn() renderer.AddActor(glyph_actor) # Set color lookuptable glyphs.Update() s0,sf = glyphs.GetOutput().GetScalarRange() lut = vtk.vtkColorTransferFunction() lut.AddRGBPoint(s0, 1,0,0) lut.AddRGBPoint(sf, 0,1,0) glyph_mapper.SetLookupTable(lut) self.b0 = b0 self.renderer = renderer self.interactor = interactor self.threshold = threshold
def main(): fileName = get_program_parameters() colors = vtk.vtkNamedColors() # Set the furniture colors, matching those in the VTKTextBook. tableTopColor = [0.59, 0.427, 0.392] filingCabinetColor = [0.8, 0.8, 0.6] bookShelfColor = [0.8, 0.8, 0.6] windowColor = [0.3, 0.3, 0.5] colors.SetColor("TableTop", *tableTopColor) colors.SetColor("FilingCabinet", *filingCabinetColor) colors.SetColor("BookShelf", *bookShelfColor) colors.SetColor("WindowColor", *windowColor) # We read a data file that represents a CFD analysis of airflow in an office # (with ventilation and a burning cigarette). We force an update so that we # can query the output for its length, i.e., the length of the diagonal # of the bounding box. This is useful for normalizing the data. reader = vtk.vtkDataSetReader() reader.SetFileName(fileName) reader.Update() # Now we will generate a single streamline in the data. We select the # integration order to use (RungeKutta order 4) and associate it with # the streamer. The start position is the position in world space where # we want to begin streamline integration; and we integrate in both # directions. The step length is the length of the line segments that # make up the streamline (i.e., related to display). The # IntegrationStepLength specifies the integration step length as a # fraction of the cell size that the streamline is in. integ = vtk.vtkRungeKutta4() streamer = vtk.vtkStreamTracer() streamer.SetInputConnection(reader.GetOutputPort()) streamer.SetStartPosition(0.1, 2.1, 0.5) streamer.SetMaximumPropagation(500) streamer.SetInitialIntegrationStep(0.05) streamer.SetIntegrationDirectionToBoth() streamer.SetIntegrator(integ) # The tube is wrapped around the generated streamline. By varying the radius # by the inverse of vector magnitude, we are creating a tube whose radius is # proportional to mass flux (in incompressible flow). streamTube = vtk.vtkTubeFilter() streamTube.SetInputConnection(streamer.GetOutputPort()) streamTube.SetInputArrayToProcess(1, 0, 0, vtkDataObject.FIELD_ASSOCIATION_POINTS, "vectors") streamTube.SetRadius(0.02) streamTube.SetNumberOfSides(12) streamTube.SetVaryRadiusToVaryRadiusByVector() mapStreamTube = vtk.vtkPolyDataMapper() mapStreamTube.SetInputConnection(streamTube.GetOutputPort()) mapStreamTube.SetScalarRange( reader.GetOutput().GetPointData().GetScalars().GetRange()) streamTubeActor = vtk.vtkActor() streamTubeActor.SetMapper(mapStreamTube) streamTubeActor.GetProperty().BackfaceCullingOn() # Create the scene. # We generate a whole bunch of planes which correspond to # the geometry in the analysis; tables, bookshelves and so on. table1 = vtk.vtkStructuredGridGeometryFilter() table1.SetInputData(reader.GetStructuredGridOutput()) table1.SetExtent(11, 15, 7, 9, 8, 8) mapTable1 = vtk.vtkPolyDataMapper() mapTable1.SetInputConnection(table1.GetOutputPort()) mapTable1.ScalarVisibilityOff() table1Actor = vtk.vtkActor() table1Actor.SetMapper(mapTable1) table1Actor.GetProperty().SetColor(colors.GetColor3d("TableTop")) table2 = vtk.vtkStructuredGridGeometryFilter() table2.SetInputData(reader.GetStructuredGridOutput()) table2.SetExtent(11, 15, 10, 12, 8, 8) mapTable2 = vtk.vtkPolyDataMapper() mapTable2.SetInputConnection(table2.GetOutputPort()) mapTable2.ScalarVisibilityOff() table2Actor = vtk.vtkActor() table2Actor.SetMapper(mapTable2) table2Actor.GetProperty().SetColor(colors.GetColor3d("TableTop")) FilingCabinet1 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet1.SetInputData(reader.GetStructuredGridOutput()) FilingCabinet1.SetExtent(15, 15, 7, 9, 0, 8) mapFilingCabinet1 = vtk.vtkPolyDataMapper() mapFilingCabinet1.SetInputConnection(FilingCabinet1.GetOutputPort()) mapFilingCabinet1.ScalarVisibilityOff() FilingCabinet1Actor = vtk.vtkActor() FilingCabinet1Actor.SetMapper(mapFilingCabinet1) FilingCabinet1Actor.GetProperty().SetColor( colors.GetColor3d("FilingCabinet")) FilingCabinet2 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet2.SetInputData(reader.GetStructuredGridOutput()) FilingCabinet2.SetExtent(15, 15, 10, 12, 0, 8) mapFilingCabinet2 = vtk.vtkPolyDataMapper() mapFilingCabinet2.SetInputConnection(FilingCabinet2.GetOutputPort()) mapFilingCabinet2.ScalarVisibilityOff() FilingCabinet2Actor = vtk.vtkActor() FilingCabinet2Actor.SetMapper(mapFilingCabinet2) FilingCabinet2Actor.GetProperty().SetColor( colors.GetColor3d("FilingCabinet")) bookshelf1Top = vtk.vtkStructuredGridGeometryFilter() bookshelf1Top.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Top.SetExtent(13, 13, 0, 4, 0, 11) mapBookshelf1Top = vtk.vtkPolyDataMapper() mapBookshelf1Top.SetInputConnection(bookshelf1Top.GetOutputPort()) mapBookshelf1Top.ScalarVisibilityOff() bookshelf1TopActor = vtk.vtkActor() bookshelf1TopActor.SetMapper(mapBookshelf1Top) bookshelf1TopActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf1Bottom.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Bottom.SetExtent(20, 20, 0, 4, 0, 11) mapBookshelf1Bottom = vtk.vtkPolyDataMapper() mapBookshelf1Bottom.SetInputConnection(bookshelf1Bottom.GetOutputPort()) mapBookshelf1Bottom.ScalarVisibilityOff() bookshelf1BottomActor = vtk.vtkActor() bookshelf1BottomActor.SetMapper(mapBookshelf1Bottom) bookshelf1BottomActor.GetProperty().SetColor( colors.GetColor3d("BookShelf")) bookshelf1Front = vtk.vtkStructuredGridGeometryFilter() bookshelf1Front.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Front.SetExtent(13, 20, 0, 0, 0, 11) mapBookshelf1Front = vtk.vtkPolyDataMapper() mapBookshelf1Front.SetInputConnection(bookshelf1Front.GetOutputPort()) mapBookshelf1Front.ScalarVisibilityOff() bookshelf1FrontActor = vtk.vtkActor() bookshelf1FrontActor.SetMapper(mapBookshelf1Front) bookshelf1FrontActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1Back = vtk.vtkStructuredGridGeometryFilter() bookshelf1Back.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Back.SetExtent(13, 20, 4, 4, 0, 11) mapBookshelf1Back = vtk.vtkPolyDataMapper() mapBookshelf1Back.SetInputConnection(bookshelf1Back.GetOutputPort()) mapBookshelf1Back.ScalarVisibilityOff() bookshelf1BackActor = vtk.vtkActor() bookshelf1BackActor.SetMapper(mapBookshelf1Back) bookshelf1BackActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1LHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf1LHS.SetExtent(13, 20, 0, 4, 0, 0) mapBookshelf1LHS = vtk.vtkPolyDataMapper() mapBookshelf1LHS.SetInputConnection(bookshelf1LHS.GetOutputPort()) mapBookshelf1LHS.ScalarVisibilityOff() bookshelf1LHSActor = vtk.vtkActor() bookshelf1LHSActor.SetMapper(mapBookshelf1LHS) bookshelf1LHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1RHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf1RHS.SetExtent(13, 20, 0, 4, 11, 11) mapBookshelf1RHS = vtk.vtkPolyDataMapper() mapBookshelf1RHS.SetInputConnection(bookshelf1RHS.GetOutputPort()) mapBookshelf1RHS.ScalarVisibilityOff() bookshelf1RHSActor = vtk.vtkActor() bookshelf1RHSActor.SetMapper(mapBookshelf1RHS) bookshelf1RHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Top = vtk.vtkStructuredGridGeometryFilter() bookshelf2Top.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Top.SetExtent(13, 13, 15, 19, 0, 11) mapBookshelf2Top = vtk.vtkPolyDataMapper() mapBookshelf2Top.SetInputConnection(bookshelf2Top.GetOutputPort()) mapBookshelf2Top.ScalarVisibilityOff() bookshelf2TopActor = vtk.vtkActor() bookshelf2TopActor.SetMapper(mapBookshelf2Top) bookshelf2TopActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf2Bottom.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Bottom.SetExtent(20, 20, 15, 19, 0, 11) mapBookshelf2Bottom = vtk.vtkPolyDataMapper() mapBookshelf2Bottom.SetInputConnection(bookshelf2Bottom.GetOutputPort()) mapBookshelf2Bottom.ScalarVisibilityOff() bookshelf2BottomActor = vtk.vtkActor() bookshelf2BottomActor.SetMapper(mapBookshelf2Bottom) bookshelf2BottomActor.GetProperty().SetColor( colors.GetColor3d("BookShelf")) bookshelf2Front = vtk.vtkStructuredGridGeometryFilter() bookshelf2Front.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Front.SetExtent(13, 20, 15, 15, 0, 11) mapBookshelf2Front = vtk.vtkPolyDataMapper() mapBookshelf2Front.SetInputConnection(bookshelf2Front.GetOutputPort()) mapBookshelf2Front.ScalarVisibilityOff() bookshelf2FrontActor = vtk.vtkActor() bookshelf2FrontActor.SetMapper(mapBookshelf2Front) bookshelf2FrontActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Back = vtk.vtkStructuredGridGeometryFilter() bookshelf2Back.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Back.SetExtent(13, 20, 19, 19, 0, 11) mapBookshelf2Back = vtk.vtkPolyDataMapper() mapBookshelf2Back.SetInputConnection(bookshelf2Back.GetOutputPort()) mapBookshelf2Back.ScalarVisibilityOff() bookshelf2BackActor = vtk.vtkActor() bookshelf2BackActor.SetMapper(mapBookshelf2Back) bookshelf2BackActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2LHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf2LHS.SetExtent(13, 20, 15, 19, 0, 0) mapBookshelf2LHS = vtk.vtkPolyDataMapper() mapBookshelf2LHS.SetInputConnection(bookshelf2LHS.GetOutputPort()) mapBookshelf2LHS.ScalarVisibilityOff() bookshelf2LHSActor = vtk.vtkActor() bookshelf2LHSActor.SetMapper(mapBookshelf2LHS) bookshelf2LHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2RHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf2RHS.SetExtent(13, 20, 15, 19, 11, 11) mapBookshelf2RHS = vtk.vtkPolyDataMapper() mapBookshelf2RHS.SetInputConnection(bookshelf2RHS.GetOutputPort()) mapBookshelf2RHS.ScalarVisibilityOff() bookshelf2RHSActor = vtk.vtkActor() bookshelf2RHSActor.SetMapper(mapBookshelf2RHS) bookshelf2RHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) window = vtk.vtkStructuredGridGeometryFilter() window.SetInputData(reader.GetStructuredGridOutput()) window.SetExtent(20, 20, 6, 13, 10, 13) mapWindow = vtk.vtkPolyDataMapper() mapWindow.SetInputConnection(window.GetOutputPort()) mapWindow.ScalarVisibilityOff() windowActor = vtk.vtkActor() windowActor.SetMapper(mapWindow) windowActor.GetProperty().SetColor(colors.GetColor3d("WindowColor")) outlet = vtk.vtkStructuredGridGeometryFilter() outlet.SetInputData(reader.GetStructuredGridOutput()) outlet.SetExtent(0, 0, 9, 10, 14, 16) mapOutlet = vtk.vtkPolyDataMapper() mapOutlet.SetInputConnection(outlet.GetOutputPort()) mapOutlet.ScalarVisibilityOff() outletActor = vtk.vtkActor() outletActor.SetMapper(mapOutlet) outletActor.GetProperty().SetColor(colors.GetColor3d("lamp_black")) inlet = vtk.vtkStructuredGridGeometryFilter() inlet.SetInputData(reader.GetStructuredGridOutput()) inlet.SetExtent(0, 0, 9, 10, 0, 6) mapInlet = vtk.vtkPolyDataMapper() mapInlet.SetInputConnection(inlet.GetOutputPort()) mapInlet.ScalarVisibilityOff() inletActor = vtk.vtkActor() inletActor.SetMapper(mapInlet) inletActor.GetProperty().SetColor(colors.GetColor3d("lamp_black")) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(reader.GetStructuredGridOutput()) mapOutline = vtk.vtkPolyDataMapper() mapOutline.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(mapOutline) outlineActor.GetProperty().SetColor(colors.GetColor3d("Black")) # Create the rendering window, renderer, and interactive renderer. ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the remaining actors to the renderer, set the background and size. ren.AddActor(table1Actor) ren.AddActor(table2Actor) ren.AddActor(FilingCabinet1Actor) ren.AddActor(FilingCabinet2Actor) ren.AddActor(bookshelf1TopActor) ren.AddActor(bookshelf1BottomActor) ren.AddActor(bookshelf1FrontActor) ren.AddActor(bookshelf1BackActor) ren.AddActor(bookshelf1LHSActor) ren.AddActor(bookshelf1RHSActor) ren.AddActor(bookshelf2TopActor) ren.AddActor(bookshelf2BottomActor) ren.AddActor(bookshelf2FrontActor) ren.AddActor(bookshelf2BackActor) ren.AddActor(bookshelf2LHSActor) ren.AddActor(bookshelf2RHSActor) ren.AddActor(windowActor) ren.AddActor(outletActor) ren.AddActor(inletActor) ren.AddActor(outlineActor) ren.AddActor(streamTubeActor) ren.SetBackground(colors.GetColor3d("SlateGray")) aCamera = vtk.vtkCamera() aCamera.SetClippingRange(0.726079, 36.3039) aCamera.SetFocalPoint(2.43584, 2.15046, 1.11104) aCamera.SetPosition(-4.76183, -10.4426, 3.17203) aCamera.ComputeViewPlaneNormal() aCamera.SetViewUp(0.0511273, 0.132773, 0.989827) aCamera.SetViewAngle(18.604) aCamera.Zoom(1.2) ren.SetActiveCamera(aCamera) renWin.SetSize(640, 400) iren.Initialize() iren.Start()
def main(): colors = vtk.vtkNamedColors() xyxFile, qFile = get_program_parameters() # Read the data. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.AutoDetectFormatOn() pl3d.SetXYZFileName(xyxFile) pl3d.SetQFileName(qFile) pl3d.SetScalarFunctionNumber(153) pl3d.SetVectorFunctionNumber(200) pl3d.Update() sg = pl3d.GetOutput().GetBlock(0) # blue to red lut # lut = vtk.vtkLookupTable() lut.SetHueRange(0.667, 0.0) # Computational planes. floorComp = vtk.vtkStructuredGridGeometryFilter() floorComp.SetExtent(0, 37, 0, 75, 0, 0) floorComp.SetInputData(sg) floorComp.Update() floorMapper = vtk.vtkPolyDataMapper() floorMapper.SetInputConnection(floorComp.GetOutputPort()) floorMapper.ScalarVisibilityOff() floorMapper.SetLookupTable(lut) floorActor = vtk.vtkActor() floorActor.SetMapper(floorMapper) floorActor.GetProperty().SetRepresentationToWireframe() floorActor.GetProperty().SetColor(colors.GetColor3d('Beige')) floorActor.GetProperty().SetLineWidth(2) subFloorComp = vtk.vtkStructuredGridGeometryFilter() subFloorComp.SetExtent(0, 37, 0, 15, 22, 22) subFloorComp.SetInputData(sg) subFloorMapper = vtk.vtkPolyDataMapper() subFloorMapper.SetInputConnection(subFloorComp.GetOutputPort()) subFloorMapper.SetLookupTable(lut) subFloorMapper.SetScalarRange(sg.GetScalarRange()) subFloorActor = vtk.vtkActor() subFloorActor.SetMapper(subFloorMapper) subFloor2Comp = vtk.vtkStructuredGridGeometryFilter() subFloor2Comp.SetExtent(0, 37, 60, 75, 22, 22) subFloor2Comp.SetInputData(sg) subFloor2Mapper = vtk.vtkPolyDataMapper() subFloor2Mapper.SetInputConnection(subFloor2Comp.GetOutputPort()) subFloor2Mapper.SetLookupTable(lut) subFloor2Mapper.SetScalarRange(sg.GetScalarRange()) subFloor2Actor = vtk.vtkActor() subFloor2Actor.SetMapper(subFloor2Mapper) postComp = vtk.vtkStructuredGridGeometryFilter() postComp.SetExtent(10, 10, 0, 75, 0, 37) postComp.SetInputData(sg) postMapper = vtk.vtkPolyDataMapper() postMapper.SetInputConnection(postComp.GetOutputPort()) postMapper.SetLookupTable(lut) postMapper.SetScalarRange(sg.GetScalarRange()) postActor = vtk.vtkActor() postActor.SetMapper(postMapper) postActor.GetProperty().SetColor(colors.GetColor3d('Beige')) fanComp = vtk.vtkStructuredGridGeometryFilter() fanComp.SetExtent(0, 37, 38, 38, 0, 37) fanComp.SetInputData(sg) fanMapper = vtk.vtkPolyDataMapper() fanMapper.SetInputConnection(fanComp.GetOutputPort()) fanMapper.SetLookupTable(lut) fanMapper.SetScalarRange(sg.GetScalarRange()) fanActor = vtk.vtkActor() fanActor.SetMapper(fanMapper) fanActor.GetProperty().SetColor(colors.GetColor3d('Beige')) # streamers # # spherical seed points rake = vtk.vtkPointSource() rake.SetCenter(-0.74, 0, 0.3) rake.SetNumberOfPoints(10) # a line of seed points seedsComp = vtk.vtkStructuredGridGeometryFilter() seedsComp.SetExtent(10, 10, 37, 39, 1, 35) seedsComp.SetInputData(sg) streamers = vtk.vtkStreamTracer() streamers.SetInputConnection(pl3d.GetOutputPort()) # streamers SetSource [rake GetOutput] streamers.SetSourceConnection(seedsComp.GetOutputPort()) streamers.SetMaximumPropagation(250) streamers.SetInitialIntegrationStep(.2) streamers.SetMinimumIntegrationStep(.01) streamers.SetIntegratorType(2) streamers.Update() tubes = vtk.vtkTubeFilter() tubes.SetInputConnection(streamers.GetOutputPort()) tubes.SetNumberOfSides(8) tubes.SetRadius(0.08) tubes.SetVaryRadius(0) mapTubes = vtk.vtkPolyDataMapper() mapTubes.SetInputConnection(tubes.GetOutputPort()) mapTubes.SetScalarRange(sg.GetScalarRange()) tubesActor = vtk.vtkActor() tubesActor.SetMapper(mapTubes) # outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(sg) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(colors.GetColor3d('Beige')) # Create graphics stuff. ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) ren1.AddActor(floorActor) ren1.AddActor(subFloorActor) ren1.AddActor(subFloor2Actor) ren1.AddActor(postActor) ren1.AddActor(fanActor) ren1.AddActor(tubesActor) aCam = vtk.vtkCamera() aCam.SetFocalPoint(0.00657892, 0, 2.41026) aCam.SetPosition(-1.94838, -47.1275, 39.4607) aCam.SetViewUp(0.00653193, 0.617865, 0.786257) ren1.ResetCamera() aCam.Dolly(1.) aCam.SetClippingRange(1, 100) ren1.SetBackground(colors.GetColor3d('SlateGray')) ren1.SetActiveCamera(aCam) renWin.SetSize(640, 480) renWin.SetWindowName('LOxGrid') renWin.Render() iren.Start()
def main(): fileName1, fileName2 = get_program_parameters() colors = vtk.vtkNamedColors() # Set the background color. Match those in VTKTextbook.pdf. bkg = map(lambda x: x / 256.0, [65, 99, 149]) colors.SetColor("BkgColor", *bkg) # Read a vtk file # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(fileName1) pl3d.SetQFileName(fileName2) pl3d.SetScalarFunctionNumber(100) # Density pl3d.SetVectorFunctionNumber(202) # Momentum pl3d.Update() pl3dOutput = pl3d.GetOutput().GetBlock(0) # What do we know about the data? # Get the extent of the data: imin,imax, jmin,jmax, kmin,kmax extent = pl3dOutput.GetExtent() scalarRange = pl3dOutput.GetScalarRange() # Planes are specified using a imin,imax, jmin,jmax, kmin,kmax coordinate # specification. Min and max i,j,k values are clamped to 0 and maximum value. # See the variable named extent for the values. # plane = vtk.vtkStructuredGridGeometryFilter() plane.SetInputData(pl3dOutput) plane.SetExtent(10, 10, 1, extent[3], 1, extent[5]) plane2 = vtk.vtkStructuredGridGeometryFilter() plane2.SetInputData(pl3dOutput) plane2.SetExtent(30, 30, 1, extent[3], 1, extent[5]) plane3 = vtk.vtkStructuredGridGeometryFilter() plane3.SetInputData(pl3dOutput) plane3.SetExtent(45, 45, 1, extent[3], 1, extent[5]) # We use an append filter because that way we can do the warping, etc. just # using a single pipeline and actor. # appendF = vtk.vtkAppendPolyData() appendF.AddInputConnection(plane.GetOutputPort()) appendF.AddInputConnection(plane2.GetOutputPort()) appendF.AddInputConnection(plane3.GetOutputPort()) # Warp warp = vtk.vtkWarpVector() warp.SetInputConnection(appendF.GetOutputPort()) warp.SetScaleFactor(0.005) warp.Update() normals = vtk.vtkPolyDataNormals() normals.SetInputData(warp.GetPolyDataOutput()) normals.SetFeatureAngle(45) planeMapper = vtk.vtkPolyDataMapper() planeMapper.SetInputConnection(normals.GetOutputPort()) planeMapper.SetScalarRange(scalarRange) planeActor = vtk.vtkActor() planeActor.SetMapper(planeMapper) # The outline provides context for the data and the planes. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3dOutput) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(colors.GetColor3d("Black")) # Create the RenderWindow, Renderer and both Actors # ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size # ren.AddActor(planeActor) ren.AddActor(outlineActor) ren.SetBackground(colors.GetColor3d("BkgColor")) renWin.SetSize(512, 512) iren.Initialize() renWin.Render() ren.GetActiveCamera().SetPosition(19.8562, -31.8912, 47.0755) ren.GetActiveCamera().SetFocalPoint(8.255, 0.147815, 29.7631) ren.GetActiveCamera().SetViewUp(-0.0333325, 0.465756, 0.884285) ren.GetActiveCamera().SetClippingRange(17.3078, 64.6375) iren.Start()
def main(): fileName = get_program_parameters() colors = vtk.vtkNamedColors() # Set the furniture colors. colors.SetColor("Furniture", [204, 204, 153, 255]) scalarRange = [0.0, 0.0] maxTime = 0 aren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(aren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # # Read the data. # reader = vtk.vtkStructuredGridReader() reader.SetFileName(fileName) reader.Update() # Force a read to occur. reader.GetOutput().GetLength() if reader.GetOutput().GetPointData().GetScalars(): reader.GetOutput().GetPointData().GetScalars().GetRange(scalarRange) if reader.GetOutput().GetPointData().GetVectors(): maxVelocity = reader.GetOutput().GetPointData().GetVectors( ).GetMaxNorm() maxTime = 4.0 * reader.GetOutput().GetLength() / maxVelocity # # Outline around the data. # outlineF = vtk.vtkStructuredGridOutlineFilter() outlineF.SetInputConnection(reader.GetOutputPort()) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outlineF.GetOutputPort()) outline = vtk.vtkActor() outline.SetMapper(outlineMapper) outline.GetProperty().SetColor(colors.GetColor3d("LampBlack")) # # Set up shaded surfaces (i.e., supporting geometry). # doorGeom = vtk.vtkStructuredGridGeometryFilter() doorGeom.SetInputConnection(reader.GetOutputPort()) doorGeom.SetExtent(27, 27, 14, 18, 0, 11) mapDoor = vtk.vtkPolyDataMapper() mapDoor.SetInputConnection(doorGeom.GetOutputPort()) mapDoor.ScalarVisibilityOff() door = vtk.vtkActor() door.SetMapper(mapDoor) door.GetProperty().SetColor(colors.GetColor3d("Burlywood")) window1Geom = vtk.vtkStructuredGridGeometryFilter() window1Geom.SetInputConnection(reader.GetOutputPort()) window1Geom.SetExtent(0, 0, 9, 18, 6, 12) mapWindow1 = vtk.vtkPolyDataMapper() mapWindow1.SetInputConnection(window1Geom.GetOutputPort()) mapWindow1.ScalarVisibilityOff() window1 = vtk.vtkActor() window1.SetMapper(mapWindow1) window1.GetProperty().SetColor(colors.GetColor3d("SkyBlue")) window1.GetProperty().SetOpacity(.6) window2Geom = vtk.vtkStructuredGridGeometryFilter() window2Geom.SetInputConnection(reader.GetOutputPort()) window2Geom.SetExtent(5, 12, 23, 23, 6, 12) mapWindow2 = vtk.vtkPolyDataMapper() mapWindow2.SetInputConnection(window2Geom.GetOutputPort()) mapWindow2.ScalarVisibilityOff() window2 = vtk.vtkActor() window2.SetMapper(mapWindow2) window2.GetProperty().SetColor(colors.GetColor3d("SkyBlue")) window2.GetProperty().SetOpacity(.6) klower1Geom = vtk.vtkStructuredGridGeometryFilter() klower1Geom.SetInputConnection(reader.GetOutputPort()) klower1Geom.SetExtent(17, 17, 0, 11, 0, 6) mapKlower1 = vtk.vtkPolyDataMapper() mapKlower1.SetInputConnection(klower1Geom.GetOutputPort()) mapKlower1.ScalarVisibilityOff() klower1 = vtk.vtkActor() klower1.SetMapper(mapKlower1) klower1.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower2Geom = vtk.vtkStructuredGridGeometryFilter() klower2Geom.SetInputConnection(reader.GetOutputPort()) klower2Geom.SetExtent(19, 19, 0, 11, 0, 6) mapKlower2 = vtk.vtkPolyDataMapper() mapKlower2.SetInputConnection(klower2Geom.GetOutputPort()) mapKlower2.ScalarVisibilityOff() klower2 = vtk.vtkActor() klower2.SetMapper(mapKlower2) klower2.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower3Geom = vtk.vtkStructuredGridGeometryFilter() klower3Geom.SetInputConnection(reader.GetOutputPort()) klower3Geom.SetExtent(17, 19, 0, 0, 0, 6) mapKlower3 = vtk.vtkPolyDataMapper() mapKlower3.SetInputConnection(klower3Geom.GetOutputPort()) mapKlower3.ScalarVisibilityOff() klower3 = vtk.vtkActor() klower3.SetMapper(mapKlower3) klower3.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower4Geom = vtk.vtkStructuredGridGeometryFilter() klower4Geom.SetInputConnection(reader.GetOutputPort()) klower4Geom.SetExtent(17, 19, 11, 11, 0, 6) mapKlower4 = vtk.vtkPolyDataMapper() mapKlower4.SetInputConnection(klower4Geom.GetOutputPort()) mapKlower4.ScalarVisibilityOff() klower4 = vtk.vtkActor() klower4.SetMapper(mapKlower4) klower4.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower5Geom = vtk.vtkStructuredGridGeometryFilter() klower5Geom.SetInputConnection(reader.GetOutputPort()) klower5Geom.SetExtent(17, 19, 0, 11, 0, 0) mapKlower5 = vtk.vtkPolyDataMapper() mapKlower5.SetInputConnection(klower5Geom.GetOutputPort()) mapKlower5.ScalarVisibilityOff() klower5 = vtk.vtkActor() klower5.SetMapper(mapKlower5) klower5.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower6Geom = vtk.vtkStructuredGridGeometryFilter() klower6Geom.SetInputConnection(reader.GetOutputPort()) klower6Geom.SetExtent(17, 19, 0, 7, 6, 6) mapKlower6 = vtk.vtkPolyDataMapper() mapKlower6.SetInputConnection(klower6Geom.GetOutputPort()) mapKlower6.ScalarVisibilityOff() klower6 = vtk.vtkActor() klower6.SetMapper(mapKlower6) klower6.GetProperty().SetColor(colors.GetColor3d("EggShell")) klower7Geom = vtk.vtkStructuredGridGeometryFilter() klower7Geom.SetInputConnection(reader.GetOutputPort()) klower7Geom.SetExtent(17, 19, 9, 11, 6, 6) mapKlower7 = vtk.vtkPolyDataMapper() mapKlower7.SetInputConnection(klower7Geom.GetOutputPort()) mapKlower7.ScalarVisibilityOff() klower7 = vtk.vtkActor() klower7.SetMapper(mapKlower7) klower7.GetProperty().SetColor(colors.GetColor3d("EggShell")) hood1Geom = vtk.vtkStructuredGridGeometryFilter() hood1Geom.SetInputConnection(reader.GetOutputPort()) hood1Geom.SetExtent(17, 17, 0, 11, 11, 16) mapHood1 = vtk.vtkPolyDataMapper() mapHood1.SetInputConnection(hood1Geom.GetOutputPort()) mapHood1.ScalarVisibilityOff() hood1 = vtk.vtkActor() hood1.SetMapper(mapHood1) hood1.GetProperty().SetColor(colors.GetColor3d("Silver")) hood2Geom = vtk.vtkStructuredGridGeometryFilter() hood2Geom.SetInputConnection(reader.GetOutputPort()) hood2Geom.SetExtent(19, 19, 0, 11, 11, 16) mapHood2 = vtk.vtkPolyDataMapper() mapHood2.SetInputConnection(hood2Geom.GetOutputPort()) mapHood2.ScalarVisibilityOff() hood2 = vtk.vtkActor() hood2.SetMapper(mapHood2) hood2.GetProperty().SetColor(colors.GetColor3d("Furniture")) hood3Geom = vtk.vtkStructuredGridGeometryFilter() hood3Geom.SetInputConnection(reader.GetOutputPort()) hood3Geom.SetExtent(17, 19, 0, 0, 11, 16) mapHood3 = vtk.vtkPolyDataMapper() mapHood3.SetInputConnection(hood3Geom.GetOutputPort()) mapHood3.ScalarVisibilityOff() hood3 = vtk.vtkActor() hood3.SetMapper(mapHood3) hood3.GetProperty().SetColor(colors.GetColor3d("Furniture")) hood4Geom = vtk.vtkStructuredGridGeometryFilter() hood4Geom.SetInputConnection(reader.GetOutputPort()) hood4Geom.SetExtent(17, 19, 11, 11, 11, 16) mapHood4 = vtk.vtkPolyDataMapper() mapHood4.SetInputConnection(hood4Geom.GetOutputPort()) mapHood4.ScalarVisibilityOff() hood4 = vtk.vtkActor() hood4.SetMapper(mapHood4) hood4.GetProperty().SetColor(colors.GetColor3d("Furniture")) hood6Geom = vtk.vtkStructuredGridGeometryFilter() hood6Geom.SetInputConnection(reader.GetOutputPort()) hood6Geom.SetExtent(17, 19, 0, 11, 16, 16) mapHood6 = vtk.vtkPolyDataMapper() mapHood6.SetInputConnection(hood6Geom.GetOutputPort()) mapHood6.ScalarVisibilityOff() hood6 = vtk.vtkActor() hood6.SetMapper(mapHood6) hood6.GetProperty().SetColor(colors.GetColor3d("Furniture")) cookingPlateGeom = vtk.vtkStructuredGridGeometryFilter() cookingPlateGeom.SetInputConnection(reader.GetOutputPort()) cookingPlateGeom.SetExtent(17, 19, 7, 9, 6, 6) mapCookingPlate = vtk.vtkPolyDataMapper() mapCookingPlate.SetInputConnection(cookingPlateGeom.GetOutputPort()) mapCookingPlate.ScalarVisibilityOff() cookingPlate = vtk.vtkActor() cookingPlate.SetMapper(mapCookingPlate) cookingPlate.GetProperty().SetColor(colors.GetColor3d("Tomato")) filterGeom = vtk.vtkStructuredGridGeometryFilter() filterGeom.SetInputConnection(reader.GetOutputPort()) filterGeom.SetExtent(17, 19, 7, 9, 11, 11) mapFilter = vtk.vtkPolyDataMapper() mapFilter.SetInputConnection(filterGeom.GetOutputPort()) mapFilter.ScalarVisibilityOff() sgfilter = vtk.vtkActor() sgfilter.SetMapper(mapFilter) sgfilter.GetProperty().SetColor(colors.GetColor3d("Furniture")) # # regular streamlines # line = vtk.vtkLineSource() line.SetResolution(39) line.SetPoint1(0.08, 2.50, 0.71) line.SetPoint2(0.08, 4.50, 0.71) rakeMapper = vtk.vtkPolyDataMapper() rakeMapper.SetInputConnection(line.GetOutputPort()) rake = vtk.vtkActor() rake.SetMapper(rakeMapper) streamers = vtk.vtkStreamTracer() # streamers.DebugOn() streamers.SetInputConnection(reader.GetOutputPort()) streamers.SetSourceConnection(line.GetOutputPort()) streamers.SetMaximumPropagation(maxTime) streamers.SetInitialIntegrationStep(.5) streamers.SetMinimumIntegrationStep(.1) streamers.SetIntegratorType(2) streamers.Update() streamersMapper = vtk.vtkPolyDataMapper() streamersMapper.SetInputConnection(streamers.GetOutputPort()) streamersMapper.SetScalarRange(scalarRange) lines = vtk.vtkActor() lines.SetMapper(streamersMapper) lines.GetProperty().SetColor(colors.GetColor3d("Black")) aren.TwoSidedLightingOn() aren.AddActor(outline) aren.AddActor(door) aren.AddActor(window1) aren.AddActor(window2) aren.AddActor(klower1) aren.AddActor(klower2) aren.AddActor(klower3) aren.AddActor(klower4) aren.AddActor(klower5) aren.AddActor(klower6) aren.AddActor(klower7) aren.AddActor(hood1) aren.AddActor(hood2) aren.AddActor(hood3) aren.AddActor(hood4) aren.AddActor(hood6) aren.AddActor(cookingPlate) aren.AddActor(sgfilter) aren.AddActor(lines) aren.AddActor(rake) aren.SetBackground(colors.GetColor3d("SlateGray")) aCamera = vtk.vtkCamera() aren.SetActiveCamera(aCamera) aren.ResetCamera() aCamera.SetFocalPoint(3.505, 2.505, 1.255) aCamera.SetPosition(3.505, 24.6196, 1.255) aCamera.SetViewUp(0, 0, 1) aCamera.Azimuth(60) aCamera.Elevation(30) aCamera.Dolly(1.5) aren.ResetCameraClippingRange() renWin.SetSize(640, 512) renWin.Render() # interact with data iren.Start()
xyplot3.SetYTitle("M") xyplot3.PlotPointsOn() xyplot3.GetProperty().SetColor(0, 0, 1) xyplot3.GetProperty().SetPointSize(3) xyplot3.LegendOn() xyplot3.SetLegendPosition(0.8, 0.28) xyplot3.SetLegendPosition2(0.20, 0.20) # Set text prop color (same color for backward compat with test) # Assign same object to all text props tprop = xyplot3.GetTitleTextProperty() tprop.SetColor(xyplot3.GetProperty().GetColor()) xyplot3.SetAxisTitleTextProperty(tprop) xyplot3.SetAxisLabelTextProperty(tprop) xyplot3.SetLabelFormat("%4.f") # draw an outline outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(0, 0, 0) # Create graphics stuff # ren1 = vtk.vtkRenderer() ren2 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.SetMultiSamples(0) renWin.AddRenderer(ren1) renWin.AddRenderer(ren2) iren = vtk.vtkRenderWindowInteractor()
def office(fileName, center): # These are the centers for the streamline seed. seedCenters = [[0.0, 2.1, 0.5], [0.1, 2.1, 0.5], [0.1, 2.7, 0.5], [0.08, 2.7, 0.5]] center = abs(center) if center >= len(seedCenters): center = len(seedCenters) - 1 colors = vtk.vtkNamedColors() # Set the furniture colors, matching those in the VTKTextBook. tableTopColor = [0.59, 0.427, 0.392] filingCabinetColor = [0.8, 0.8, 0.6] bookShelfColor = [0.8, 0.8, 0.6] windowColor = [0.3, 0.3, 0.5] colors.SetColor("TableTop", *tableTopColor) colors.SetColor("FilingCabinet", *filingCabinetColor) colors.SetColor("BookShelf", *bookShelfColor) colors.SetColor("WindowColor", *windowColor) # We read a data file that represents a CFD analysis of airflow in an office # (with ventilation and a burning cigarette). reader = vtk.vtkDataSetReader() reader.SetFileName(fileName) # Create the scene. # We generate a whole bunch of planes which correspond to # the geometry in the analysis; tables, bookshelves and so on. table1 = vtk.vtkStructuredGridGeometryFilter() table1.SetInputData(reader.GetStructuredGridOutput()) table1.SetExtent(11, 15, 7, 9, 8, 8) mapTable1 = vtk.vtkPolyDataMapper() mapTable1.SetInputConnection(table1.GetOutputPort()) mapTable1.ScalarVisibilityOff() table1Actor = vtk.vtkActor() table1Actor.SetMapper(mapTable1) table1Actor.GetProperty().SetColor(colors.GetColor3d("TableTop")) table2 = vtk.vtkStructuredGridGeometryFilter() table2.SetInputData(reader.GetStructuredGridOutput()) table2.SetExtent(11, 15, 10, 12, 8, 8) mapTable2 = vtk.vtkPolyDataMapper() mapTable2.SetInputConnection(table2.GetOutputPort()) mapTable2.ScalarVisibilityOff() table2Actor = vtk.vtkActor() table2Actor.SetMapper(mapTable2) table2Actor.GetProperty().SetColor(colors.GetColor3d("TableTop")) FilingCabinet1 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet1.SetInputData(reader.GetStructuredGridOutput()) FilingCabinet1.SetExtent(15, 15, 7, 9, 0, 8) mapFilingCabinet1 = vtk.vtkPolyDataMapper() mapFilingCabinet1.SetInputConnection(FilingCabinet1.GetOutputPort()) mapFilingCabinet1.ScalarVisibilityOff() FilingCabinet1Actor = vtk.vtkActor() FilingCabinet1Actor.SetMapper(mapFilingCabinet1) FilingCabinet1Actor.GetProperty().SetColor( colors.GetColor3d("FilingCabinet")) FilingCabinet2 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet2.SetInputData(reader.GetStructuredGridOutput()) FilingCabinet2.SetExtent(15, 15, 10, 12, 0, 8) mapFilingCabinet2 = vtk.vtkPolyDataMapper() mapFilingCabinet2.SetInputConnection(FilingCabinet2.GetOutputPort()) mapFilingCabinet2.ScalarVisibilityOff() FilingCabinet2Actor = vtk.vtkActor() FilingCabinet2Actor.SetMapper(mapFilingCabinet2) FilingCabinet2Actor.GetProperty().SetColor( colors.GetColor3d("FilingCabinet")) bookshelf1Top = vtk.vtkStructuredGridGeometryFilter() bookshelf1Top.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Top.SetExtent(13, 13, 0, 4, 0, 11) mapBookshelf1Top = vtk.vtkPolyDataMapper() mapBookshelf1Top.SetInputConnection(bookshelf1Top.GetOutputPort()) mapBookshelf1Top.ScalarVisibilityOff() bookshelf1TopActor = vtk.vtkActor() bookshelf1TopActor.SetMapper(mapBookshelf1Top) bookshelf1TopActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf1Bottom.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Bottom.SetExtent(20, 20, 0, 4, 0, 11) mapBookshelf1Bottom = vtk.vtkPolyDataMapper() mapBookshelf1Bottom.SetInputConnection(bookshelf1Bottom.GetOutputPort()) mapBookshelf1Bottom.ScalarVisibilityOff() bookshelf1BottomActor = vtk.vtkActor() bookshelf1BottomActor.SetMapper(mapBookshelf1Bottom) bookshelf1BottomActor.GetProperty().SetColor( colors.GetColor3d("BookShelf")) bookshelf1Front = vtk.vtkStructuredGridGeometryFilter() bookshelf1Front.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Front.SetExtent(13, 20, 0, 0, 0, 11) mapBookshelf1Front = vtk.vtkPolyDataMapper() mapBookshelf1Front.SetInputConnection(bookshelf1Front.GetOutputPort()) mapBookshelf1Front.ScalarVisibilityOff() bookshelf1FrontActor = vtk.vtkActor() bookshelf1FrontActor.SetMapper(mapBookshelf1Front) bookshelf1FrontActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1Back = vtk.vtkStructuredGridGeometryFilter() bookshelf1Back.SetInputData(reader.GetStructuredGridOutput()) bookshelf1Back.SetExtent(13, 20, 4, 4, 0, 11) mapBookshelf1Back = vtk.vtkPolyDataMapper() mapBookshelf1Back.SetInputConnection(bookshelf1Back.GetOutputPort()) mapBookshelf1Back.ScalarVisibilityOff() bookshelf1BackActor = vtk.vtkActor() bookshelf1BackActor.SetMapper(mapBookshelf1Back) bookshelf1BackActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1LHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf1LHS.SetExtent(13, 20, 0, 4, 0, 0) mapBookshelf1LHS = vtk.vtkPolyDataMapper() mapBookshelf1LHS.SetInputConnection(bookshelf1LHS.GetOutputPort()) mapBookshelf1LHS.ScalarVisibilityOff() bookshelf1LHSActor = vtk.vtkActor() bookshelf1LHSActor.SetMapper(mapBookshelf1LHS) bookshelf1LHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf1RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1RHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf1RHS.SetExtent(13, 20, 0, 4, 11, 11) mapBookshelf1RHS = vtk.vtkPolyDataMapper() mapBookshelf1RHS.SetInputConnection(bookshelf1RHS.GetOutputPort()) mapBookshelf1RHS.ScalarVisibilityOff() bookshelf1RHSActor = vtk.vtkActor() bookshelf1RHSActor.SetMapper(mapBookshelf1RHS) bookshelf1RHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Top = vtk.vtkStructuredGridGeometryFilter() bookshelf2Top.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Top.SetExtent(13, 13, 15, 19, 0, 11) mapBookshelf2Top = vtk.vtkPolyDataMapper() mapBookshelf2Top.SetInputConnection(bookshelf2Top.GetOutputPort()) mapBookshelf2Top.ScalarVisibilityOff() bookshelf2TopActor = vtk.vtkActor() bookshelf2TopActor.SetMapper(mapBookshelf2Top) bookshelf2TopActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf2Bottom.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Bottom.SetExtent(20, 20, 15, 19, 0, 11) mapBookshelf2Bottom = vtk.vtkPolyDataMapper() mapBookshelf2Bottom.SetInputConnection(bookshelf2Bottom.GetOutputPort()) mapBookshelf2Bottom.ScalarVisibilityOff() bookshelf2BottomActor = vtk.vtkActor() bookshelf2BottomActor.SetMapper(mapBookshelf2Bottom) bookshelf2BottomActor.GetProperty().SetColor( colors.GetColor3d("BookShelf")) bookshelf2Front = vtk.vtkStructuredGridGeometryFilter() bookshelf2Front.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Front.SetExtent(13, 20, 15, 15, 0, 11) mapBookshelf2Front = vtk.vtkPolyDataMapper() mapBookshelf2Front.SetInputConnection(bookshelf2Front.GetOutputPort()) mapBookshelf2Front.ScalarVisibilityOff() bookshelf2FrontActor = vtk.vtkActor() bookshelf2FrontActor.SetMapper(mapBookshelf2Front) bookshelf2FrontActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2Back = vtk.vtkStructuredGridGeometryFilter() bookshelf2Back.SetInputData(reader.GetStructuredGridOutput()) bookshelf2Back.SetExtent(13, 20, 19, 19, 0, 11) mapBookshelf2Back = vtk.vtkPolyDataMapper() mapBookshelf2Back.SetInputConnection(bookshelf2Back.GetOutputPort()) mapBookshelf2Back.ScalarVisibilityOff() bookshelf2BackActor = vtk.vtkActor() bookshelf2BackActor.SetMapper(mapBookshelf2Back) bookshelf2BackActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2LHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf2LHS.SetExtent(13, 20, 15, 19, 0, 0) mapBookshelf2LHS = vtk.vtkPolyDataMapper() mapBookshelf2LHS.SetInputConnection(bookshelf2LHS.GetOutputPort()) mapBookshelf2LHS.ScalarVisibilityOff() bookshelf2LHSActor = vtk.vtkActor() bookshelf2LHSActor.SetMapper(mapBookshelf2LHS) bookshelf2LHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) bookshelf2RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2RHS.SetInputData(reader.GetStructuredGridOutput()) bookshelf2RHS.SetExtent(13, 20, 15, 19, 11, 11) mapBookshelf2RHS = vtk.vtkPolyDataMapper() mapBookshelf2RHS.SetInputConnection(bookshelf2RHS.GetOutputPort()) mapBookshelf2RHS.ScalarVisibilityOff() bookshelf2RHSActor = vtk.vtkActor() bookshelf2RHSActor.SetMapper(mapBookshelf2RHS) bookshelf2RHSActor.GetProperty().SetColor(colors.GetColor3d("BookShelf")) window = vtk.vtkStructuredGridGeometryFilter() window.SetInputData(reader.GetStructuredGridOutput()) window.SetExtent(20, 20, 6, 13, 10, 13) mapWindow = vtk.vtkPolyDataMapper() mapWindow.SetInputConnection(window.GetOutputPort()) mapWindow.ScalarVisibilityOff() windowActor = vtk.vtkActor() windowActor.SetMapper(mapWindow) windowActor.GetProperty().SetColor(colors.GetColor3d("WindowColor")) outlet = vtk.vtkStructuredGridGeometryFilter() outlet.SetInputData(reader.GetStructuredGridOutput()) outlet.SetExtent(0, 0, 9, 10, 14, 16) mapOutlet = vtk.vtkPolyDataMapper() mapOutlet.SetInputConnection(outlet.GetOutputPort()) mapOutlet.ScalarVisibilityOff() outletActor = vtk.vtkActor() outletActor.SetMapper(mapOutlet) outletActor.GetProperty().SetColor(colors.GetColor3d("lamp_black")) inlet = vtk.vtkStructuredGridGeometryFilter() inlet.SetInputData(reader.GetStructuredGridOutput()) inlet.SetExtent(0, 0, 9, 10, 0, 6) mapInlet = vtk.vtkPolyDataMapper() mapInlet.SetInputConnection(inlet.GetOutputPort()) mapInlet.ScalarVisibilityOff() inletActor = vtk.vtkActor() inletActor.SetMapper(mapInlet) inletActor.GetProperty().SetColor(colors.GetColor3d("lamp_black")) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(reader.GetStructuredGridOutput()) mapOutline = vtk.vtkPolyDataMapper() mapOutline.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(mapOutline) outlineActor.GetProperty().SetColor(colors.GetColor3d("Black")) # Create the source for the streamtubes. seeds = vtk.vtkPointSource() seeds.SetRadius(0.075) seeds.SetCenter(seedCenters[center]) seeds.SetNumberOfPoints(25) streamers = vtk.vtkStreamTracer() streamers.SetInputConnection(reader.GetOutputPort()) streamers.SetSourceConnection(seeds.GetOutputPort()) streamers.SetMaximumPropagation(500) streamers.SetMinimumIntegrationStep(0.1) streamers.SetMaximumIntegrationStep(1.0) streamers.SetInitialIntegrationStep(0.2) streamers.Update() mapStreamers = vtk.vtkPolyDataMapper() mapStreamers.SetInputConnection(streamers.GetOutputPort()) mapStreamers.SetScalarRange( reader.GetOutput().GetPointData().GetScalars().GetRange()) streamersActor = vtk.vtkActor() streamersActor.SetMapper(mapStreamers) # Create the rendering window, renderer, and interactive renderer. ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the remaining actors to the renderer, set the background and size. ren.AddActor(table1Actor) ren.AddActor(table2Actor) ren.AddActor(FilingCabinet1Actor) ren.AddActor(FilingCabinet2Actor) ren.AddActor(bookshelf1TopActor) ren.AddActor(bookshelf1BottomActor) ren.AddActor(bookshelf1FrontActor) ren.AddActor(bookshelf1BackActor) ren.AddActor(bookshelf1LHSActor) ren.AddActor(bookshelf1RHSActor) ren.AddActor(bookshelf2TopActor) ren.AddActor(bookshelf2BottomActor) ren.AddActor(bookshelf2FrontActor) ren.AddActor(bookshelf2BackActor) ren.AddActor(bookshelf2LHSActor) ren.AddActor(bookshelf2RHSActor) ren.AddActor(windowActor) ren.AddActor(outletActor) ren.AddActor(inletActor) ren.AddActor(outlineActor) ren.AddActor(streamersActor) ren.SetBackground(colors.GetColor3d("SlateGray")) aCamera = vtk.vtkCamera() aCamera.SetClippingRange(0.726079, 36.3039) aCamera.SetFocalPoint(2.43584, 2.15046, 1.11104) aCamera.SetPosition(-4.76183, -10.4426, 3.17203) aCamera.ComputeViewPlaneNormal() aCamera.SetViewUp(0.0511273, 0.132773, 0.989827) aCamera.SetViewAngle(18.604) aCamera.Zoom(1.2) ren.SetActiveCamera(aCamera) renWin.SetSize(640, 400) iren.Initialize() iren.Start()
def InitVTKMethods(self): """Initializes the VTK methods to be used""" self._outline=vtkStructuredGridOutlineFilter() self._tube=vtkTubeFilter() self._mapper_=vtkPolyDataMapper() self.actor=vtkLODActor()
def furniture(): # generate a whole bunch of planes which correspond to # the geometry in the analysis; tables, bookshelves and so on. from vedo import download reader = vtk.vtkStructuredGridReader() fpath = download('https://vedo.embl.es/examples/data/office.binary.vtk', verbose=0) reader.SetFileName(fpath) reader.Update() sgrid = reader.GetOutput() table1 = vtk.vtkStructuredGridGeometryFilter() table1.SetInputData(sgrid) table1.SetExtent(11, 15, 7, 9, 8, 8) mapTable1 = vtk.vtkPolyDataMapper() mapTable1.SetInputConnection(table1.GetOutputPort()) mapTable1.ScalarVisibilityOff() table1Actor = vtk.vtkActor() table1Actor.SetMapper(mapTable1) table1Actor.GetProperty().SetColor(.59, .427, .392) table2 = vtk.vtkStructuredGridGeometryFilter() table2.SetInputData(sgrid) table2.SetExtent(11, 15, 10, 12, 8, 8) mapTable2 = vtk.vtkPolyDataMapper() mapTable2.SetInputConnection(table2.GetOutputPort()) mapTable2.ScalarVisibilityOff() table2Actor = vtk.vtkActor() table2Actor.SetMapper(mapTable2) table2Actor.GetProperty().SetColor(.59, .427, .392) FilingCabinet1 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet1.SetInputData(sgrid) FilingCabinet1.SetExtent(15, 15, 7, 9, 0, 8) mapFilingCabinet1 = vtk.vtkPolyDataMapper() mapFilingCabinet1.SetInputConnection(FilingCabinet1.GetOutputPort()) mapFilingCabinet1.ScalarVisibilityOff() FilingCabinet1Actor = vtk.vtkActor() FilingCabinet1Actor.SetMapper(mapFilingCabinet1) FilingCabinet1Actor.GetProperty().SetColor(.8, .8, .6) FilingCabinet2 = vtk.vtkStructuredGridGeometryFilter() FilingCabinet2.SetInputData(sgrid) FilingCabinet2.SetExtent(15, 15, 10, 12, 0, 8) mapFilingCabinet2 = vtk.vtkPolyDataMapper() mapFilingCabinet2.SetInputConnection(FilingCabinet2.GetOutputPort()) mapFilingCabinet2.ScalarVisibilityOff() FilingCabinet2Actor = vtk.vtkActor() FilingCabinet2Actor.SetMapper(mapFilingCabinet2) FilingCabinet2Actor.GetProperty().SetColor(.8, .8, .6) bookshelf1Top = vtk.vtkStructuredGridGeometryFilter() bookshelf1Top.SetInputData(sgrid) bookshelf1Top.SetExtent(13, 13, 0, 4, 0, 11) mapBookshelf1Top = vtk.vtkPolyDataMapper() mapBookshelf1Top.SetInputConnection(bookshelf1Top.GetOutputPort()) mapBookshelf1Top.ScalarVisibilityOff() bookshelf1TopActor = vtk.vtkActor() bookshelf1TopActor.SetMapper(mapBookshelf1Top) bookshelf1TopActor.GetProperty().SetColor(.8, .8, .6) bookshelf1Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf1Bottom.SetInputData(sgrid) bookshelf1Bottom.SetExtent(20, 20, 0, 4, 0, 11) mapBookshelf1Bottom = vtk.vtkPolyDataMapper() mapBookshelf1Bottom.SetInputConnection(bookshelf1Bottom.GetOutputPort()) mapBookshelf1Bottom.ScalarVisibilityOff() bookshelf1BottomActor = vtk.vtkActor() bookshelf1BottomActor.SetMapper(mapBookshelf1Bottom) bookshelf1BottomActor.GetProperty().SetColor(.8, .8, .6) bookshelf1Front = vtk.vtkStructuredGridGeometryFilter() bookshelf1Front.SetInputData(sgrid) bookshelf1Front.SetExtent(13, 20, 0, 0, 0, 11) mapBookshelf1Front = vtk.vtkPolyDataMapper() mapBookshelf1Front.SetInputConnection(bookshelf1Front.GetOutputPort()) mapBookshelf1Front.ScalarVisibilityOff() bookshelf1FrontActor = vtk.vtkActor() bookshelf1FrontActor.SetMapper(mapBookshelf1Front) bookshelf1FrontActor.GetProperty().SetColor(.8, .8, .6) bookshelf1Back = vtk.vtkStructuredGridGeometryFilter() bookshelf1Back.SetInputData(sgrid) bookshelf1Back.SetExtent(13, 20, 4, 4, 0, 11) mapBookshelf1Back = vtk.vtkPolyDataMapper() mapBookshelf1Back.SetInputConnection(bookshelf1Back.GetOutputPort()) mapBookshelf1Back.ScalarVisibilityOff() bookshelf1BackActor = vtk.vtkActor() bookshelf1BackActor.SetMapper(mapBookshelf1Back) bookshelf1BackActor.GetProperty().SetColor(.8, .8, .6) bookshelf1LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1LHS.SetInputData(sgrid) bookshelf1LHS.SetExtent(13, 20, 0, 4, 0, 0) mapBookshelf1LHS = vtk.vtkPolyDataMapper() mapBookshelf1LHS.SetInputConnection(bookshelf1LHS.GetOutputPort()) mapBookshelf1LHS.ScalarVisibilityOff() bookshelf1LHSActor = vtk.vtkActor() bookshelf1LHSActor.SetMapper(mapBookshelf1LHS) bookshelf1LHSActor.GetProperty().SetColor(.8, .8, .6) bookshelf1RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf1RHS.SetInputData(sgrid) bookshelf1RHS.SetExtent(13, 20, 0, 4, 11, 11) mapBookshelf1RHS = vtk.vtkPolyDataMapper() mapBookshelf1RHS.SetInputConnection(bookshelf1RHS.GetOutputPort()) mapBookshelf1RHS.ScalarVisibilityOff() bookshelf1RHSActor = vtk.vtkActor() bookshelf1RHSActor.SetMapper(mapBookshelf1RHS) bookshelf1RHSActor.GetProperty().SetColor(.8, .8, .6) bookshelf2Top = vtk.vtkStructuredGridGeometryFilter() bookshelf2Top.SetInputData(sgrid) bookshelf2Top.SetExtent(13, 13, 15, 19, 0, 11) mapBookshelf2Top = vtk.vtkPolyDataMapper() mapBookshelf2Top.SetInputConnection(bookshelf2Top.GetOutputPort()) mapBookshelf2Top.ScalarVisibilityOff() bookshelf2TopActor = vtk.vtkActor() bookshelf2TopActor.SetMapper(mapBookshelf2Top) bookshelf2TopActor.GetProperty().SetColor(.8, .8, .6) bookshelf2Bottom = vtk.vtkStructuredGridGeometryFilter() bookshelf2Bottom.SetInputData(sgrid) bookshelf2Bottom.SetExtent(20, 20, 15, 19, 0, 11) mapBookshelf2Bottom = vtk.vtkPolyDataMapper() mapBookshelf2Bottom.SetInputConnection(bookshelf2Bottom.GetOutputPort()) mapBookshelf2Bottom.ScalarVisibilityOff() bookshelf2BottomActor = vtk.vtkActor() bookshelf2BottomActor.SetMapper(mapBookshelf2Bottom) bookshelf2BottomActor.GetProperty().SetColor(.8, .8, .6) bookshelf2Front = vtk.vtkStructuredGridGeometryFilter() bookshelf2Front.SetInputData(sgrid) bookshelf2Front.SetExtent(13, 20, 15, 15, 0, 11) mapBookshelf2Front = vtk.vtkPolyDataMapper() mapBookshelf2Front.SetInputConnection(bookshelf2Front.GetOutputPort()) mapBookshelf2Front.ScalarVisibilityOff() bookshelf2FrontActor = vtk.vtkActor() bookshelf2FrontActor.SetMapper(mapBookshelf2Front) bookshelf2FrontActor.GetProperty().SetColor(.8, .8, .6) bookshelf2Back = vtk.vtkStructuredGridGeometryFilter() bookshelf2Back.SetInputData(sgrid) bookshelf2Back.SetExtent(13, 20, 19, 19, 0, 11) mapBookshelf2Back = vtk.vtkPolyDataMapper() mapBookshelf2Back.SetInputConnection(bookshelf2Back.GetOutputPort()) mapBookshelf2Back.ScalarVisibilityOff() bookshelf2BackActor = vtk.vtkActor() bookshelf2BackActor.SetMapper(mapBookshelf2Back) bookshelf2BackActor.GetProperty().SetColor(.8, .8, .6) bookshelf2LHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2LHS.SetInputData(sgrid) bookshelf2LHS.SetExtent(13, 20, 15, 19, 0, 0) mapBookshelf2LHS = vtk.vtkPolyDataMapper() mapBookshelf2LHS.SetInputConnection(bookshelf2LHS.GetOutputPort()) mapBookshelf2LHS.ScalarVisibilityOff() bookshelf2LHSActor = vtk.vtkActor() bookshelf2LHSActor.SetMapper(mapBookshelf2LHS) bookshelf2LHSActor.GetProperty().SetColor(.8, .8, .6) bookshelf2RHS = vtk.vtkStructuredGridGeometryFilter() bookshelf2RHS.SetInputData(sgrid) bookshelf2RHS.SetExtent(13, 20, 15, 19, 11, 11) mapBookshelf2RHS = vtk.vtkPolyDataMapper() mapBookshelf2RHS.SetInputConnection(bookshelf2RHS.GetOutputPort()) mapBookshelf2RHS.ScalarVisibilityOff() bookshelf2RHSActor = vtk.vtkActor() bookshelf2RHSActor.SetMapper(mapBookshelf2RHS) bookshelf2RHSActor.GetProperty().SetColor(.8, .8, .6) window = vtk.vtkStructuredGridGeometryFilter() window.SetInputData(sgrid) window.SetExtent(20, 20, 6, 13, 10, 13) mapWindow = vtk.vtkPolyDataMapper() mapWindow.SetInputConnection(window.GetOutputPort()) mapWindow.ScalarVisibilityOff() windowActor = vtk.vtkActor() windowActor.SetMapper(mapWindow) windowActor.GetProperty().SetColor(.3, .3, .5) outlet = vtk.vtkStructuredGridGeometryFilter() outlet.SetInputData(sgrid) outlet.SetExtent(0, 0, 9, 10, 14, 16) mapOutlet = vtk.vtkPolyDataMapper() mapOutlet.SetInputConnection(outlet.GetOutputPort()) mapOutlet.ScalarVisibilityOff() outletActor = vtk.vtkActor() outletActor.SetMapper(mapOutlet) outletActor.GetProperty().SetColor(1, 1, 1) inlet = vtk.vtkStructuredGridGeometryFilter() inlet.SetInputData(sgrid) inlet.SetExtent(0, 0, 9, 10, 0, 6) mapInlet = vtk.vtkPolyDataMapper() mapInlet.SetInputConnection(inlet.GetOutputPort()) mapInlet.ScalarVisibilityOff() inletActor = vtk.vtkActor() inletActor.SetMapper(mapInlet) inletActor.GetProperty().SetColor(1, 1, 1) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(sgrid) mapOutline = vtk.vtkPolyDataMapper() mapOutline.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(mapOutline) outlineActor.GetProperty().SetColor(1, 1, 1) acts = [] acts.append(table1Actor) acts.append(table2Actor) acts.append(FilingCabinet1Actor) acts.append(FilingCabinet2Actor) acts.append(bookshelf1TopActor) acts.append(bookshelf1BottomActor) acts.append(bookshelf1FrontActor) acts.append(bookshelf1BackActor) acts.append(bookshelf1LHSActor) acts.append(bookshelf1RHSActor) acts.append(bookshelf2TopActor) acts.append(bookshelf2BottomActor) acts.append(bookshelf2FrontActor) acts.append(bookshelf2BackActor) acts.append(bookshelf2LHSActor) acts.append(bookshelf2RHSActor) acts.append(windowActor) acts.append(outletActor) acts.append(inletActor) acts.append(outlineActor) return acts
Plot3D0 = vtk.vtkMultiBlockPLOT3DReader() Plot3D0.SetFileName(VTK_DATA_ROOT + "/Data/combxyz.bin") Plot3D0.SetQFileName(VTK_DATA_ROOT + "/Data/combq.bin") Plot3D0.SetBinaryFile(1) Plot3D0.SetMultiGrid(0) Plot3D0.SetHasByteCount(0) Plot3D0.SetIBlanking(0) Plot3D0.SetTwoDimensionalGeometry(0) Plot3D0.SetForceRead(0) Plot3D0.SetByteOrder(0) Plot3D0.Update() output = Plot3D0.GetOutput().GetBlock(0) Geometry5 = vtk.vtkStructuredGridOutlineFilter() Geometry5.SetInputData(output) Mapper5 = vtk.vtkPolyDataMapper() Mapper5.SetInputConnection(Geometry5.GetOutputPort()) Mapper5.SetImmediateModeRendering(1) Mapper5.UseLookupTableScalarRangeOn() Mapper5.SetScalarVisibility(0) Mapper5.SetScalarModeToDefault() Actor5 = vtk.vtkActor() Actor5.SetMapper(Mapper5) Actor5.GetProperty().SetRepresentationToSurface() Actor5.GetProperty().SetInterpolationToGouraud() Actor5.GetProperty().SetAmbient(0.15) Actor5.GetProperty().SetDiffuse(0.85)
def main(): xyzFile, qFile = get_program_parameters() colors = vtk.vtkNamedColors() # Create the RenderWindow, Renderer and Interactor. # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Create the pipeline. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(xyzFile) pl3d.SetQFileName(qFile) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() iso = vtk.vtkContourFilter() iso.SetInputData(pl3d.GetOutput().GetBlock(0)) iso.SetValue(0, 0.38) normals = vtk.vtkPolyDataNormals() normals.SetInputConnection(iso.GetOutputPort()) normals.SetFeatureAngle(45) isoMapper = vtk.vtkPolyDataMapper() isoMapper.SetInputConnection(normals.GetOutputPort()) isoMapper.ScalarVisibilityOff() isoActor = vtk.vtkActor() isoActor.SetMapper(isoMapper) isoActor.GetProperty().SetColor(colors.GetColor3d('WhiteSmoke')) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputConnection(pl3d.GetOutputPort()) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) # Add the actors to the renderer, set the background and size. # ren1.AddActor(outlineActor) ren1.AddActor(isoActor) ren1.SetBackground(colors.GetColor3d('DarkSlateGray')) renWin.SetSize(640, 480) renWin.SetWindowName('CombustorIsosurface') ren1.GetActiveCamera().SetFocalPoint(9.71821, 0.458166, 29.3999) ren1.GetActiveCamera().SetPosition(2.7439, -37.3196, 38.7167) ren1.GetActiveCamera().SetViewUp(-0.16123, 0.264271, 0.950876) ren1.GetActiveCamera().Zoom(1.3) ren1.ResetCameraClippingRange() # Render the image. # renWin.Render() iren.Start()
# SampleRate specifies that we take every point in the i-direction; # every other point in the j-direction; and every third point in the # k-direction. IncludeBoundaryOn makes sure that we get the boundary # points even if the SampleRate does not coincident with the boundary. extract = vtk.vtkExtractGrid() extract.SetInputData(pl3d_output) extract.SetVOI(30, 30, -1000, 1000, -1000, 1000) extract.SetSampleRate(1, 2, 3) extract.IncludeBoundaryOn() mapper = vtk.vtkDataSetMapper() mapper.SetInputConnection(extract.GetOutputPort()) mapper.SetScalarRange(.18, .7) actor = vtk.vtkActor() actor.SetMapper(mapper) outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3d_output) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(0, 0, 0) # Add the usual rendering stuff. ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) # Add the actors to the renderer, set the background and size
def main(): colors = vtk.vtkNamedColors() fileName1, fileName2 = get_program_parameters() # Here we read data from a annular combustor. A combustor burns fuel and air # in a gas turbine (e.g., a jet engine) and the hot gas eventually makes its # way to the turbine section. # pl3d = vtk.vtkMultiBlockPLOT3DReader() pl3d.SetXYZFileName(fileName1) pl3d.SetQFileName(fileName2) pl3d.SetScalarFunctionNumber(100) pl3d.SetVectorFunctionNumber(202) pl3d.Update() pl3dOutput = pl3d.GetOutput().GetBlock(0) # Planes are specified using a imin,imax, jmin,jmax, kmin,kmax coordinate # specification. Min and max i,j,k values are clamped to 0 and maximum value. # plane = vtk.vtkStructuredGridGeometryFilter() plane.SetInputData(pl3dOutput) plane.SetExtent(10, 10, 1, 100, 1, 100) plane2 = vtk.vtkStructuredGridGeometryFilter() plane2.SetInputData(pl3dOutput) plane2.SetExtent(30, 30, 1, 100, 1, 100) plane3 = vtk.vtkStructuredGridGeometryFilter() plane3.SetInputData(pl3dOutput) plane3.SetExtent(45, 45, 1, 100, 1, 100) # We use an append filter because that way we can do the warping, etc. just # using a single pipeline and actor. # appendF = vtk.vtkAppendPolyData() appendF.AddInputConnection(plane.GetOutputPort()) appendF.AddInputConnection(plane2.GetOutputPort()) appendF.AddInputConnection(plane3.GetOutputPort()) warp = vtk.vtkWarpScalar() warp.SetInputConnection(appendF.GetOutputPort()) warp.UseNormalOn() warp.SetNormal(1.0, 0.0, 0.0) warp.SetScaleFactor(2.5) normals = vtk.vtkPolyDataNormals() normals.SetInputConnection(warp.GetOutputPort()) normals.SetFeatureAngle(60) planeMapper = vtk.vtkPolyDataMapper() planeMapper.SetInputConnection(normals.GetOutputPort()) planeMapper.SetScalarRange(pl3dOutput.GetScalarRange()) planeActor = vtk.vtkActor() planeActor.SetMapper(planeMapper) # The outline provides context for the data and the planes. outline = vtk.vtkStructuredGridOutlineFilter() outline.SetInputData(pl3dOutput) outlineMapper = vtk.vtkPolyDataMapper() outlineMapper.SetInputConnection(outline.GetOutputPort()) outlineActor = vtk.vtkActor() outlineActor.SetMapper(outlineMapper) outlineActor.GetProperty().SetColor(colors.GetColor3d("Black")) # Create the usual graphics stuff. # ren1 = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) ren1.AddActor(outlineActor) ren1.AddActor(planeActor) ren1.SetBackground(colors.GetColor3d("Silver")) renWin.SetSize(640, 480) # Create an initial view. ren1.GetActiveCamera().SetClippingRange(3.95297, 50) ren1.GetActiveCamera().SetFocalPoint(8.88908, 0.595038, 29.3342) ren1.GetActiveCamera().SetPosition(-12.3332, 31.7479, 41.2387) ren1.GetActiveCamera().SetViewUp(0.060772, -0.319905, 0.945498) iren.Initialize() # Render the image. # renWin.Render() iren.Start()