blob: 9a3cbee22500b2f2216e6c14de257b5bff07d6e9 [file] [log] [blame]
James Kuszmaul3b15b0c2022-11-08 14:03:16 -08001# automatically generated by the FlatBuffers compiler, do not modify
2
3# namespace: NestedUnion
4
5import flatbuffers
6from flatbuffers.compat import import_numpy
7np = import_numpy()
8
9class NestedUnionTest(object):
10 __slots__ = ['_tab']
11
12 @classmethod
13 def GetRootAs(cls, buf, offset=0):
14 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15 x = NestedUnionTest()
16 x.Init(buf, n + offset)
17 return x
18
19 @classmethod
20 def GetRootAsNestedUnionTest(cls, buf, offset=0):
21 """This method is deprecated. Please switch to GetRootAs."""
22 return cls.GetRootAs(buf, offset)
23 # NestedUnionTest
24 def Init(self, buf, pos):
25 self._tab = flatbuffers.table.Table(buf, pos)
26
27 # NestedUnionTest
28 def Name(self):
29 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
30 if o != 0:
31 return self._tab.String(o + self._tab.Pos)
32 return None
33
34 # NestedUnionTest
35 def DataType(self):
36 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
37 if o != 0:
38 return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
39 return 0
40
41 # NestedUnionTest
42 def Data(self):
43 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
44 if o != 0:
45 from flatbuffers.table import Table
46 obj = Table(bytearray(), 0)
47 self._tab.Union(obj, o)
48 return obj
49 return None
50
51 # NestedUnionTest
52 def Id(self):
53 o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
54 if o != 0:
55 return self._tab.Get(flatbuffers.number_types.Int16Flags, o + self._tab.Pos)
56 return 0
57
58def NestedUnionTestStart(builder): builder.StartObject(4)
59def Start(builder):
60 return NestedUnionTestStart(builder)
61def NestedUnionTestAddName(builder, name): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
62def AddName(builder, name):
63 return NestedUnionTestAddName(builder, name)
64def NestedUnionTestAddDataType(builder, dataType): builder.PrependUint8Slot(1, dataType, 0)
65def AddDataType(builder, dataType):
66 return NestedUnionTestAddDataType(builder, dataType)
67def NestedUnionTestAddData(builder, data): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(data), 0)
68def AddData(builder, data):
69 return NestedUnionTestAddData(builder, data)
70def NestedUnionTestAddId(builder, id): builder.PrependInt16Slot(3, id, 0)
71def AddId(builder, id):
72 return NestedUnionTestAddId(builder, id)
73def NestedUnionTestEnd(builder): return builder.EndObject()
74def End(builder):
75 return NestedUnionTestEnd(builder)
76import MyGame.Example.NestedUnion.Any
77import MyGame.Example.NestedUnion.TestSimpleTableWithEnum
78import MyGame.Example.NestedUnion.Vec3
79try:
80 from typing import Union
81except:
82 pass
83
84class NestedUnionTestT(object):
85
86 # NestedUnionTestT
87 def __init__(self):
88 self.name = None # type: str
89 self.dataType = 0 # type: int
90 self.data = None # type: Union[None, MyGame.Example.NestedUnion.Vec3.Vec3T, MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT]
91 self.id = 0 # type: int
92
93 @classmethod
94 def InitFromBuf(cls, buf, pos):
95 nestedUnionTest = NestedUnionTest()
96 nestedUnionTest.Init(buf, pos)
97 return cls.InitFromObj(nestedUnionTest)
98
99 @classmethod
100 def InitFromPackedBuf(cls, buf, pos=0):
101 n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
102 return cls.InitFromBuf(buf, pos+n)
103
104 @classmethod
105 def InitFromObj(cls, nestedUnionTest):
106 x = NestedUnionTestT()
107 x._UnPack(nestedUnionTest)
108 return x
109
110 # NestedUnionTestT
111 def _UnPack(self, nestedUnionTest):
112 if nestedUnionTest is None:
113 return
114 self.name = nestedUnionTest.Name()
115 self.dataType = nestedUnionTest.DataType()
116 self.data = MyGame.Example.NestedUnion.Any.AnyCreator(self.dataType, nestedUnionTest.Data())
117 self.id = nestedUnionTest.Id()
118
119 # NestedUnionTestT
120 def Pack(self, builder):
121 if self.name is not None:
122 name = builder.CreateString(self.name)
123 if self.data is not None:
124 data = self.data.Pack(builder)
125 NestedUnionTestStart(builder)
126 if self.name is not None:
127 NestedUnionTestAddName(builder, name)
128 NestedUnionTestAddDataType(builder, self.dataType)
129 if self.data is not None:
130 NestedUnionTestAddData(builder, data)
131 NestedUnionTestAddId(builder, self.id)
132 nestedUnionTest = NestedUnionTestEnd(builder)
133 return nestedUnionTest