from zempy.zosapi.core.enum_base import ZosEnumBase


class SurfaceType(ZosEnumBase):
    ABCD                           = 0
    AlternateEven                  = 1
    AlternateOdd                   = 2
    AnnularZernikeSag              = 3
    Atmospheric                    = 4
    Biconic                        = 5
    BiconicZernike                 = 6
    Binary1                        = 7
    Binary2                        = 8
    Binary3                        = 9
    Binary4                        = 10
    BirefringentIn                 = 11
    BirefringentOut                = 12
    BlackBoxLens                   = 13
    ChebyShv                       = 14
    Conjugate                      = 15
    CoordinateBreak                = 16
    CubicSpline                    = 17
    CylinderFrensel                = 18
    CylinderFresnel                = 19
    Data                           = 20
    DiffractionGrating             = 21
    EllipticalGrating1             = 22
    EllipticalGrating2             = 23
    EvenAspheric                   = 24
    ExtendedToroidalGrating        = 25
    ExtendedAsphere                = 26
    ExtendedCubicSpline            = 27
    ExtendedFresnel                = 28
    ExtendedOddAsphere             = 29
    ExtendedPolynomial             = 30
    Fresnel                        = 31
    GeneralizedFresnel             = 32
    Gradient1                      = 33
    Gradient2                      = 34
    Gradient3                      = 35
    Gradient4                      = 36
    Gradient5                      = 37
    Gradient6                      = 38
    Gradient7                      = 39
    Gradient9                      = 40
    Gradient10                     = 41
    Gradient12                     = 42
    Gradium                        = 43
    GridGradient                   = 44
    GridPhase                      = 45
    GridSag                        = 46
    Hologram1                      = 47
    Hologram2                      = 48
    Irregular                      = 49
    JonesMatrix                    = 50
    NonSequential                  = 51
    OddAsphere                     = 52
    OddCosine                      = 53
    OffAxisConicFreeform           = 54
    OpticallyFabricatedHologram    = 55
    Paraxial                       = 56
    ParaxialXY                     = 57
    Periodic                       = 58
    Polynomial                     = 59
    QTypeAsphere                   = 60
    QTypeFreeform                  = 61
    RadialGrating                  = 62
    RadialNurbs                    = 63
    RetroReflect                   = 64
    SlideSurface                   = 65
    Standard                       = 66
    Superconic                     = 67
    Tilted                         = 68
    Toroidal                       = 69
    ToroidalGrat                   = 70
    ToroidalHologram               = 71
    ToroidalNurbs                  = 72
    UserDefined                    = 73
    VariableLineSpaceGrating       = 74
    ZernikeAnnularPhase            = 75
    ZernikeFringePhase             = 76
    ZernikeFringeSag               = 77
    ZernikeStandardPhase           = 78
    ZernikeStandardSag             = 79
    ZonePlate                      = 80
    Freeform                       = 81


SurfaceType._NATIVE_PATH = "ZOSAPI.Editors.LDE.SurfaceType"
SurfaceType._ALIASES_EXTRA = {}

__all__ = ["SurfaceType"]
