# Examples from pyvista.register_plotter_component
# ================================================

# Register a minimal component on the plotter.
import pyvista as pv
@pv.register_plotter_component('demo')
class DemoComponent:
    def __init__(self, plotter):
        self._plotter = plotter

    def title(self):
        return self._plotter.title
pl = pv.Plotter()
pl.demo.title() == pl.title

# Components are cached per plotter. Repeated access returns the same
# object.
pl.demo is pl.demo

# Clean up so the namespace is not visible to later doctest examples.
pv.unregister_plotter_component('demo')
pl.close()

# ----------------------------------------------------------------------
# Generated by sphinx-examples-as-code https://github.com/pyvista/sphinx-examples-as-code

