# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: a42/label/object.proto
# plugin: python-betterproto
from dataclasses import dataclass

import betterproto

from . import data


@dataclass
class Position(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    z: float = betterproto.float_field(3)


@dataclass
class Dimensions(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    z: float = betterproto.float_field(3)


@dataclass
class Orientation(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    z: float = betterproto.float_field(3)
    w: float = betterproto.float_field(4)


@dataclass
class Velocity(betterproto.Message):
    x: float = betterproto.float_field(1)
    y: float = betterproto.float_field(2)
    z: float = betterproto.float_field(3)


@dataclass
class ObjectBBox(betterproto.Message):
    id: int = betterproto.uint32_field(1)
    timestamp_ns: int = betterproto.uint64_field(2)
    position: "Position" = betterproto.message_field(3)
    dimension: "Dimensions" = betterproto.message_field(4)
    orientation: "Orientation" = betterproto.message_field(5)
    velocity: "Velocity" = betterproto.message_field(6)
    pointcloud: data.PointCloud = betterproto.message_field(7)
    obj_class: str = betterproto.string_field(8)
    obj_class_score: float = betterproto.float_field(9)
