# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: blickfeld/core_processing/config/demo_recording.proto, blickfeld/core_processing/config/point_cloud.proto
# plugin: python-betterproto
from dataclasses import dataclass

import blickfeld_qb2.betterproto as betterproto
import blickfeld_qb2.betterproto.lib.google.protobuf as betterproto_lib_google_protobuf


class DemoRecording(betterproto.Enum):
    """
    Demo recording which can be replayed instead of the real sensor data. This
    is also used for virtual devices which have no physical sensing unit.
    WARNING: The recordings are still preliminary. The demo test data concept
    will be refactored soon.
    """

    DEMO_RECORDING_UNSPECIFIED = 0
    """No demo recoding is specified"""

    DEMO_RECORDING_HIGH_RESOLUTION = 1
    """High resolution recording in the office with 200 + 30 scanlines"""

    DEMO_RECORDING_HIGH_FRAME_RATE = 2
    """High resolution recording in the office with 30 + 30 scanlines"""


@dataclass(eq=False, repr=False)
class PointCloud(betterproto.Message):
    """Configuration parameters for the point cloud"""

    pass


@dataclass(eq=False, repr=False)
class PointCloudFilter(betterproto.Message):
    """Filter configuration which can be applied on point cloud frames."""

    maximum_returns_per_point: int = betterproto.uint32_field(1)
    """
    Set maximum number of returns per point. By default, secondary returns are
    disabled. Set this, e.g. to 2, to enable secondary returns.
    """
