$search
00001 """autogenerated by genmsg_py from Quaternion.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 00006 class Quaternion(roslib.message.Message): 00007 _md5sum = "a779879fadf0160734f906b8c19c7004" 00008 _type = "geometry_msgs/Quaternion" 00009 _has_header = False #flag to mark the presence of a Header object 00010 _full_text = """# This represents an orientation in free space in quaternion form. 00011 00012 float64 x 00013 float64 y 00014 float64 z 00015 float64 w 00016 00017 """ 00018 __slots__ = ['x','y','z','w'] 00019 _slot_types = ['float64','float64','float64','float64'] 00020 00021 def __init__(self, *args, **kwds): 00022 """ 00023 Constructor. Any message fields that are implicitly/explicitly 00024 set to None will be assigned a default value. The recommend 00025 use is keyword arguments as this is more robust to future message 00026 changes. You cannot mix in-order arguments and keyword arguments. 00027 00028 The available fields are: 00029 x,y,z,w 00030 00031 @param args: complete set of field values, in .msg order 00032 @param kwds: use keyword arguments corresponding to message field names 00033 to set specific fields. 00034 """ 00035 if args or kwds: 00036 super(Quaternion, self).__init__(*args, **kwds) 00037 #message fields cannot be None, assign default values for those that are 00038 if self.x is None: 00039 self.x = 0. 00040 if self.y is None: 00041 self.y = 0. 00042 if self.z is None: 00043 self.z = 0. 00044 if self.w is None: 00045 self.w = 0. 00046 else: 00047 self.x = 0. 00048 self.y = 0. 00049 self.z = 0. 00050 self.w = 0. 00051 00052 def _get_types(self): 00053 """ 00054 internal API method 00055 """ 00056 return self._slot_types 00057 00058 def serialize(self, buff): 00059 """ 00060 serialize message into buffer 00061 @param buff: buffer 00062 @type buff: StringIO 00063 """ 00064 try: 00065 _x = self 00066 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00067 except struct.error as se: self._check_types(se) 00068 except TypeError as te: self._check_types(te) 00069 00070 def deserialize(self, str): 00071 """ 00072 unpack serialized message in str into this message instance 00073 @param str: byte array of serialized message 00074 @type str: str 00075 """ 00076 try: 00077 end = 0 00078 _x = self 00079 start = end 00080 end += 32 00081 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00082 return self 00083 except struct.error as e: 00084 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00085 00086 00087 def serialize_numpy(self, buff, numpy): 00088 """ 00089 serialize message with numpy array types into buffer 00090 @param buff: buffer 00091 @type buff: StringIO 00092 @param numpy: numpy python module 00093 @type numpy module 00094 """ 00095 try: 00096 _x = self 00097 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00098 except struct.error as se: self._check_types(se) 00099 except TypeError as te: self._check_types(te) 00100 00101 def deserialize_numpy(self, str, numpy): 00102 """ 00103 unpack serialized message in str into this message instance using numpy for array types 00104 @param str: byte array of serialized message 00105 @type str: str 00106 @param numpy: numpy python module 00107 @type numpy: module 00108 """ 00109 try: 00110 end = 0 00111 _x = self 00112 start = end 00113 end += 32 00114 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00115 return self 00116 except struct.error as e: 00117 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00118 00119 _struct_I = roslib.message.struct_I 00120 _struct_4d = struct.Struct("<4d")