__author__ = 'CAM'

from win32com.client import CDispatch

from IFikomObject import IFikomObject
from IYardimciSiniflar import XYZO





class IHareket(IFikomObject): pass





class IHareket(IFikomObject):
    def __init__(self, obj:CDispatch, sahip:IFikomObject=None):
        super(IHareket, self).__init__(obj, sahip)
        self.sahip = sahip
        self.tipi = "IHareket"

    @property
    def hareketObjesi(self) -> IHareket:
        return IHareket(self.catNesne.MovableObject, self)

    def uygula(self, val):
        if not isinstance(val, XYZO):
            EvalCode = """
				Move.Apply val
			"""
            rslt = self.anaProgram.eval(EvalCode, "Move, val", [self.catNesne, val])
        else:
            TEMPVAL = XYZO(X=[rslt[0], rslt[1], rslt[2]], Y=[rslt[3], rslt[4], rslt[5]],
                           Z=[rslt[6], rslt[7], rslt[8]], O=[rslt[9], rslt[10], rslt[11]])
            EvalCode = """
				Move.Apply val
			"""
            rslt = self.anaProgram.eval(EvalCode, "Move, val", [self.catNesne, TEMPVAL])