# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: blickfeld/config/scan_pattern.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from .. import common_pb2 as blickfeld_dot_common__pb2
from .. import options_pb2 as blickfeld_dot_options__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='blickfeld/config/scan_pattern.proto',
  package='blickfeld.protocol.config',
  syntax='proto2',
  serialized_options=None,
  serialized_pb=_b('\n#blickfeld/config/scan_pattern.proto\x12\x19\x62lickfeld.protocol.config\x1a\x16\x62lickfeld/common.proto\x1a\x17\x62lickfeld/options.proto\"\xe2\x0c\n\x0bScanPattern\x12\x45\n\nhorizontal\x18\x01 \x01(\x0b\x32\x31.blickfeld.protocol.config.ScanPattern.Horizontal\x12\x41\n\x08vertical\x18\x02 \x01(\x0b\x32/.blickfeld.protocol.config.ScanPattern.Vertical\x12;\n\x05pulse\x18\x03 \x01(\x0b\x32,.blickfeld.protocol.config.ScanPattern.Pulse\x12\x44\n\nframe_rate\x18\x04 \x01(\x0b\x32\x30.blickfeld.protocol.config.ScanPattern.FrameRate\x12=\n\x06\x66ilter\x18\x07 \x01(\x0b\x32-.blickfeld.protocol.config.ScanPattern.Filter\x12\x33\n\x0b\x63onstraints\x18\x08 \x03(\x0b\x32\x1e.blickfeld.protocol.Constraint\x1a\x38\n\nHorizontal\x12*\n\x03\x66ov\x18\x01 \x01(\x02\x42\x1d\xda\xb5\x18\x03rad\xe2\xb5\x18\x03\x64\x65g\xe9\xb5\x18\xb6\x94\x63\x1a\xdc\xa5L@\xf0\xb5\x18\x02\x1a\x86\x01\n\x08Vertical\x12*\n\x03\x66ov\x18\x01 \x01(\x02\x42\x1d\xda\xb5\x18\x03rad\xe2\xb5\x18\x03\x64\x65g\xe9\xb5\x18\xb6\x94\x63\x1a\xdc\xa5L@\xf0\xb5\x18\x02\x12%\n\x0cscanlines_up\x18\x02 \x01(\r:\x02\x34\x30\x42\x0b\x81\xb5\x18\x00\x00\x00\x00\x00\x00\xf0?\x12\'\n\x0escanlines_down\x18\x03 \x01(\r:\x02\x34\x30\x42\x0b\x81\xb5\x18\x00\x00\x00\x00\x00\x00\xf0?\x1a\xce\x03\n\x05Pulse\x12\x34\n\rangle_spacing\x18\x02 \x01(\x02\x42\x1d\xda\xb5\x18\x03rad\xe2\xb5\x18\x03\x64\x65g\xe9\xb5\x18\xb6\x94\x63\x1a\xdc\xa5L@\xf0\xb5\x18\x02\x12K\n\x04type\x18\x03 \x01(\x0e\x32\x31.blickfeld.protocol.config.ScanPattern.Pulse.Type:\nINTERLEAVE\x12[\n\nframe_mode\x18\x04 \x01(\x0e\x32\x36.blickfeld.protocol.config.ScanPattern.Pulse.FrameMode:\x0f\x43OMBINE_UP_DOWN\x12#\n\x15\x64istortion_correction\x18\x05 \x01(\x08:\x04true\"O\n\x04Type\x12\x19\n\x15\x45QUI_HORIZONTAL_ANGLE\x10\x00\x12\x10\n\x0c\x45QUI_DENSITY\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\x12\x0e\n\nINTERLEAVE\x10\x03\"T\n\tFrameMode\x12\x08\n\x04NONE\x10\x00\x12\x13\n\x0f\x43OMBINE_UP_DOWN\x10\x01\x12\x0b\n\x07ONLY_UP\x10\x02\x12\r\n\tONLY_DOWN\x10\x03\x12\x0c\n\x08SEPARATE\x10\x04*\x04\x08\x01\x10\x02*\x04\x08\x06\x10\x07*\x04\x08\x07\x10\x08R\x07padding\x1a\x8a\x01\n\tFrameRate\x12\x1e\n\x06target\x18\x01 \x01(\x01\x42\x0e\xda\xb5\x18\x02Hz\xf0\xb5\x18\x02\xb0\xb5\x18\x01\x12\x1f\n\x07maximum\x18\x02 \x01(\x01\x42\x0e\xda\xb5\x18\x02Hz\xf0\xb5\x18\x02\xb0\xb5\x18\x01\x12<\n\x15reference_time_offset\x18\x03 \x01(\x01:\x01\x30\x42\x1a\xda\xb5\x18\x01s\xe2\xb5\x18\x02ms\xf0\xb5\x18\x01\xe9\xb5\x18\xfc\xa9\xf1\xd2MbP?\x1a\xa4\x03\n\x06\x46ilter\x12\x42\n\x1fmax_number_of_returns_per_point\x18\x01 \x01(\r:\x01\x31\x42\x16\x81\xb5\x18\x00\x00\x00\x00\x00\x00\xf0?\x89\xb5\x18\x00\x00\x00\x00\x00\x00\x08@\x12\x39\n\tintensity\x18\x02 \x01(\x0b\x32&.blickfeld.protocol.OptionalValueRange\x12\x43\n\x13\x61mbient_light_level\x18\x03 \x01(\x0b\x32&.blickfeld.protocol.OptionalValueRange\x12\x35\n\x05range\x18\x04 \x01(\x0b\x32&.blickfeld.protocol.OptionalValueRange\x12H\n\x05noise\x18\x05 \x01(\x0b\x32\x33.blickfeld.protocol.config.ScanPattern.Filter.NoiseB\x04\xb0\xb5\x18\x01\x1aU\n\x05Noise\x12&\n\x06offset\x18\x01 \x01(\rB\x16\x81\xb5\x18\x00\x00\x00\x00\x00\x00\x00\x00\x89\xb5\x18\x00\x00\x00\x00\x00\x00I@\x12$\n\x04gain\x18\x02 \x01(\x02\x42\x16\x81\xb5\x18\x00\x00\x00\x00\x00\x00\x00\x00\x89\xb5\x18\x00\x00\x00\x00\x00\x00\xe0?*\x04\x08\x05\x10\x06*\x04\x08\x06\x10\x07')
  ,
  dependencies=[blickfeld_dot_common__pb2.DESCRIPTOR,blickfeld_dot_options__pb2.DESCRIPTOR,])



