These won't interact with photons, but can be useful for visualization. Implementing these as their own class has the advantage that they can have class attributes which preset display properties such as color.
Having them as their own class also makes it easier to export the same model in different plotting backends (e.g. 3D and 2 d schematic).
Ideas for such elements:
Optical axis. Can be mostly autogenerated form mirrors, but needs limits for display (not to +- inf).
These won't interact with photons, but can be useful for visualization. Implementing these as their own class has the advantage that they can have class attributes which preset display properties such as color. Having them as their own class also makes it easier to export the same model in different plotting backends (e.g. 3D and 2 d schematic).
Ideas for such elements: