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