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
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
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, se: self._check_types(se)
00068 except TypeError, 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, e:
00084 raise roslib.message.DeserializationError(e)
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, se: self._check_types(se)
00099 except TypeError, 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, e:
00117 raise roslib.message.DeserializationError(e)
00118
00119 _struct_I = roslib.message.struct_I
00120 _struct_4d = struct.Struct("<4d")