"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import bf_proto.percept.common.geometry_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

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

class Shape(google.protobuf.message.Message):
    """*
    A shape that represent a geometrical figure.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Box(google.protobuf.message.Message):
        """*
        A 3 dimensional box.
        """
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        DIMENSIONS_FIELD_NUMBER: builtins.int
        @property
        def dimensions(self) -> bf_proto.percept.common.geometry_pb2.Vector3:
            """The X, Y and Z dimension"""
            pass
        def __init__(self,
            *,
            dimensions : typing.Optional[bf_proto.percept.common.geometry_pb2.Vector3] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"dimensions",b"dimensions"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"dimensions",b"dimensions"]) -> None: ...

    POSE_FIELD_NUMBER: builtins.int
    BOX_FIELD_NUMBER: builtins.int
    @property
    def pose(self) -> bf_proto.percept.common.geometry_pb2.Pose:
        """Position and orientation of the center of the bounding box enclosing the shape."""
        pass
    @property
    def box(self) -> global___Shape.Box: ...
    def __init__(self,
        *,
        pose : typing.Optional[bf_proto.percept.common.geometry_pb2.Pose] = ...,
        box : typing.Optional[global___Shape.Box] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"box",b"box",u"pose",b"pose",u"shape_type",b"shape_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"box",b"box",u"pose",b"pose",u"shape_type",b"shape_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"shape_type",b"shape_type"]) -> typing.Optional[typing_extensions.Literal["box"]]: ...
global___Shape = Shape
