xref: /aosp_15_r20/external/flatbuffers/tests/MyGame/Example/ArrayStruct.py (revision 890232f25432b36107d06881e0a25aaa6b473652)
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