from IAktiviteler.IMfgOperasyonlar.IModlar import DikeyHatveModu


def hatve(akt):
    __mode = DikeyHatveModu(akt.parametreler["Stepover mode"].degeriStr)
    if __mode == DikeyHatveModu.sabit:
        return (akt.parametreler["Maximum distance"], akt.parametreler["Scallop height"])
    if __mode == DikeyHatveModu.tarak:
        return (akt.parametreler["Maximum distance"], akt.parametreler["Minimum step distance"],
                akt.parametreler["Scallop height"])
    if __mode == DikeyHatveModu.konturUzaklik:
        return (akt.parametreler["Maximum distance"], akt.parametreler["Minimum step distance"],
                akt.parametreler["Scallop height"])
    if __mode == DikeyHatveModu.maksimumUzaklik:
        return akt.parametreler["Maximum distance"]


def yuzeyOffset(akt):
    return akt.parametreler["Offset on part"]


def yanalAdim(akt):
    return None


def hatveGL(akt):
    __mode = DikeyHatveModu(akt.parametreler["Stepover mode"].degeriStr)
    if __mode == DikeyHatveModu.sabit:
        return (__mode.name, akt.parametreler["Maximum distance"].degeriStr, akt.parametreler["Scallop height"].degeriStr)
    if __mode == DikeyHatveModu.tarak:
        return (__mode.name, akt.parametreler["Maximum distance"].degeriStr, akt.parametreler["Minimum step distance"].degeriStr,
                akt.parametreler["Scallop height"].degeriStr)
    if __mode == DikeyHatveModu.konturUzaklik:
        return (__mode.name, akt.parametreler["Maximum distance"].degeriStr, akt.parametreler["Minimum step distance"].degeriStr,
                akt.parametreler["Scallop height"].degeriStr)
    if __mode == DikeyHatveModu.maksimumUzaklik:
        return akt.parametreler["Maximum distance"].degeriStr


def fikoGlParametreler(akt):
    return {
        "takimYonu": akt.takimYonu.to_array(),
        "yuzeyOffset": yuzeyOffset(akt).degeriStr,
        "dikeyHatve": hatveGL(akt),
        # "acilar":{"AC":[akt.acilar.tav20Er32.ustAci,akt.acilar.tav20Er32.altAci]}
    }
