visualization.component_renderer
ComponentRenderer ABC
Defines the abstract base class for rendering a single optical component in 2D (matplotlib) or 3D (VTK). Concrete renderers are registered with OpticalSystem via OpticalSystem.register_component_renderer().
Kramer Harrison, 2026
Classes
Contract for rendering a single optical component in 2D or 3D. |
- class ComponentRenderer[source]
Contract for rendering a single optical component in 2D or 3D.
Concrete implementations are registered with OpticalSystem via
OpticalSystem.register_component_renderer().Example
>>> class MyRenderer(ComponentRenderer): ... def render_2d(self, ax, component_data): ... z = component_data['z'] ... ax.axvline(z, color='red') ... >>> OpticalSystem.register_component_renderer('my_type', MyRenderer())