<gh_stars>0
# This an autogenerated file
# 
# Generated with HLAControlConfiguration
from typing import Dict,Sequence,List
from dmt.entity import Entity
from dmt.blueprint import Blueprint
from .blueprints.hlacontrolconfiguration import HLAControlConfigurationBlueprint
from typing import Dict
from sima.hla.hlacontrolreference import HLAControlReference
from sima.hla.hlaobject import HLAObject
from sima.sima.scriptablevalue import ScriptableValue

class HLAControlConfiguration(HLAObject):
    """
    Keyword arguments
    -----------------
    name : str
         (default "")
    description : str
         (default "")
    _id : str
         (default "")
    scriptableValues : List[ScriptableValue]
    bodyName : str
         HLA name of body(default "")
    vMaxRot : float
         Maximum rotation speed(default 1.0)
    vMaxX : float
         Maximum speed in x(default 2.0)
    vMaxY : float
         Maximum speed in y(default 1.0)
    aMaxRot : float
         Maximum rotation acceleration(default 0.1)
    aMaxX : float
         Maximum acceleration in x(default 0.2)
    aMaxY : float
         maximum acceleration in y(default 0.05)
    limRot : float
         The rotation accuracy(default 1.0)
    limXY : float
         The movement accuracy(default 0.5)
    controlReference : HLAControlReference
         Control reference
    """

    def __init__(self , name="", description="", _id="", bodyName="", vMaxRot=1.0, vMaxX=2.0, vMaxY=1.0, aMaxRot=0.1, aMaxX=0.2, aMaxY=0.05, limRot=1.0, limXY=0.5, controlReference=HLAControlReference.POSITION, **kwargs):
        super().__init__(**kwargs)
        self.name = name
        self.description = description
        self._id = _id
        self.scriptableValues = list()
        self.bodyName = bodyName
        self.vMaxRot = vMaxRot
        self.vMaxX = vMaxX
        self.vMaxY = vMaxY
        self.aMaxRot = aMaxRot
        self.aMaxX = aMaxX
        self.aMaxY = aMaxY
        self.limRot = limRot
        self.limXY = limXY
        self.controlReference = controlReference
        for key, value in kwargs.items():
            if not isinstance(value, Dict):
                setattr(self, key, value)


    @property
    def blueprint(self) -> Blueprint:
        """Return blueprint that this entity represents"""
        return HLAControlConfigurationBlueprint()


    @property
    def name(self) -> str:
        """"""
        return self.__name

    @name.setter
    def name(self, value: str):
        """Set name"""
        self.__name = str(value)

    @property
    def description(self) -> str:
        """"""
        return self.__description

    @description.setter
    def description(self, value: str):
        """Set description"""
        self.__description = str(value)

    @property
    def _id(self) -> str:
        """"""
        return self.___id

    @_id.setter
    def _id(self, value: str):
        """Set _id"""
        self.___id = str(value)

    @property
    def scriptableValues(self) -> List[ScriptableValue]:
        """"""
        return self.__scriptableValues

    @scriptableValues.setter
    def scriptableValues(self, value: List[ScriptableValue]):
        """Set scriptableValues"""
        if not isinstance(value, Sequence):
            raise Exception("Expected sequense, but was " , type(value))
        self.__scriptableValues = value

    @property
    def bodyName(self) -> str:
        """HLA name of body"""
        return self.__bodyName

    @bodyName.setter
    def bodyName(self, value: str):
        """Set bodyName"""
        self.__bodyName = str(value)

    @property
    def vMaxRot(self) -> float:
        """Maximum rotation speed"""
        return self.__vMaxRot

    @vMaxRot.setter
    def vMaxRot(self, value: float):
        """Set vMaxRot"""
        self.__vMaxRot = float(value)

    @property
    def vMaxX(self) -> float:
        """Maximum speed in x"""
        return self.__vMaxX

    @vMaxX.setter
    def vMaxX(self, value: float):
        """Set vMaxX"""
        self.__vMaxX = float(value)

    @property
    def vMaxY(self) -> float:
        """Maximum speed in y"""
        return self.__vMaxY

    @vMaxY.setter
    def vMaxY(self, value: float):
        """Set vMaxY"""
        self.__vMaxY = float(value)

    @property
    def aMaxRot(self) -> float:
        """Maximum rotation acceleration"""
        return self.__aMaxRot

    @aMaxRot.setter
    def aMaxRot(self, value: float):
        """Set aMaxRot"""
        self.__aMaxRot = float(value)

    @property
    def aMaxX(self) -> float:
        """Maximum acceleration in x"""
        return self.__aMaxX

    @aMaxX.setter
    def aMaxX(self, value: float):
        """Set aMaxX"""
        self.__aMaxX = float(value)

    @property
    def aMaxY(self) -> float:
        """maximum acceleration in y"""
        return self.__aMaxY

    @aMaxY.setter
    def aMaxY(self, value: float):
        """Set aMaxY"""
        self.__aMaxY = float(value)

    @property
    def limRot(self) -> float:
        """The rotation accuracy"""
        return self.__limRot

    @limRot.setter
    def limRot(self, value: float):
        """Set limRot"""
        self.__limRot = float(value)

    @property
    def limXY(self) -> float:
        """The movement accuracy"""
        return self.__limXY

    @limXY.setter
    def limXY(self, value: float):
        """Set limXY"""
        self.__limXY = float(value)

    @property
    def controlReference(self) -> HLAControlReference:
        """Control reference"""
        return self.__controlReference

    @controlReference.setter
    def controlReference(self, value: HLAControlReference):
        """Set controlReference"""
        self.__controlReference = value

