"""This file provides autocompletions for the ZOS-API and was automatically generated.
It should not be edited manually.
"""

from zospy.api.stubs._ZOSAPI_constants.Analysis.Settings import (
    Aberrations,
    EncircledEnergy,
    ExtendedScene,
    Fans,
    Mtf,
    NSCSurface,
    Psf,
    RMS,
    Spot,
    Wavefront,
)

__all__ = (
    "Aberrations",
    "EncircledEnergy",
    "ExtendedScene",
    "Fans",
    "Mtf",
    "NSCSurface",
    "Psf",
    "RMS",
    "Spot",
    "Wavefront",
    "AxisType",
    "DetectorViewerScaleTypes",
    "DisplayOption",
    "HuygensPsfTypes",
    "Parity",
    "Polarizations",
    "PsfSpread",
    "PsfTypes",
    "ReferenceGia",
    "Rotations",
    "ScanTypes",
    "SourceGia",
    "STAREffectsOptions",
)

class AxisType:
    X: AxisType = ...
    Y: AxisType = ...
    Z: AxisType = ...

class DetectorViewerScaleTypes:
    Linear: DetectorViewerScaleTypes = ...
    Log_Minus_5: DetectorViewerScaleTypes = ...
    Normalized: DetectorViewerScaleTypes = ...
    Log_Minus_10: DetectorViewerScaleTypes = ...
    Log_Minus_15: DetectorViewerScaleTypes = ...

class DisplayOption:
    AllRays: DisplayOption = ...
    FailedRays: DisplayOption = ...
    PassedRays: DisplayOption = ...

class HuygensPsfTypes:
    Linear: HuygensPsfTypes = ...
    Log_Minus_1: HuygensPsfTypes = ...
    Log_Minus_2: HuygensPsfTypes = ...
    Log_Minus_3: HuygensPsfTypes = ...
    Log_Minus_4: HuygensPsfTypes = ...
    Log_Minus_5: HuygensPsfTypes = ...
    Real: HuygensPsfTypes = ...
    Imaginary: HuygensPsfTypes = ...
    Phase: HuygensPsfTypes = ...

class Parity:
    Even: Parity = ...
    Odd: Parity = ...

class Polarizations:
    None_: Polarizations = ...
    Ex: Polarizations = ...
    Ey: Polarizations = ...
    Ez: Polarizations = ...

class PsfSpread:
    Line: PsfSpread = ...
    Edge: PsfSpread = ...

class PsfTypes:
    X_Linear: PsfTypes = ...
    Y_Linear: PsfTypes = ...
    X_Logarithmic: PsfTypes = ...
    Y_Logarithmic: PsfTypes = ...
    X_Phase: PsfTypes = ...
    Y_Phase: PsfTypes = ...
    X_RealPart: PsfTypes = ...
    Y_RealPart: PsfTypes = ...
    X_ImaginaryPart: PsfTypes = ...
    Y_ImaginaryPart: PsfTypes = ...

class ReferenceGia:
    ChiefRay: ReferenceGia = ...
    Vertex: ReferenceGia = ...
    PrimaryChief: ReferenceGia = ...
    Centroid: ReferenceGia = ...

class Rotations:
    Rotate_0: Rotations = ...
    Rotate_90: Rotations = ...
    Rotate_180: Rotations = ...
    Rotate_270: Rotations = ...

class ScanTypes:
    Plus_Y: ScanTypes = ...
    Plus_X: ScanTypes = ...
    Minus_Y: ScanTypes = ...
    Minus_X: ScanTypes = ...

class SourceGia:
    Uniform: SourceGia = ...
    Lambertian: SourceGia = ...

class STAREffectsOptions:
    On: STAREffectsOptions = ...
    Difference: STAREffectsOptions = ...
