"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.math.vector3d_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Transpose(google.protobuf.message.Message):
    """*
    This message describes a 3D world pose of an object/entity.
    @author: Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    POSITION_FIELD_NUMBER: builtins.int
    ROTATION_FIELD_NUMBER: builtins.int
    SCALE_FIELD_NUMBER: builtins.int
    @property
    def position(self) -> avikom.math.vector3d_pb2.Vector3D:
        """/ position in world units (meters) of the entity"""
    @property
    def rotation(self) -> avikom.math.vector3d_pb2.Vector3D:
        """/ rotation in euler angles (degrees)"""
    @property
    def scale(self) -> avikom.math.vector3d_pb2.Vector3D:
        """/ three dimensional scaling factor"""
    def __init__(
        self,
        *,
        position: avikom.math.vector3d_pb2.Vector3D | None = ...,
        rotation: avikom.math.vector3d_pb2.Vector3D | None = ...,
        scale: avikom.math.vector3d_pb2.Vector3D | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["position", b"position", "rotation", b"rotation", "scale", b"scale"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["position", b"position", "rotation", b"rotation", "scale", b"scale"]) -> None: ...

global___Transpose = Transpose