_SCANPATTERN_PULSE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='blickfeld.protocol.config.ScanPattern.Pulse.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EQUI_HORIZONTAL_ANGLE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EQUI_DENSITY', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CUSTOM', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INTERLEAVE', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=982,
  serialized_end=1061,
)
_sym_db.RegisterEnumDescriptor(_SCANPATTERN_PULSE_TYPE)

_SCANPATTERN_PULSE_FRAMEMODE = _descriptor.EnumDescriptor(
  name='FrameMode',
  full_name='blickfeld.protocol.config.ScanPattern.Pulse.FrameMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COMBINE_UP_DOWN', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ONLY_UP', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ONLY_DOWN', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SEPARATE', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1063,
  serialized_end=1147,
)
_sym_db.RegisterEnumDescriptor(_SCANPATTERN_PULSE_FRAMEMODE)


_SCANPATTERN_HORIZONTAL = _descriptor.Descriptor(
  name='Horizontal',
  full_name='blickfeld.protocol.config.ScanPattern.Horizontal',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='fov', full_name='blickfeld.protocol.config.ScanPattern.Horizontal.fov', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\003rad\342\265\030\003deg\351\265\030\266\224c\032\334\245L@\360\265\030\002'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=516,
  serialized_end=572,
)

_SCANPATTERN_VERTICAL = _descriptor.Descriptor(
  name='Vertical',
  full_name='blickfeld.protocol.config.ScanPattern.Vertical',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='fov', full_name='blickfeld.protocol.config.ScanPattern.Vertical.fov', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\003rad\342\265\030\003deg\351\265\030\266\224c\032\334\245L@\360\265\030\002'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='scanlines_up', full_name='blickfeld.protocol.config.ScanPattern.Vertical.scanlines_up', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=40,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\201\265\030\000\000\000\000\000\000\360?'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='scanlines_down', full_name='blickfeld.protocol.config.ScanPattern.Vertical.scanlines_down', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=40,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\201\265\030\000\000\000\000\000\000\360?'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=575,
  serialized_end=709,
)

_SCANPATTERN_PULSE = _descriptor.Descriptor(
  name='Pulse',
  full_name='blickfeld.protocol.config.ScanPattern.Pulse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='angle_spacing', full_name='blickfeld.protocol.config.ScanPattern.Pulse.angle_spacing', index=0,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\003rad\342\265\030\003deg\351\265\030\266\224c\032\334\245L@\360\265\030\002'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='blickfeld.protocol.config.ScanPattern.Pulse.type', index=1,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=3,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frame_mode', full_name='blickfeld.protocol.config.ScanPattern.Pulse.frame_mode', index=2,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='distortion_correction', full_name='blickfeld.protocol.config.ScanPattern.Pulse.distortion_correction', index=3,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _SCANPATTERN_PULSE_TYPE,
    _SCANPATTERN_PULSE_FRAMEMODE,
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(1, 2), (6, 7), (7, 8), ],
  oneofs=[
  ],
  serialized_start=712,
  serialized_end=1174,
)

