...

Text file src/github.com/google/flatbuffers/tests/MyGame/Example/ArrayStruct.py

Documentation: github.com/google/flatbuffers/tests/MyGame/Example

     1# automatically generated by the FlatBuffers compiler, do not modify
     2
     3# namespace: Example
     4
     5import flatbuffers
     6from flatbuffers.compat import import_numpy
     7from typing import Any
     8from MyGame.Example.NestedStruct import NestedStruct
     9np = import_numpy()
    10
    11class ArrayStruct(object):
    12    __slots__ = ['_tab']
    13
    14    @classmethod
    15    def SizeOf(cls) -> int:
    16        return 160
    17
    18    # ArrayStruct
    19    def Init(self, buf: bytes, pos: int):
    20        self._tab = flatbuffers.table.Table(buf, pos)
    21
    22    # ArrayStruct
    23    def A(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
    24    # ArrayStruct
    25    def B(self, j = None):
    26        if j is None:
    27            return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4 + i * 4)) for i in range(self.BLength())]
    28        elif j >= 0 and j < self.BLength():
    29            return self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4 + j * 4))
    30        else:
    31            return None
    32
    33    # ArrayStruct
    34    def BAsNumpy(self):
    35        return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int32Flags, self._tab.Pos + 4, self.BLength())
    36
    37    # ArrayStruct
    38    def BLength(self) -> int:
    39        return 15
    40
    41    # ArrayStruct
    42    def BIsNone(self) -> bool:
    43        return False
    44
    45    # ArrayStruct
    46    def C(self): return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(64))
    47    # ArrayStruct
    48    def D(self, i: int) -> NestedStruct:
    49        obj = NestedStruct()
    50        obj.Init(self._tab.Bytes, self._tab.Pos + 72 + i * 32)
    51        return obj
    52
    53    # ArrayStruct
    54    def DLength(self) -> int:
    55        return 2
    56
    57    # ArrayStruct
    58    def DIsNone(self) -> bool:
    59        return False
    60
    61    # ArrayStruct
    62    def E(self): return self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(136))
    63    # ArrayStruct
    64    def F(self, j = None):
    65        if j is None:
    66            return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(144 + i * 8)) for i in range(self.FLength())]
    67        elif j >= 0 and j < self.FLength():
    68            return self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(144 + j * 8))
    69        else:
    70            return None
    71
    72    # ArrayStruct
    73    def FAsNumpy(self):
    74        return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int64Flags, self._tab.Pos + 144, self.FLength())
    75
    76    # ArrayStruct
    77    def FLength(self) -> int:
    78        return 2
    79
    80    # ArrayStruct
    81    def FIsNone(self) -> bool:
    82        return False
    83
    84
    85def CreateArrayStruct(builder, a, b, c, d_a, d_b, d_c, d_d, e, f):
    86    builder.Prep(8, 160)
    87    for _idx0 in range(2 , 0, -1):
    88        builder.PrependInt64(f[_idx0-1])
    89    builder.Pad(4)
    90    builder.PrependInt32(e)
    91    for _idx0 in range(2 , 0, -1):
    92        builder.Prep(8, 32)
    93        for _idx1 in range(2 , 0, -1):
    94            builder.PrependInt64(d_d[_idx0-1][_idx1-1])
    95        builder.Pad(5)
    96        for _idx1 in range(2 , 0, -1):
    97            builder.PrependInt8(d_c[_idx0-1][_idx1-1])
    98        builder.PrependInt8(d_b[_idx0-1])
    99        for _idx1 in range(2 , 0, -1):
   100            builder.PrependInt32(d_a[_idx0-1][_idx1-1])
   101    builder.Pad(7)
   102    builder.PrependInt8(c)
   103    for _idx0 in range(15 , 0, -1):
   104        builder.PrependInt32(b[_idx0-1])
   105    builder.PrependFloat32(a)
   106    return builder.Offset()
   107
   108import MyGame.Example.NestedStruct
   109try:
   110    from typing import List
   111except:
   112    pass
   113
   114class ArrayStructT(object):
   115
   116    # ArrayStructT
   117    def __init__(self):
   118        self.a = 0.0  # type: float
   119        self.b = None  # type: List[int]
   120        self.c = 0  # type: int
   121        self.d = None  # type: List[MyGame.Example.NestedStruct.NestedStructT]
   122        self.e = 0  # type: int
   123        self.f = None  # type: List[int]
   124
   125    @classmethod
   126    def InitFromBuf(cls, buf, pos):
   127        arrayStruct = ArrayStruct()
   128        arrayStruct.Init(buf, pos)
   129        return cls.InitFromObj(arrayStruct)
   130
   131    @classmethod
   132    def InitFromPackedBuf(cls, buf, pos=0):
   133        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
   134        return cls.InitFromBuf(buf, pos+n)
   135
   136    @classmethod
   137    def InitFromObj(cls, arrayStruct):
   138        x = ArrayStructT()
   139        x._UnPack(arrayStruct)
   140        return x
   141
   142    # ArrayStructT
   143    def _UnPack(self, arrayStruct):
   144        if arrayStruct is None:
   145            return
   146        self.a = arrayStruct.A()
   147        if not arrayStruct.BIsNone():
   148            if np is None:
   149                self.b = []
   150                for i in range(arrayStruct.BLength()):
   151                    self.b.append(arrayStruct.B(i))
   152            else:
   153                self.b = arrayStruct.BAsNumpy()
   154        self.c = arrayStruct.C()
   155        if not arrayStruct.DIsNone():
   156            self.d = []
   157            for i in range(arrayStruct.DLength()):
   158                if arrayStruct.D(i) is None:
   159                    self.d.append(None)
   160                else:
   161                    nestedStruct_ = MyGame.Example.NestedStruct.NestedStructT.InitFromObj(arrayStruct.D(i))
   162                    self.d.append(nestedStruct_)
   163        self.e = arrayStruct.E()
   164        if not arrayStruct.FIsNone():
   165            if np is None:
   166                self.f = []
   167                for i in range(arrayStruct.FLength()):
   168                    self.f.append(arrayStruct.F(i))
   169            else:
   170                self.f = arrayStruct.FAsNumpy()
   171
   172    # ArrayStructT
   173    def Pack(self, builder):
   174        return CreateArrayStruct(builder, self.a, self.b, self.c, self.d.a, self.d.b, self.d.c, self.d.d, self.e, self.f)

View as plain text