import json def from_str(x): assert isinstance(x, str) return x def from_none(x): assert x is None return x def from_union(fs, x): for f in fs: try: return f(x) except: pass assert False def to_class(c, x): assert isinstance(x, c) return x.to_dict() class SdfGeometryModel: def __init__( self, name, ixx, ixy, ixz, iyy, izz, massSDF, posX, posY, posZ, eulerX, eulerY, eulerZ, iyz, stl, friction, centerMassX, centerMassY, centerMassZ, ): self.name = name self.ixx = ixx self.ixy = ixy self.ixz = ixz self.iyy = iyy self.izz = izz self.massSDF = massSDF self.posX = posX self.posY = posY self.posZ = posZ self.eulerX = eulerX self.eulerY = eulerY self.eulerZ = eulerZ self.iyz = iyz self.stl = stl self.friction = friction self.centerMassX = centerMassX self.centerMassY = centerMassY self.centerMassZ = centerMassZ @staticmethod def from_dict(obj): assert isinstance(obj, dict) name = from_union([from_str, from_none], obj.get("name")) ixx = from_union([from_str, from_none], obj.get("ixx")) ixy = from_union([from_str, from_none], obj.get("ixy")) ixz = from_union([from_str, from_none], obj.get("ixz")) iyy = from_union([from_str, from_none], obj.get("iyy")) izz = from_union([from_str, from_none], obj.get("izz")) massSDF = from_union([from_str, from_none], obj.get("massSDF")) posX = from_union([from_str, from_none], obj.get("posX")) posY = from_union([from_str, from_none], obj.get("posY")) posZ = from_union([from_str, from_none], obj.get("posZ")) eulerX = from_union([from_str, from_none], obj.get("eulerX")) eulerY = from_union([from_str, from_none], obj.get("eulerY")) eulerZ = from_union([from_str, from_none], obj.get("eulerZ")) iyz = from_union([from_str, from_none], obj.get("iyz")) stl = from_union([from_str, from_none], obj.get("stl")) friction = from_union([from_str, from_none], obj.get("friction")) centerMassX = from_union([from_str, from_none], obj.get("centerMassX")) centerMassY = from_union([from_str, from_none], obj.get("centerMassY")) centerMassZ = from_union([from_str, from_none], obj.get("centerMassZ")) return SdfGeometryModel( name, ixx, ixy, ixz, iyy, izz, massSDF, posX, posY, posZ, eulerX, eulerY, eulerZ, iyz, stl, friction, centerMassX, centerMassY, centerMassZ, ) def to_dict(self): result = {} if self.name is not None: result["name"] = from_union([from_str, from_none], self.name) if self.ixx is not None: result["ixx"] = from_union([from_str, from_none], self.ixx) if self.ixy is not None: result["ixy"] = from_union([from_str, from_none], self.ixy) if self.ixz is not None: result["ixz"] = from_union([from_str, from_none], self.ixz) if self.iyy is not None: result["iyy"] = from_union([from_str, from_none], self.iyy) if self.izz is not None: result["izz"] = from_union([from_str, from_none], self.izz) if self.massSDF is not None: result["massSDF"] = from_union([from_str, from_none], self.massSDF) if self.posX is not None: result["posX"] = from_union([from_str, from_none], self.posX) if self.posY is not None: result["posY"] = from_union([from_str, from_none], self.posY) if self.posZ is not None: result["posZ"] = from_union([from_str, from_none], self.posZ) if self.eulerX is not None: result["eulerX"] = from_union([from_str, from_none], self.eulerX) if self.eulerY is not None: result["eulerY"] = from_union([from_str, from_none], self.eulerY) if self.eulerZ is not None: result["eulerZ"] = from_union([from_str, from_none], self.eulerZ) if self.iyz is not None: result["iyz"] = from_union([from_str, from_none], self.iyz) if self.stl is not None: result["stl"] = from_union([from_str, from_none], self.stl) if self.friction is not None: result["friction"] = from_union([from_str, from_none], self.eulerZ) if self.centerMassX is not None: result["centerMassX"] = from_union([from_str, from_none], self.centerMassX) if self.centerMassY is not None: result["centerMassY"] = from_union([from_str, from_none], self.centerMassY) if self.centerMassZ is not None: result["centerMassZ"] = from_union([from_str, from_none], self.centerMassZ) return result def toJSON(self) -> str: return str(self.to_dict()).replace("'", '"')