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

from __future__ import annotations

from zospy.api._ZOSAPI.Analysis.Settings import IAS_

__all__ = ("ColorRaysBy", "IAS_Spot", "Patterns", "Reference", "ShowScales")

class ColorRaysBy:
    Fields = 0
    Waves = 1
    Config = 2
    Wavelength = 3

class IAS_Spot(IAS_):
    @property
    def Field(self) -> IAS_Field: ...
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Wavelength(self) -> IAS_Wavelength: ...
    @property
    def Pattern(self) -> Patterns: ...
    @Pattern.setter
    def Pattern(self, value: Patterns) -> None: ...
    @property
    def ReferTo(self) -> Reference: ...
    @ReferTo.setter
    def ReferTo(self, value: Reference) -> None: ...
    @property
    def ShowScale(self) -> ShowScales: ...
    @ShowScale.setter
    def ShowScale(self, value: ShowScales) -> None: ...
    @property
    def ColorRaysBy(self) -> ColorRaysBy: ...
    @ColorRaysBy.setter
    def ColorRaysBy(self, value: ColorRaysBy) -> None: ...
    @property
    def RayDensity(self) -> int: ...
    @RayDensity.setter
    def RayDensity(self, value: int) -> None: ...
    @property
    def Configuration(self) -> int: ...
    @Configuration.setter
    def Configuration(self, value: int) -> None: ...
    @property
    def DirectionCosines(self) -> bool: ...
    @DirectionCosines.setter
    def DirectionCosines(self, value: bool) -> None: ...
    @property
    def UseSymbols(self) -> bool: ...
    @UseSymbols.setter
    def UseSymbols(self, value: bool) -> None: ...
    @property
    def UsePolarization(self) -> bool: ...
    @UsePolarization.setter
    def UsePolarization(self, value: bool) -> None: ...
    @property
    def ScatterRays(self) -> bool: ...
    @ScatterRays.setter
    def ScatterRays(self, value: bool) -> None: ...
    @property
    def ShowAiryDisk(self) -> bool: ...
    @ShowAiryDisk.setter
    def ShowAiryDisk(self, value: bool) -> None: ...
    @property
    def IgnoreLateralColor(self) -> bool: ...
    @IgnoreLateralColor.setter
    def IgnoreLateralColor(self, value: bool) -> None: ...
    @property
    def PlotScale(self) -> float: ...
    @PlotScale.setter
    def PlotScale(self, value: float) -> None: ...
    @property
    def DeltaFocus(self) -> float: ...
    @DeltaFocus.setter
    def DeltaFocus(self, value: float) -> None: ...
    @property
    def Exaggerate(self) -> float: ...
    @Exaggerate.setter
    def Exaggerate(self, value: float) -> None: ...

class Patterns:
    Square = 0
    Hexapolar = 1
    Dithered = 2

class Reference:
    ChiefRay = 0
    Centroid = 1
    Middle = 2
    Vertex = 3

class ShowScales:
    ScaleBar = 0
    Box = 1
    Cross = 2
    Circle = 3
