visualization.system.mirror#
Mirror Visualization Module
This module contains the 2D and 3D mirror visualization classes.
Kramer Harrison, 2024
Classes
|
Draw a reflective surface and its optional mechanical backing in 2D. |
|
Render a reflective face and its optional mechanical substrate in 3D. |
- class Mirror2D(surface: Any, ray_extent: float, *, backing_sign: float = 1.0)[source]#
Draw a reflective surface and its optional mechanical backing in 2D.
- plot(ax: Axes, theme: Any = None, projection: str = 'YZ') dict[Artist, Mirror2D][source]#
Plot the mirror cross-section and a flat back at its center thickness.
- Parameters:
ax – Matplotlib axes receiving the mirror artists.
theme – Optional visualization theme.
projection – Projection plane, either
YZ,XZ, orXY.
- Returns:
Mapping from artists to this mirror component.
- class Mirror3D(surface: Any, extent: float, *, backing_sign: float = 1.0)[source]#
Render a reflective face and its optional mechanical substrate in 3D.
- Parameters:
surface – Reflective optical surface.
extent – Local radial drawing extent in millimeters.
backing_sign – Sign of incoming travel along the local surface axis.
- get_surface(theme=None)#
Retrieves the surface actor based on the symmetry of the surface geometry.
If the surface geometry is symmetric, it retrieves a symmetric surface actor. Otherwise, it retrieves an asymmetric surface actor.
- Returns:
- The surface actor, either symmetric or asymmetric, based on
the surface geometry.
- Return type:
actor
- plot(renderer: vtk.vtkRenderer, theme: Any = None, **kwargs: Any) None[source]#
Add the optical face and, when requested, its back and side walls.
- Parameters:
renderer – VTK renderer receiving the mirror actors.
theme – Optional visualization theme.
**kwargs – Ignored projection settings from the system plotter.
- property supports_revolution#
Whether an uninterrupted circular contour represents this aperture.
Annular clipping creates discontinuous contours; a clipped grid retains the central opening without introducing NaN vertices into VTK.