# This an autogenerated file
# 
# Generated with HLAControlConfiguration
from typing import Dict,Sequence,List
from dmt.entity import Entity
from dmt.blueprint import Blueprint
from .blueprints.hlacontrolconfiguration import HLAControlConfigurationBlueprint
from typing import Dict
from sima.hla.hlacontrolreference import HLAControlReference
from sima.hla.hlaobject import HLAObject
from sima.sima.scriptablevalue import ScriptableValue

class HLAControlConfiguration(HLAObject):
    """
    Keyword arguments
    -----------------
    name : str
         (default "")
    description : str
         (default "")
    _id : str
         (default "")
    scriptableValues : List[ScriptableValue]
    bodyName : str
         HLA name of body(default "")
    vMaxRot : float
         Maximum rotation speed(default 1.0)
    vMaxX : float
         Maximum speed in x(default 2.0)
    vMaxY : float
         Maximum speed in y(default 1.0)
    aMaxRot : float
         Maximum rotation acceleration(default 0.1)
    aMaxX : float
         Maximum acceleration in x(default 0.2)
    aMaxY : float
         maximum acceleration in y(default 0.05)
    limRot : float
         The rotation accuracy(default 1.0)
    limXY : float
         The movement accuracy(default 0.5)
    controlReference : HLAControlReference
         Control reference
    """

    def __init__(self , name="", description="", _id="", bodyName="", vMaxRot=1.0, vMaxX=2.0, vMaxY=1.0, aMaxRot=0.1, aMaxX=0.2, aMaxY=0.05, limRot=1.0, limXY=0.5, controlReference=HLAControlReference.POSITION, **kwargs):
        super().__init__(**kwargs)
        self.name = name
        self.description = description
        self._id = _id
        self.scriptableValues = list()
        self.bodyName = bodyName
        self.vMaxRot = vMaxRot
        self.vMaxX = vMaxX
        self.vMaxY = vMaxY
        self.aMaxRot = aMaxRot
        self.aMaxX = aMaxX
        self.aMaxY = aMaxY
        self.limRot = limRot
        self.limXY = limXY
        self.controlReference = controlReference
        for key, value in kwargs.items():
            if not isinstance(value, Dict):
                setattr(self, key, value)


    @property
    def blueprint(self) -> Blueprint:
        """Return blueprint that this entity represents"""
        return HLAControlConfigurationBlueprint()


    @property
    def name(self) -> str:
        """"""
        return self.__name

    @name.setter
    def name(self, value: str):
        """Set name"""
        self.__name = str(value)

    @property
    def description(self) -> str:
        """"""
        return self.__description

    @description.setter
    def description(self, value: str):
        """Set description"""
        self.__description = str(value)

    @property
    def _id(self) -> str:
        """"""
        return self.___id

    @_id.setter
    def _id(self, value: str):
        """Set _id"""
        self.___id = str(value)

    @property
    def scriptableValues(self) -> List[ScriptableValue]:
        """"""
        return self.__scriptableValues

    @scriptableValues.setter
    def scriptableValues(self, value: List[ScriptableValue]):
        """Set scriptableValues"""
        if not isinstance(value, Sequence):
            raise Exception("Expected sequense, but was " , type(value))
        self.__scriptableValues = value

    @property
    def bodyName(self) -> str:
        """HLA name of body"""
        return self.__bodyName

    @bodyName.setter
    def bodyName(self, value: str):
        """Set bodyName"""
        self.__bodyName = str(value)

    @property
    def vMaxRot(self) -> float:
        """Maximum rotation speed"""
        return self.__vMaxRot

    @vMaxRot.setter
    def vMaxRot(self, value: float):
        """Set vMaxRot"""
        self.__vMaxRot = float(value)

    @property
    def vMaxX(self) -> float:
        """Maximum speed in x"""
        return self.__vMaxX

    @vMaxX.setter
    def vMaxX(self, value: float):
        """Set vMaxX"""
        self.__vMaxX = float(value)

    @property
    def vMaxY(self) -> float:
        """Maximum speed in y"""
        return self.__vMaxY

    @vMaxY.setter
    def vMaxY(self, value: float):
        """Set vMaxY"""
        self.__vMaxY = float(value)

    @property
    def aMaxRot(self) -> float:
        """Maximum rotation acceleration"""
        return self.__aMaxRot

    @aMaxRot.setter
    def aMaxRot(self, value: float):
        """Set aMaxRot"""
        self.__aMaxRot = float(value)

    @property
    def aMaxX(self) -> float:
        """Maximum acceleration in x"""
        return self.__aMaxX

    @aMaxX.setter
    def aMaxX(self, value: float):
        """Set aMaxX"""
        self.__aMaxX = float(value)

    @property
    def aMaxY(self) -> float:
        """maximum acceleration in y"""
        return self.__aMaxY

    @aMaxY.setter
    def aMaxY(self, value: float):
        """Set aMaxY"""
        self.__aMaxY = float(value)

    @property
    def limRot(self) -> float:
        """The rotation accuracy"""
        return self.__limRot

    @limRot.setter
    def limRot(self, value: float):
        """Set limRot"""
        self.__limRot = float(value)

    @property
    def limXY(self) -> float:
        """The movement accuracy"""
        return self.__limXY

    @limXY.setter
    def limXY(self, value: float):
        """Set limXY"""
        self.__limXY = float(value)

    @property
    def controlReference(self) -> HLAControlReference:
        """Control reference"""
        return self.__controlReference

    @controlReference.setter
    def controlReference(self, value: HLAControlReference):
        """Set controlReference"""
        self.__controlReference = value
# This an autogenerated file # # Generated with HLAControlConfiguration Keyword arguments     -----------------     name : str          (default "")     description : str          (default "")     _id : str          (default "")     scriptableValues : List[ScriptableValue]     bodyName : str          HLA name of body(default "")     vMaxRot : float          Maximum rotation speed(default 1.0)     vMaxX : float          Maximum speed in x(default 2.0)     vMaxY : float          Maximum speed in y(default 1.0)     aMaxRot : float          Maximum rotation acceleration(default 0.1)     aMaxX : float          Maximum acceleration in x(default 0.2)     aMaxY : float          maximum acceleration in y(default 0.05)     limRot : float          The rotation accuracy(default 1.0)     limXY : float          The movement accuracy(default 0.5)     controlReference : HLAControlReference          Control reference Return blueprint that this entity represents Set name Set description Set _id Set scriptableValues HLA name of body Set bodyName Maximum rotation speed Set vMaxRot Maximum speed in x Set vMaxX Maximum speed in y Set vMaxY Maximum rotation acceleration Set aMaxRot Maximum acceleration in x Set aMaxX maximum acceleration in y Set aMaxY The rotation accuracy Set limRot The movement accuracy Set limXY Control reference Set controlReference