text: # automatically generated by the FlatBuffers compiler, do not modify
  
  # namespace: FBOutput
  
  import tdw.flatbuffers
  
  class StaticRobotJoint(object):
      __slots__ = ['_tab']
  
      @classmethod
      def GetRootAsStaticRobotJoint(cls, buf, offset):
          n = tdw.flatbuffers.encode.Get(tdw.flatbuffers.packer.uoffset, buf, offset)
          x = StaticRobotJoint()
          x.Init(buf, n + offset)
          return x
  
      # StaticRobotJoint
      def Init(self, buf, pos):
          self._tab = tdw.flatbuffers.table.Table(buf, pos)
  
      # StaticRobotJoint
      def Id(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
          if o != 0:
              return self._tab.Get(tdw.flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
          return 0
  
      # StaticRobotJoint
      def SegmentationColor(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
          if o != 0:
              x = o + self._tab.Pos
              from .Color import Color
              obj = Color()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
      # StaticRobotJoint
      def Mass(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
          if o != 0:
              return self._tab.Get(tdw.flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
          return 0.0
  
      # StaticRobotJoint
      def Immovable(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
          if o != 0:
              return bool(self._tab.Get(tdw.flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
          return False
  
      # StaticRobotJoint
      def Root(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
          if o != 0:
              return bool(self._tab.Get(tdw.flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
          return False
  
      # StaticRobotJoint
      def ParentId(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
          if o != 0:
              return self._tab.Get(tdw.flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
          return 0
  
      # StaticRobotJoint
      def JointType(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
          if o != 0:
              return self._tab.Get(tdw.flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
          return 1
  
      # StaticRobotJoint
      def Name(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
          if o != 0:
              return self._tab.String(o + self._tab.Pos)
          return None
  
      # StaticRobotJoint
      def Drives(self, j):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
          if o != 0:
              x = self._tab.Vector(o)
              x += tdw.flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
              x = self._tab.Indirect(x)
              from .JointDrive import JointDrive
              obj = JointDrive()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
      # StaticRobotJoint
      def DrivesLength(self):
          o = tdw.flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
          if o != 0:
              return self._tab.VectorLen(o)
          return 0
  
  def StaticRobotJointStart(builder): builder.StartObject(9)
  def StaticRobotJointAddId(builder, id): builder.PrependInt32Slot(0, id, 0)
  def StaticRobotJointAddSegmentationColor(builder, segmentationColor): builder.PrependStructSlot(1, tdw.flatbuffers.number_types.UOffsetTFlags.py_type(segmentationColor), 0)
  def StaticRobotJointAddMass(builder, mass): builder.PrependFloat32Slot(2, mass, 0.0)
  def StaticRobotJointAddImmovable(builder, immovable): builder.PrependBoolSlot(3, immovable, 0)
  def StaticRobotJointAddRoot(builder, root): builder.PrependBoolSlot(4, root, 0)
  def StaticRobotJointAddParentId(builder, parentId): builder.PrependInt32Slot(5, parentId, 0)
  def StaticRobotJointAddJointType(builder, jointType): builder.PrependUint8Slot(6, jointType, 1)
  def StaticRobotJointAddName(builder, name): builder.PrependUOffsetTRelativeSlot(7, tdw.flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
  def StaticRobotJointAddDrives(builder, drives): builder.PrependUOffsetTRelativeSlot(8, tdw.flatbuffers.number_types.UOffsetTFlags.py_type(drives), 0)
  def StaticRobotJointStartDrivesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
  def StaticRobotJointEnd(builder): return builder.EndObject()
  