pycram.orm.model
================

.. py:module:: pycram.orm.model


Classes
-------

.. autoapisummary::

   pycram.orm.model.PyCRAMQuaternionMapping
   pycram.orm.model.PlanNodeMapping
   pycram.orm.model.DesignatorNodeMapping
   pycram.orm.model.ActionNodeMapping
   pycram.orm.model.MotionNodeMapping
   pycram.orm.model.ResolvedActionNodeMapping
   pycram.orm.model.TryInOrderMapping
   pycram.orm.model.ParallelNodeMapping
   pycram.orm.model.TryAllNodeMapping
   pycram.orm.model.CodeNodeMapping
   pycram.orm.model.MonitorNodeMapping
   pycram.orm.model.PlanEdge
   pycram.orm.model.PlanMapping
   pycram.orm.model.NumpyType


Module Contents
---------------

.. py:class:: PyCRAMQuaternionMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.datastructures.pose.Quaternion`\ ]


   .. py:attribute:: x
      :type:  float
      :value: 0



   .. py:attribute:: y
      :type:  float
      :value: 0



   .. py:attribute:: z
      :type:  float
      :value: 0



   .. py:attribute:: w
      :type:  float
      :value: 1



   .. py:method:: create_instance(obj: krrood.ormatic.dao.T)
      :classmethod:



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T


.. py:class:: PlanNodeMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.PlanNode`\ ]


   .. py:attribute:: status
      :type:  pycram.datastructures.enums.TaskStatus


   .. py:attribute:: start_time
      :type:  typing_extensions.Optional[datetime.datetime]
      :value: None



   .. py:attribute:: end_time
      :type:  typing_extensions.Optional[datetime.datetime]
      :value: None



   .. py:attribute:: reason
      :type:  typing_extensions.Optional[pycram.failures.PlanFailure]
      :value: None



   .. py:method:: create_instance(obj: pycram.plan.PlanNode)
      :classmethod:


      Convert a PlanNode to a PlanNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: DesignatorNodeMapping

   Bases: :py:obj:`PlanNodeMapping`, :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.DesignatorNode`\ ]


   .. py:method:: create_instance(obj: pycram.plan.DesignatorNode)
      :classmethod:


      Convert a DesignatorNode to a DesignatorNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: ActionNodeMapping

   Bases: :py:obj:`DesignatorNodeMapping`, :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.ActionNode`\ ]


   .. py:attribute:: action
      :type:  pycram.robot_plans.ActionDescription
      :value: None



   .. py:method:: create_instance(obj: pycram.plan.ActionNode)
      :classmethod:


      Convert an ActionNode to an ActionNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: MotionNodeMapping

   Bases: :py:obj:`DesignatorNodeMapping`, :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.MotionNode`\ ]


   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: ResolvedActionNodeMapping

   Bases: :py:obj:`DesignatorNodeMapping`, :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.ResolvedActionNode`\ ]


   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: TryInOrderMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.language.TryInOrderNode`\ ]


   .. py:method:: create_instance(obj: pycram.language.TryInOrderNode)
      :classmethod:


      Convert a TryInOrderNode to a TryInOrderNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: ParallelNodeMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.language.ParallelNode`\ ]


   .. py:method:: create_instance(obj: pycram.language.ParallelNode)
      :classmethod:


      Convert a ParallelNode to a ParallelNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: TryAllNodeMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.language.TryAllNode`\ ]


   .. py:method:: create_instance(obj: pycram.language.TryAllNode)
      :classmethod:


      Convert a TryAllNode to a TryAllNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: CodeNodeMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.language.CodeNode`\ ]


   .. py:method:: create_instance(obj: pycram.language.CodeNode)
      :classmethod:


      Convert a CodeNode to a CodeNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: MonitorNodeMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.language.MonitorNode`\ ]


   .. py:method:: create_instance(obj: pycram.language.MonitorNode)
      :classmethod:


      Convert a MonitorNode to a MonitorNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: PlanEdge

   .. py:attribute:: parent
      :type:  pycram.plan.PlanNode


   .. py:attribute:: child
      :type:  pycram.plan.PlanNode


.. py:class:: PlanMapping

   Bases: :py:obj:`krrood.ormatic.dao.AlternativeMapping`\ [\ :py:obj:`pycram.plan.Plan`\ ]


   .. py:attribute:: nodes
      :type:  List[pycram.plan.PlanNode]


   .. py:attribute:: edges
      :type:  List[PlanEdge]


   .. py:method:: create_instance(obj: pycram.plan.Plan)
      :classmethod:


      Convert a MonitorNode to a MonitorNodeDAO.



   .. py:method:: create_from_dao() -> krrood.ormatic.dao.T
      :abstractmethod:



.. py:class:: NumpyType(*args: Any, **kwargs: Any)

   Bases: :py:obj:`sqlalchemy.TypeDecorator`


   Type that casts field which are of numpy nd array type


   .. py:attribute:: impl


   .. py:method:: process_bind_param(value: numpy.ndarray, dialect)

      Receive a bound parameter value to be converted.

      Custom subclasses of :class:`_types.TypeDecorator` should override
      this method to provide custom behaviors for incoming data values.
      This method is called at **statement execution time** and is passed
      the literal Python data value which is to be associated with a bound
      parameter in the statement.

      The operation could be anything desired to perform custom
      behavior, such as transforming or serializing data.
      This could also be used as a hook for validating logic.

      :param value: Data to operate upon, of any type expected by
       this method in the subclass.  Can be ``None``.
      :param dialect: the :class:`.Dialect` in use.

      .. seealso::

          :ref:`types_typedecorator`

          :meth:`_types.TypeDecorator.process_result_value`




   .. py:method:: process_result_value(value: impl, dialect) -> typing_extensions.Optional[numpy.ndarray]

      Receive a result-row column value to be converted.

      Custom subclasses of :class:`_types.TypeDecorator` should override
      this method to provide custom behaviors for data values
      being received in result rows coming from the database.
      This method is called at **result fetching time** and is passed
      the literal Python data value that's extracted from a database result
      row.

      The operation could be anything desired to perform custom
      behavior, such as transforming or deserializing data.

      :param value: Data to operate upon, of any type expected by
       this method in the subclass.  Can be ``None``.
      :param dialect: the :class:`.Dialect` in use.

      .. seealso::

          :ref:`types_typedecorator`

          :meth:`_types.TypeDecorator.process_bind_param`





