"""
@generated by codestare-proto-plus.  Do not edit manually!
"""
from proto import (
    FLOAT,
    Field,
    module,
)

from proto.message import (
    Message,
)

from ubii.proto.v1.dataStructure.vector2_pb_plus import (
    Vector2,
)


__protobuf__ = module(
    package="ubii.proto.v1.dataStructure",
    marshal="ubii.proto.v1",
    manifest={
        "Pose2D",
    }
)


class Pose2D(Message):
    """
    .. admonition:: One Ofs

        This message defines the following *oneof* group[s]

        .. attribute:: orientation

            - 	:attr:`.direction`
            - 	:attr:`.angle`

    Attributes:
        position (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~ubii.proto.v1.dataStructure.vector2_pb_plus.Vector2`
        direction (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~ubii.proto.v1.dataStructure.vector2_pb_plus.Vector2` -- *oneof*
            :attr:`.orientation`
        angle (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~proto.primitives.ProtoType.FLOAT` -- *oneof* :attr:`.orientation`
    """

    position = Field(
        Vector2,
        number=1,
    )
    direction = Field(
        Vector2,
        number=2,
        oneof='orientation',
    )
    angle = Field(
        FLOAT,
        number=3,
        oneof='orientation',
    )

