text: # automatically generated by the FlatBuffers compiler, do not modify
  
  # namespace: DeepSeaScene
  
  import flatbuffers
  from flatbuffers.compat import import_numpy
  np = import_numpy()
  
  class Scene(object):
      __slots__ = ['_tab']
  
      @classmethod
      def GetRootAs(cls, buf, offset=0):
          n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
          x = Scene()
          x.Init(buf, n + offset)
          return x
  
      @classmethod
      def GetRootAsScene(cls, buf, offset=0):
          """This method is deprecated. Please switch to GetRootAs."""
          return cls.GetRootAs(buf, offset)
      # Scene
      def Init(self, buf, pos):
          self._tab = flatbuffers.table.Table(buf, pos)
  
      # Scene
      def SharedItems(self, j):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
          if o != 0:
              x = self._tab.Vector(o)
              x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
              x = self._tab.Indirect(x)
              from DeepSeaScene.SceneItemLists import SceneItemLists
              obj = SceneItemLists()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
      # Scene
      def SharedItemsLength(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
          if o != 0:
              return self._tab.VectorLen(o)
          return 0
  
      # Scene
      def SharedItemsIsNone(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
          return o == 0
  
      # Scene
      def Pipeline(self, j):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
          if o != 0:
              x = self._tab.Vector(o)
              x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
              x = self._tab.Indirect(x)
              from DeepSeaScene.ScenePipelineItem import ScenePipelineItem
              obj = ScenePipelineItem()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
      # Scene
      def PipelineLength(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
          if o != 0:
              return self._tab.VectorLen(o)
          return 0
  
      # Scene
      def PipelineIsNone(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
          return o == 0
  
      # Scene
      def GlobalData(self, j):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
          if o != 0:
              x = self._tab.Vector(o)
              x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
              x = self._tab.Indirect(x)
              from DeepSeaScene.ObjectData import ObjectData
              obj = ObjectData()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
      # Scene
      def GlobalDataLength(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
          if o != 0:
              return self._tab.VectorLen(o)
          return 0
  
      # Scene
      def GlobalDataIsNone(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
          return o == 0
  
      # Scene
      def Nodes(self, j):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
          if o != 0:
              a = self._tab.Vector(o)
              return self._tab.String(a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
          return ""
  
      # Scene
      def NodesLength(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
          if o != 0:
              return self._tab.VectorLen(o)
          return 0
  
      # Scene
      def NodesIsNone(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
          return o == 0
  
  def Start(builder): builder.StartObject(4)
  def SceneStart(builder):
      """This method is deprecated. Please switch to Start."""
      return Start(builder)
  def AddSharedItems(builder, sharedItems): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(sharedItems), 0)
  def SceneAddSharedItems(builder, sharedItems):
      """This method is deprecated. Please switch to AddSharedItems."""
      return AddSharedItems(builder, sharedItems)
  def StartSharedItemsVector(builder, numElems): return builder.StartVector(4, numElems, 4)
  def SceneStartSharedItemsVector(builder, numElems):
      """This method is deprecated. Please switch to Start."""
      return StartSharedItemsVector(builder, numElems)
  def AddPipeline(builder, pipeline): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(pipeline), 0)
  def SceneAddPipeline(builder, pipeline):
      """This method is deprecated. Please switch to AddPipeline."""
      return AddPipeline(builder, pipeline)
  def StartPipelineVector(builder, numElems): return builder.StartVector(4, numElems, 4)
  def SceneStartPipelineVector(builder, numElems):
      """This method is deprecated. Please switch to Start."""
      return StartPipelineVector(builder, numElems)
  def AddGlobalData(builder, globalData): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(globalData), 0)
  def SceneAddGlobalData(builder, globalData):
      """This method is deprecated. Please switch to AddGlobalData."""
      return AddGlobalData(builder, globalData)
  def StartGlobalDataVector(builder, numElems): return builder.StartVector(4, numElems, 4)
  def SceneStartGlobalDataVector(builder, numElems):
      """This method is deprecated. Please switch to Start."""
      return StartGlobalDataVector(builder, numElems)
  def AddNodes(builder, nodes): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(nodes), 0)
  def SceneAddNodes(builder, nodes):
      """This method is deprecated. Please switch to AddNodes."""
      return AddNodes(builder, nodes)
  def StartNodesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
  def SceneStartNodesVector(builder, numElems):
      """This method is deprecated. Please switch to Start."""
      return StartNodesVector(builder, numElems)
  def End(builder): return builder.EndObject()
  def SceneEnd(builder):
      """This method is deprecated. Please switch to End."""
      return End(builder)