.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "tutorial/08_widgets/c_line-widget.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 or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_tutorial_08_widgets_c_line-widget.py: .. _line_widget_example: Line Widget ~~~~~~~~~~~ The line widget can be enabled and disabled by the :func:`pyvista.Plotter.add_line_widget` and :func:`pyvista.Plotter.clear_line_widgets` methods respectively. Unfortunately, PyVista does not have any helper methods to utilize this widget, so it is necessary to pass a custom callback method. One particularly fun example is to use the line widget to create a source for the :func:`pyvista.DataSetFilters.streamlines` filter. Again note the use of the ``name`` argument in ``add_mesh``. .. GENERATED FROM PYTHON SOURCE LINES 17-30 .. code-block:: Python import numpy as np import pyvista as pv from pyvista import examples pv.set_plot_theme('document') mesh = examples.download_kitchen() furniture = examples.download_kitchen(split=True) arr = np.linalg.norm(mesh['velocity'], axis=1) clim = [arr.min(), arr.max()] .. GENERATED FROM PYTHON SOURCE LINES 31-48 .. code-block:: Python p = pv.Plotter() p.add_mesh(furniture, name='furniture', color=True) p.add_mesh(mesh.outline(), color='black') p.add_axes() def simulate(pointa, pointb): streamlines = mesh.streamlines( n_points=10, max_steps=100, pointa=pointa, pointb=pointb, integration_direction='forward' ) p.add_mesh(streamlines, name='streamlines', line_width=5, render_lines_as_tubes=True, clim=clim) p.add_line_widget(callback=simulate, use_vertices=True) p.show() .. image-sg:: /tutorial/08_widgets/images/sphx_glr_c_line-widget_001.png :alt: c line widget :srcset: /tutorial/08_widgets/images/sphx_glr_c_line-widget_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 49-52 And here is a screen capture of a user interacting with this .. image:: ../../images/gifs/line-widget-streamlines.gif .. GENERATED FROM PYTHON SOURCE LINES 54-61 .. raw:: html
Open In Colab
.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.707 seconds) .. _sphx_glr_download_tutorial_08_widgets_c_line-widget.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/pyvista/pyvista-tutorial/gh-pages?urlpath=lab/tree/notebooks/tutorial/08_widgets/c_line-widget.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: c_line-widget.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: c_line-widget.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_