"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class Axis(google.protobuf.message.Message):
    """*
    Axis of a coordinate system.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Type(_Type, metaclass=_TypeEnumTypeWrapper):
        pass
    class _Type:
        V = typing.NewType('V', builtins.int)
    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Type.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        X = Axis.Type.V(0)
        Y = Axis.Type.V(1)
        Z = Axis.Type.V(2)

    X = Axis.Type.V(0)
    Y = Axis.Type.V(1)
    Z = Axis.Type.V(2)

    TYPE_FIELD_NUMBER: builtins.int
    type: global___Axis.Type.V = ...
    def __init__(self,
        *,
        type : global___Axis.Type.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"type",b"type"]) -> None: ...
global___Axis = Axis

class Vector3(google.protobuf.message.Message):
    """*
    A vector with three components to represent a 3D coordiante.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    x: builtins.float = ...
    """The X component."""

    y: builtins.float = ...
    """The Y component."""

    z: builtins.float = ...
    """The Z component."""

    def __init__(self,
        *,
        x : builtins.float = ...,
        y : builtins.float = ...,
        z : builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"x",b"x",u"y",b"y",u"z",b"z"]) -> None: ...
global___Vector3 = Vector3

class Quaternion(google.protobuf.message.Message):
    """*
    A quaternion for representing an orientation.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    W_FIELD_NUMBER: builtins.int
    x: builtins.float = ...
    """The X component."""

    y: builtins.float = ...
    """The Y component."""

    z: builtins.float = ...
    """The Z component."""

    w: builtins.float = ...
    """The W component (real part)."""

    def __init__(self,
        *,
        x : builtins.float = ...,
        y : builtins.float = ...,
        z : builtins.float = ...,
        w : builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"w",b"w",u"x",b"x",u"y",b"y",u"z",b"z"]) -> None: ...
global___Quaternion = Quaternion

class Pose(google.protobuf.message.Message):
    """*
    A pose, consisting of a vector3 (3D coordinate) and a quaternion.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    POSITION_FIELD_NUMBER: builtins.int
    ORIENTATION_FIELD_NUMBER: builtins.int
    @property
    def position(self) -> global___Vector3:
        """A vector representing the position."""
        pass
    @property
    def orientation(self) -> global___Quaternion:
        """A quaternion representing the orientation."""
        pass
    def __init__(self,
        *,
        position : typing.Optional[global___Vector3] = ...,
        orientation : typing.Optional[global___Quaternion] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"orientation",b"orientation",u"position",b"position"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"orientation",b"orientation",u"position",b"position"]) -> None: ...
global___Pose = Pose

class Transform(google.protobuf.message.Message):
    """*

    A rigid transformation
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TRANSLATION_FIELD_NUMBER: builtins.int
    ROTATION_FIELD_NUMBER: builtins.int
    @property
    def translation(self) -> global___Vector3: ...
    @property
    def rotation(self) -> global___Quaternion: ...
    def __init__(self,
        *,
        translation : typing.Optional[global___Vector3] = ...,
        rotation : typing.Optional[global___Quaternion] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"rotation",b"rotation",u"translation",b"translation"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"rotation",b"rotation",u"translation",b"translation"]) -> None: ...
global___Transform = Transform
