"""
Autogenerated python message buffer code.
Source: clad/types/objectTypes.clad
Full command line: victor-clad/tools/message-buffers/emitters/Python_emitter.py -C src -I clad/src lib/util/source/anki/clad robot/clad/src coretech/vision/clad_src coretech/common/clad_src -o generated/cladPython clad/types/objectTypes.clad
"""

from __future__ import absolute_import
from __future__ import print_function

def _modify_path():
  import inspect, os, sys
  search_paths = [
    '../..',
    '../../../../victor-clad/tools/message-buffers/support/python',
  ]
  currentpath = os.path.abspath(os.path.dirname(inspect.getfile(inspect.currentframe())))
  for search_path in search_paths:
    search_path = os.path.normpath(os.path.abspath(os.path.realpath(os.path.join(currentpath, search_path))))
    if search_path not in sys.path:
      sys.path.insert(0, search_path)
_modify_path()

import msgbuffers

Anki = msgbuffers.Namespace()
Anki.Vector = msgbuffers.Namespace()

class ObjectType(object):
  "Automatically-generated int_32 enumeration."
  UnknownObject         = 0
  Block_LIGHTCUBE1      = 1
  Block_LIGHTCUBE2      = 2
  Block_LIGHTCUBE3      = 3
  Block_LIGHTCUBE_GHOST = 4
  Charger_Basic         = 5
  CustomType00          = 14
  CustomType01          = 15
  CustomType02          = 16
  CustomType03          = 17
  CustomType04          = 18
  CustomType05          = 19
  CustomType06          = 20
  CustomType07          = 21
  CustomType08          = 22
  CustomType09          = 23
  CustomType10          = 24
  CustomType11          = 25
  CustomType12          = 26
  CustomType13          = 27
  CustomType14          = 28
  CustomType15          = 29
  CustomType16          = 30
  CustomType17          = 31
  CustomType18          = 32
  CustomType19          = 33
  CustomFixedObstacle   = 34

Anki.Vector.ObjectType = ObjectType
del ObjectType


def IsValidLightCube(objectType, defaultValue):
  return {
    ObjectType.UnknownObject: 0,
    ObjectType.Block_LIGHTCUBE1: 1,
    ObjectType.Block_LIGHTCUBE2: 1,
    ObjectType.Block_LIGHTCUBE3: 1,
    ObjectType.Block_LIGHTCUBE_GHOST: 0,
    ObjectType.Charger_Basic: 0,
    ObjectType.CustomType00: 0,
    ObjectType.CustomType01: 0,
    ObjectType.CustomType02: 0,
    ObjectType.CustomType03: 0,
    ObjectType.CustomType04: 0,
    ObjectType.CustomType05: 0,
    ObjectType.CustomType06: 0,
    ObjectType.CustomType07: 0,
    ObjectType.CustomType08: 0,
    ObjectType.CustomType09: 0,
    ObjectType.CustomType10: 0,
    ObjectType.CustomType11: 0,
    ObjectType.CustomType12: 0,
    ObjectType.CustomType13: 0,
    ObjectType.CustomType14: 0,
    ObjectType.CustomType15: 0,
    ObjectType.CustomType16: 0,
    ObjectType.CustomType17: 0,
    ObjectType.CustomType18: 0,
    ObjectType.CustomType19: 0,
    ObjectType.CustomFixedObstacle: 0,
    }.get(objectType, defaultValue)
Anki.Vector.IsValidLightCube = IsValidLightCube
del IsValidLightCube


