Beispiel #1
0
    def __setstate__(self, attributes):
        bin_parser = BinaryParser(attributes["geom"])
        is_circle = bin_parser.read_byte()
        geom_bytes = attributes["geom"]

        if is_circle:
            radius = bin_parser.read_double()
            geom = bin_parser.read_geometry(geom_bytes.__len__() - 9)
            self._geom = Circle(geom, radius)
        else:
            self._geom = bin_parser.read_geometry(geom_bytes.__len__() - 1)

        self._userData = attributes["userData"]
Beispiel #2
0
 def geometry_from_bytes(cls, bin_parser: BinaryParser) -> GeoData:
     geom, user_data = read_geometry_from_bytes(bin_parser)
     radius = bin_parser.read_double()
     geo_data = GeoData(geom=Circle(geom, radius), userData=user_data)
     return geo_data