_SCANPATTERN_FRAMERATE = _descriptor.Descriptor(
  name='FrameRate',
  full_name='blickfeld.protocol.config.ScanPattern.FrameRate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='target', full_name='blickfeld.protocol.config.ScanPattern.FrameRate.target', index=0,
      number=1, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\002Hz\360\265\030\002\260\265\030\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='maximum', full_name='blickfeld.protocol.config.ScanPattern.FrameRate.maximum', index=1,
      number=2, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\002Hz\360\265\030\002\260\265\030\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='reference_time_offset', full_name='blickfeld.protocol.config.ScanPattern.FrameRate.reference_time_offset', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=True, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\332\265\030\001s\342\265\030\002ms\360\265\030\001\351\265\030\374\251\361\322MbP?'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1177,
  serialized_end=1315,
)

_SCANPATTERN_FILTER_NOISE = _descriptor.Descriptor(
  name='Noise',
  full_name='blickfeld.protocol.config.ScanPattern.Filter.Noise',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset', full_name='blickfeld.protocol.config.ScanPattern.Filter.Noise.offset', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\201\265\030\000\000\000\000\000\000\000\000\211\265\030\000\000\000\000\000\000I@'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gain', full_name='blickfeld.protocol.config.ScanPattern.Filter.Noise.gain', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\201\265\030\000\000\000\000\000\000\000\000\211\265\030\000\000\000\000\000\000\340?'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1653,
  serialized_end=1738,
)

_SCANPATTERN_FILTER = _descriptor.Descriptor(
  name='Filter',
  full_name='blickfeld.protocol.config.ScanPattern.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='max_number_of_returns_per_point', full_name='blickfeld.protocol.config.ScanPattern.Filter.max_number_of_returns_per_point', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\201\265\030\000\000\000\000\000\000\360?\211\265\030\000\000\000\000\000\000\010@'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='intensity', full_name='blickfeld.protocol.config.ScanPattern.Filter.intensity', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ambient_light_level', full_name='blickfeld.protocol.config.ScanPattern.Filter.ambient_light_level', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='range', full_name='blickfeld.protocol.config.ScanPattern.Filter.range', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='noise', full_name='blickfeld.protocol.config.ScanPattern.Filter.noise', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\260\265\030\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_SCANPATTERN_FILTER_NOISE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1318,
  serialized_end=1738,
)

_SCANPATTERN = _descriptor.Descriptor(
  name='ScanPattern',
  full_name='blickfeld.protocol.config.ScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='horizontal', full_name='blickfeld.protocol.config.ScanPattern.horizontal', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='vertical', full_name='blickfeld.protocol.config.ScanPattern.vertical', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pulse', full_name='blickfeld.protocol.config.ScanPattern.pulse', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frame_rate', full_name='blickfeld.protocol.config.ScanPattern.frame_rate', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='filter', full_name='blickfeld.protocol.config.ScanPattern.filter', index=4,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='constraints', full_name='blickfeld.protocol.config.ScanPattern.constraints', index=5,
      number=8, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_SCANPATTERN_HORIZONTAL, _SCANPATTERN_VERTICAL, _SCANPATTERN_PULSE, _SCANPATTERN_FRAMERATE, _SCANPATTERN_FILTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(5, 6), (6, 7), ],
  oneofs=[
  ],
  serialized_start=116,
  serialized_end=1750,
)

