"""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 import BestFitSphereOptions, SampleSizes_Pow2Plus1_X, SurfaceSagData
from zospy.api._ZOSAPI.Analysis.Settings import IAS_

__all__ = ("IAS_NSCSurfaceSag", "NSCSagRemoveOptions", "NSCSagShowAs")

class IAS_NSCSurfaceSag(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def ObjectNumber(self) -> int: ...
    @ObjectNumber.setter
    def ObjectNumber(self, value: int) -> None: ...
    @property
    def FaceNumber(self) -> int: ...
    @FaceNumber.setter
    def FaceNumber(self, value: int) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfaceSagData: ...
    @Data.setter
    def Data(self, value: SurfaceSagData) -> None: ...
    @property
    def ShowAs(self) -> NSCSagShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: NSCSagShowAs) -> None: ...
    @property
    def Offset(self) -> float: ...
    @Offset.setter
    def Offset(self, value: float) -> None: ...
    @property
    def Width(self) -> float: ...
    @Width.setter
    def Width(self, value: float) -> None: ...
    @property
    def Rotation(self) -> float: ...
    @Rotation.setter
    def Rotation(self, value: float) -> None: ...
    @property
    def Decenter_X(self) -> float: ...
    @Decenter_X.setter
    def Decenter_X(self, value: float) -> None: ...
    @property
    def Decenter_Y(self) -> float: ...
    @Decenter_Y.setter
    def Decenter_Y(self, value: float) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemoveOption(self) -> NSCSagRemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: NSCSagRemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def BFSReverseDirection(self) -> bool: ...
    @BFSReverseDirection.setter
    def BFSReverseDirection(self, value: bool) -> None: ...
    @property
    def KeepObjectTilts(self) -> bool: ...
    @KeepObjectTilts.setter
    def KeepObjectTilts(self, value: bool) -> None: ...
    @property
    def ProbeRayOffset(self) -> float: ...
    @ProbeRayOffset.setter
    def ProbeRayOffset(self, value: float) -> None: ...
    @property
    def KeepZRD(self) -> bool: ...
    @KeepZRD.setter
    def KeepZRD(self, value: bool) -> None: ...
    @property
    def ZRDFilename(self) -> str: ...
    @ZRDFilename.setter
    def ZRDFilename(self, value: str) -> None: ...

class NSCSagRemoveOptions:
    # None = 0
    BaseROC = 1
    BestFitSphere = 2
    AverageSag = 3
    MinimumSag = 4

class NSCSagShowAs:
    Surface = 0
    Contour = 1
    GreyScale = 2
    InverseGreyScale = 3
    FalseColor = 4
    InverseFalseColor = 5
    X_CrossSection = 6
    Y_CrossSection = 7
