class PoseMsg(): id = 0x10 length = 4 def __init__(self, network_id, thing): self.network_id = network_id self.thing = thing def Serialize(self, buffer_ref): if (self.network_id is None) or (self.thing is None): return 0 buffer: bytearray = buffer_ref[0] buffer[0:PoseMsg.length] = [ PoseMsg.id, self.network_id, self.thing.id, self.thing.pose_updated ] ix = [4] if self.thing.pose_updated & Thing.Position: LowLevelMessages.SendSpherical(buffer, ix, self.thing.position) if self.thing.pose_updated & Thing.Orientation: LowLevelMessages.SendQuat32(buffer, ix, self.thing.orientation) if self.thing.pose_updated & Thing.LinearVelocity: LowLevelMessages.SendSpherical(buffer, ix, self.thing.linearVelocity) if self.thing.pose_updated & Thing.AngularVelocity: LowLevelMessages.SendSpherical(buffer, ix, self.thing.angularVelocity) return ix[0]