_SCANPATTERN_HORIZONTAL.containing_type = _SCANPATTERN
_SCANPATTERN_VERTICAL.containing_type = _SCANPATTERN
_SCANPATTERN_PULSE.fields_by_name['type'].enum_type = _SCANPATTERN_PULSE_TYPE
_SCANPATTERN_PULSE.fields_by_name['frame_mode'].enum_type = _SCANPATTERN_PULSE_FRAMEMODE
_SCANPATTERN_PULSE.containing_type = _SCANPATTERN
_SCANPATTERN_PULSE_TYPE.containing_type = _SCANPATTERN_PULSE
_SCANPATTERN_PULSE_FRAMEMODE.containing_type = _SCANPATTERN_PULSE
_SCANPATTERN_FRAMERATE.containing_type = _SCANPATTERN
_SCANPATTERN_FILTER_NOISE.containing_type = _SCANPATTERN_FILTER
_SCANPATTERN_FILTER.fields_by_name['intensity'].message_type = blickfeld_dot_common__pb2._OPTIONALVALUERANGE
_SCANPATTERN_FILTER.fields_by_name['ambient_light_level'].message_type = blickfeld_dot_common__pb2._OPTIONALVALUERANGE
_SCANPATTERN_FILTER.fields_by_name['range'].message_type = blickfeld_dot_common__pb2._OPTIONALVALUERANGE
_SCANPATTERN_FILTER.fields_by_name['noise'].message_type = _SCANPATTERN_FILTER_NOISE
_SCANPATTERN_FILTER.containing_type = _SCANPATTERN
_SCANPATTERN.fields_by_name['horizontal'].message_type = _SCANPATTERN_HORIZONTAL
_SCANPATTERN.fields_by_name['vertical'].message_type = _SCANPATTERN_VERTICAL
_SCANPATTERN.fields_by_name['pulse'].message_type = _SCANPATTERN_PULSE
_SCANPATTERN.fields_by_name['frame_rate'].message_type = _SCANPATTERN_FRAMERATE
_SCANPATTERN.fields_by_name['filter'].message_type = _SCANPATTERN_FILTER
_SCANPATTERN.fields_by_name['constraints'].message_type = blickfeld_dot_common__pb2._CONSTRAINT
DESCRIPTOR.message_types_by_name['ScanPattern'] = _SCANPATTERN
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ScanPattern = _reflection.GeneratedProtocolMessageType('ScanPattern', (_message.Message,), dict(

  Horizontal = _reflection.GeneratedProtocolMessageType('Horizontal', (_message.Message,), dict(
    DESCRIPTOR = _SCANPATTERN_HORIZONTAL,
    __module__ = 'blickfeld.config.scan_pattern_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.Horizontal)
    ))
  ,

  Vertical = _reflection.GeneratedProtocolMessageType('Vertical', (_message.Message,), dict(
    DESCRIPTOR = _SCANPATTERN_VERTICAL,
    __module__ = 'blickfeld.config.scan_pattern_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.Vertical)
    ))
  ,

  Pulse = _reflection.GeneratedProtocolMessageType('Pulse', (_message.Message,), dict(
    DESCRIPTOR = _SCANPATTERN_PULSE,
    __module__ = 'blickfeld.config.scan_pattern_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.Pulse)
    ))
  ,

  FrameRate = _reflection.GeneratedProtocolMessageType('FrameRate', (_message.Message,), dict(
    DESCRIPTOR = _SCANPATTERN_FRAMERATE,
    __module__ = 'blickfeld.config.scan_pattern_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.FrameRate)
    ))
  ,

  Filter = _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), dict(

    Noise = _reflection.GeneratedProtocolMessageType('Noise', (_message.Message,), dict(
      DESCRIPTOR = _SCANPATTERN_FILTER_NOISE,
      __module__ = 'blickfeld.config.scan_pattern_pb2'
      # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.Filter.Noise)
      ))
    ,
    DESCRIPTOR = _SCANPATTERN_FILTER,
    __module__ = 'blickfeld.config.scan_pattern_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern.Filter)
    ))
  ,
  DESCRIPTOR = _SCANPATTERN,
  __module__ = 'blickfeld.config.scan_pattern_pb2'
  # @@protoc_insertion_point(class_scope:blickfeld.protocol.config.ScanPattern)
  ))
_sym_db.RegisterMessage(ScanPattern)
_sym_db.RegisterMessage(ScanPattern.Horizontal)
_sym_db.RegisterMessage(ScanPattern.Vertical)
_sym_db.RegisterMessage(ScanPattern.Pulse)
_sym_db.RegisterMessage(ScanPattern.FrameRate)
_sym_db.RegisterMessage(ScanPattern.Filter)
_sym_db.RegisterMessage(ScanPattern.Filter.Noise)


_SCANPATTERN_HORIZONTAL.fields_by_name['fov']._options = None
_SCANPATTERN_VERTICAL.fields_by_name['fov']._options = None
_SCANPATTERN_VERTICAL.fields_by_name['scanlines_up']._options = None
_SCANPATTERN_VERTICAL.fields_by_name['scanlines_down']._options = None
_SCANPATTERN_PULSE.fields_by_name['angle_spacing']._options = None
_SCANPATTERN_FRAMERATE.fields_by_name['target']._options = None
_SCANPATTERN_FRAMERATE.fields_by_name['maximum']._options = None
_SCANPATTERN_FRAMERATE.fields_by_name['reference_time_offset']._options = None
_SCANPATTERN_FILTER_NOISE.fields_by_name['offset']._options = None
_SCANPATTERN_FILTER_NOISE.fields_by_name['gain']._options = None
_SCANPATTERN_FILTER.fields_by_name['max_number_of_returns_per_point']._options = None
_SCANPATTERN_FILTER.fields_by_name['noise']._options = None
# @@protoc_insertion_point(module_scope)
