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