| 2608 | |
| 2609 | # Get the struct value (begin phase) |
| 2610 | def get_begin(self): |
| 2611 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 2612 | return 0 |
| 2613 | |
| 2614 | fbe_struct_offset = self.read_uint32(self.fbe_offset) |
| 2615 | assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + 4 + 4) <= self._buffer.size), "Model is broken!" |
| 2616 | if (fbe_struct_offset == 0) or ((self._buffer.offset + fbe_struct_offset + 4 + 4) > self._buffer.size): |
| 2617 | return 0 |
| 2618 | |
| 2619 | fbe_struct_size = self.read_uint32(fbe_struct_offset) |
| 2620 | assert (fbe_struct_size >= (4 + 4)), "Model is broken!" |
| 2621 | if fbe_struct_size < (4 + 4): |
| 2622 | return 0 |
| 2623 | |
| 2624 | self._buffer.shift(fbe_struct_offset) |
| 2625 | return fbe_struct_offset |
| 2626 | |
| 2627 | # Get the struct value (end phase) |
| 2628 | def get_end(self, fbe_begin): |