Surfaces ======== This section describes the surface modules in Optiland. Surfaces are the building blocks of optical systems, and Optiland provides a variety of surface types and properties to support the design and analysis of complex optical systems. Optiland builds individual surfaces into the so-called `SurfaceGroup`, which represents a collection of surfaces that form an optical system. Most analyses are performed on the `SurfaceGroup` level, which abstracts the complexity of individual surfaces and provides a unified interface for optical system design and analysis. .. autosummary:: :toctree: surfaces/ :caption: Surface Modules surfaces.converters surfaces.image_surface surfaces.object_surface surfaces.observer surfaces.standard_surface surfaces.surface_group Surface Factory --------------- The `surfaces.factories` subpackage is used to build surface instances based on user-provided inputs. The primary class class in this subpackage is the `SurfaceFactory`, which orchestrates generation of surfaces and delegates creation of surface subcomponents to several submodules, which are listed here. .. autosummary:: :toctree: surfaces/factories/ :caption: Factory Modules :recursive: surfaces.factories.coating_factory surfaces.factories.coordinate_system_factory surfaces.factories.geometry_factory surfaces.factories.interaction_model_factory surfaces.factories.material_factory surfaces.factories.surface_factory