def IsBlockType(objectType, defaultValue):
  return {
    ObjectType.UnknownObject: 0,
    ObjectType.Block_LIGHTCUBE1: 1,
    ObjectType.Block_LIGHTCUBE2: 1,
    ObjectType.Block_LIGHTCUBE3: 1,
    ObjectType.Block_LIGHTCUBE_GHOST: 1,
    ObjectType.Charger_Basic: 0,
    ObjectType.CustomType00: 0,
    ObjectType.CustomType01: 0,
    ObjectType.CustomType02: 0,
    ObjectType.CustomType03: 0,
    ObjectType.CustomType04: 0,
    ObjectType.CustomType05: 0,
    ObjectType.CustomType06: 0,
    ObjectType.CustomType07: 0,
    ObjectType.CustomType08: 0,
    ObjectType.CustomType09: 0,
    ObjectType.CustomType10: 0,
    ObjectType.CustomType11: 0,
    ObjectType.CustomType12: 0,
    ObjectType.CustomType13: 0,
    ObjectType.CustomType14: 0,
    ObjectType.CustomType15: 0,
    ObjectType.CustomType16: 0,
    ObjectType.CustomType17: 0,
    ObjectType.CustomType18: 0,
    ObjectType.CustomType19: 0,
    ObjectType.CustomFixedObstacle: 0,
    }.get(objectType, defaultValue)
Anki.Vector.IsBlockType = IsBlockType
del IsBlockType


def IsChargerType(objectType, defaultValue):
  return {
    ObjectType.UnknownObject: 0,
    ObjectType.Block_LIGHTCUBE1: 0,
    ObjectType.Block_LIGHTCUBE2: 0,
    ObjectType.Block_LIGHTCUBE3: 0,
    ObjectType.Block_LIGHTCUBE_GHOST: 0,
    ObjectType.Charger_Basic: 1,
    ObjectType.CustomType00: 0,
    ObjectType.CustomType01: 0,
    ObjectType.CustomType02: 0,
    ObjectType.CustomType03: 0,
    ObjectType.CustomType04: 0,
    ObjectType.CustomType05: 0,
    ObjectType.CustomType06: 0,
    ObjectType.CustomType07: 0,
    ObjectType.CustomType08: 0,
    ObjectType.CustomType09: 0,
    ObjectType.CustomType10: 0,
    ObjectType.CustomType11: 0,
    ObjectType.CustomType12: 0,
    ObjectType.CustomType13: 0,
    ObjectType.CustomType14: 0,
    ObjectType.CustomType15: 0,
    ObjectType.CustomType16: 0,
    ObjectType.CustomType17: 0,
    ObjectType.CustomType18: 0,
    ObjectType.CustomType19: 0,
    ObjectType.CustomFixedObstacle: 0,
    }.get(objectType, defaultValue)
Anki.Vector.IsChargerType = IsChargerType
del IsChargerType


def IsCustomType(objectType, defaultValue):
  return {
    ObjectType.UnknownObject: 0,
    ObjectType.Block_LIGHTCUBE1: 0,
    ObjectType.Block_LIGHTCUBE2: 0,
    ObjectType.Block_LIGHTCUBE3: 0,
    ObjectType.Block_LIGHTCUBE_GHOST: 0,
    ObjectType.Charger_Basic: 0,
    ObjectType.CustomType00: 1,
    ObjectType.CustomType01: 1,
    ObjectType.CustomType02: 1,
    ObjectType.CustomType03: 1,
    ObjectType.CustomType04: 1,
    ObjectType.CustomType05: 1,
    ObjectType.CustomType06: 1,
    ObjectType.CustomType07: 1,
    ObjectType.CustomType08: 1,
    ObjectType.CustomType09: 1,
    ObjectType.CustomType10: 1,
    ObjectType.CustomType11: 1,
    ObjectType.CustomType12: 1,
    ObjectType.CustomType13: 1,
    ObjectType.CustomType14: 1,
    ObjectType.CustomType15: 1,
    ObjectType.CustomType16: 1,
    ObjectType.CustomType17: 1,
    ObjectType.CustomType18: 1,
    ObjectType.CustomType19: 1,
    ObjectType.CustomFixedObstacle: 1,
    }.get(objectType, defaultValue)
Anki.Vector.IsCustomType = IsCustomType
del IsCustomType


class ObjectFamily(object):
  "Automatically-generated int_32 enumeration."
  Invalid      = -1
  Unknown      = 0
  Block        = 1
  LightCube    = 2
  Charger      = 3
  CustomObject = 6

Anki.Vector.ObjectFamily = ObjectFamily
del ObjectFamily


