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