.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/02-specifying-per-part-state/00-metadata-per-part-opacity.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_02-specifying-per-part-state_00-metadata-per-part-opacity.py: .. _ref_per_part_opacity: Set per-part opacity for multiblock dataset =========================================== Create a small VTK multiblock dataset, with unique names for each part (leaf block). Create a Metadata object to set custom opacity for each part of the dataset. Pass the dataset and metadata to VISOR.start() to visualize the dataset with the specified per-part opacity. .. image:: /_static/visor_multiblock_opacity.png :alt: VISOR multiblock with per-part opacity :width: 600px :align: center .. GENERATED FROM PYTHON SOURCE LINES 19-53 .. code-block:: Python from vtk import vtkCompositeDataSet, vtkSphereSource from vtkmodules.vtkCommonDataModel import vtkMultiBlockDataSet from ansys.visor.viewer import Metadata, Visor def make_simple_block(source_id: int) -> vtkSphereSource: """Create a small sphere with a slightly different radius/center per block.""" sphere = vtkSphereSource() sphere.SetRadius(1.0) sphere.SetCenter(source_id * 3.0, 0.0, 0.0) sphere.SetThetaResolution(16) sphere.SetPhiResolution(16) sphere.Update() return sphere.GetOutput() def make_multiblock() -> vtkMultiBlockDataSet: """Create a multiblock dataset with 3 blocks.""" part_names = ["Part1", "Part2", "Part3"] multiblock = vtkMultiBlockDataSet() for i, name in enumerate(part_names): block = make_simple_block(i) multiblock.SetBlock(i, block) # Assign a unique name to this block multiblock.GetMetaData(i).Set(vtkCompositeDataSet.NAME(), name) return multiblock .. GENERATED FROM PYTHON SOURCE LINES 54-56 Create the multiblock and metadata ############################################################################### .. GENERATED FROM PYTHON SOURCE LINES 56-72 .. code-block:: Python multiblock_data = make_multiblock() # Create a metadata dictionary specifying the opacity for each part metadata = Metadata( name="multiblock_example", unit="m", state={ "parts": { "Part1": {"opacity": 0.2}, "Part2": {"opacity": 0.5}, "Part3": {"opacity": 0.8}, } } ) .. GENERATED FROM PYTHON SOURCE LINES 73-75 Instantiate the viewer and start it with the data and metadata we just created ############################################################################### .. GENERATED FROM PYTHON SOURCE LINES 75-79 .. code-block:: Python visualizer = Visor() visualizer.start(input=multiblock_data, metadata=metadata) .. _sphx_glr_download_examples_02-specifying-per-part-state_00-metadata-per-part-opacity.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: 00-metadata-per-part-opacity.ipynb <00-metadata-per-part-opacity.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: 00-metadata-per-part-opacity.py <00-metadata-per-part-opacity.py>` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: 00-metadata-per-part-opacity.zip <00-metadata-per-part-opacity.zip>` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_