00001 """autogenerated by genpy from fast_plane_detection/PlaneInRegionRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import geometry_msgs.msg
00008 import std_msgs.msg
00009
00010 class PlaneInRegionRequest(genpy.Message):
00011 _md5sum = "7d70c4a3215f16e600ab2fb0a95d82d8"
00012 _type = "fast_plane_detection/PlaneInRegionRequest"
00013 _has_header = False
00014 _full_text = """
00015
00016
00017 geometry_msgs/Vector3Stamped point
00018
00019 int64 width
00020 int64 height
00021
00022
00023 ================================================================================
00024 MSG: geometry_msgs/Vector3Stamped
00025 # This represents a Vector3 with reference coordinate frame and timestamp
00026 Header header
00027 Vector3 vector
00028
00029 ================================================================================
00030 MSG: std_msgs/Header
00031 # Standard metadata for higher-level stamped data types.
00032 # This is generally used to communicate timestamped data
00033 # in a particular coordinate frame.
00034 #
00035 # sequence ID: consecutively increasing ID
00036 uint32 seq
00037 #Two-integer timestamp that is expressed as:
00038 # * stamp.secs: seconds (stamp_secs) since epoch
00039 # * stamp.nsecs: nanoseconds since stamp_secs
00040 # time-handling sugar is provided by the client library
00041 time stamp
00042 #Frame this data is associated with
00043 # 0: no frame
00044 # 1: global frame
00045 string frame_id
00046
00047 ================================================================================
00048 MSG: geometry_msgs/Vector3
00049 # This represents a vector in free space.
00050
00051 float64 x
00052 float64 y
00053 float64 z
00054 """
00055 __slots__ = ['point','width','height']
00056 _slot_types = ['geometry_msgs/Vector3Stamped','int64','int64']
00057
00058 def __init__(self, *args, **kwds):
00059 """
00060 Constructor. Any message fields that are implicitly/explicitly
00061 set to None will be assigned a default value. The recommend
00062 use is keyword arguments as this is more robust to future message
00063 changes. You cannot mix in-order arguments and keyword arguments.
00064
00065 The available fields are:
00066 point,width,height
00067
00068 :param args: complete set of field values, in .msg order
00069 :param kwds: use keyword arguments corresponding to message field names
00070 to set specific fields.
00071 """
00072 if args or kwds:
00073 super(PlaneInRegionRequest, self).__init__(*args, **kwds)
00074
00075 if self.point is None:
00076 self.point = geometry_msgs.msg.Vector3Stamped()
00077 if self.width is None:
00078 self.width = 0
00079 if self.height is None:
00080 self.height = 0
00081 else:
00082 self.point = geometry_msgs.msg.Vector3Stamped()
00083 self.width = 0
00084 self.height = 0
00085
00086 def _get_types(self):
00087 """
00088 internal API method
00089 """
00090 return self._slot_types
00091
00092 def serialize(self, buff):
00093 """
00094 serialize message into buffer
00095 :param buff: buffer, ``StringIO``
00096 """
00097 try:
00098 _x = self
00099 buff.write(_struct_3I.pack(_x.point.header.seq, _x.point.header.stamp.secs, _x.point.header.stamp.nsecs))
00100 _x = self.point.header.frame_id
00101 length = len(_x)
00102 if python3 or type(_x) == unicode:
00103 _x = _x.encode('utf-8')
00104 length = len(_x)
00105 buff.write(struct.pack('<I%ss'%length, length, _x))
00106 _x = self
00107 buff.write(_struct_3d2q.pack(_x.point.vector.x, _x.point.vector.y, _x.point.vector.z, _x.width, _x.height))
00108 except struct.error as se: self._check_types(se)
00109 except TypeError as te: self._check_types(te)
00110
00111 def deserialize(self, str):
00112 """
00113 unpack serialized message in str into this message instance
00114 :param str: byte array of serialized message, ``str``
00115 """
00116 try:
00117 if self.point is None:
00118 self.point = geometry_msgs.msg.Vector3Stamped()
00119 end = 0
00120 _x = self
00121 start = end
00122 end += 12
00123 (_x.point.header.seq, _x.point.header.stamp.secs, _x.point.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00124 start = end
00125 end += 4
00126 (length,) = _struct_I.unpack(str[start:end])
00127 start = end
00128 end += length
00129 if python3:
00130 self.point.header.frame_id = str[start:end].decode('utf-8')
00131 else:
00132 self.point.header.frame_id = str[start:end]
00133 _x = self
00134 start = end
00135 end += 40
00136 (_x.point.vector.x, _x.point.vector.y, _x.point.vector.z, _x.width, _x.height,) = _struct_3d2q.unpack(str[start:end])
00137 return self
00138 except struct.error as e:
00139 raise genpy.DeserializationError(e)
00140
00141
00142 def serialize_numpy(self, buff, numpy):
00143 """
00144 serialize message with numpy array types into buffer
00145 :param buff: buffer, ``StringIO``
00146 :param numpy: numpy python module
00147 """
00148 try:
00149 _x = self
00150 buff.write(_struct_3I.pack(_x.point.header.seq, _x.point.header.stamp.secs, _x.point.header.stamp.nsecs))
00151 _x = self.point.header.frame_id
00152 length = len(_x)
00153 if python3 or type(_x) == unicode:
00154 _x = _x.encode('utf-8')
00155 length = len(_x)
00156 buff.write(struct.pack('<I%ss'%length, length, _x))
00157 _x = self
00158 buff.write(_struct_3d2q.pack(_x.point.vector.x, _x.point.vector.y, _x.point.vector.z, _x.width, _x.height))
00159 except struct.error as se: self._check_types(se)
00160 except TypeError as te: self._check_types(te)
00161
00162 def deserialize_numpy(self, str, numpy):
00163 """
00164 unpack serialized message in str into this message instance using numpy for array types
00165 :param str: byte array of serialized message, ``str``
00166 :param numpy: numpy python module
00167 """
00168 try:
00169 if self.point is None:
00170 self.point = geometry_msgs.msg.Vector3Stamped()
00171 end = 0
00172 _x = self
00173 start = end
00174 end += 12
00175 (_x.point.header.seq, _x.point.header.stamp.secs, _x.point.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00176 start = end
00177 end += 4
00178 (length,) = _struct_I.unpack(str[start:end])
00179 start = end
00180 end += length
00181 if python3:
00182 self.point.header.frame_id = str[start:end].decode('utf-8')
00183 else:
00184 self.point.header.frame_id = str[start:end]
00185 _x = self
00186 start = end
00187 end += 40
00188 (_x.point.vector.x, _x.point.vector.y, _x.point.vector.z, _x.width, _x.height,) = _struct_3d2q.unpack(str[start:end])
00189 return self
00190 except struct.error as e:
00191 raise genpy.DeserializationError(e)
00192
00193 _struct_I = genpy.struct_I
00194 _struct_3I = struct.Struct("<3I")
00195 _struct_3d2q = struct.Struct("<3d2q")
00196 """autogenerated by genpy from fast_plane_detection/PlaneInRegionResponse.msg. Do not edit."""
00197 import sys
00198 python3 = True if sys.hexversion > 0x03000000 else False
00199 import genpy
00200 import struct
00201
00202 import fast_plane_detection.msg
00203 import geometry_msgs.msg
00204 import std_msgs.msg
00205
00206 class PlaneInRegionResponse(genpy.Message):
00207 _md5sum = "e716cc2181996b312d7f1ee1e64fa78a"
00208 _type = "fast_plane_detection/PlaneInRegionResponse"
00209 _has_header = False
00210 _full_text = """
00211 fast_plane_detection/Plane plane
00212
00213
00214 ================================================================================
00215 MSG: fast_plane_detection/Plane
00216 # Informs that a plane has been detected at a given location
00217
00218 # The pose gives you the transform that take you to the coordinate system
00219 # of the plane, with the origin somewhere in the plane and the
00220 # z axis normal to the plane
00221 geometry_msgs/PoseStamped pose
00222
00223 # Point + normal vector of the plane
00224 geometry_msgs/PointStamped plane_point
00225 geometry_msgs/Vector3Stamped normal
00226 geometry_msgs/PointStamped slave_point
00227
00228 # These values give you the observed extents of the plane, along x and y,
00229 # in the plane's own coordinate system (above)
00230 # there is no guarantee that the origin of the plane coordinate system is
00231 # inside the boundary defined by these values.
00232 geometry_msgs/Point32 top_left
00233 geometry_msgs/Point32 top_right
00234
00235 geometry_msgs/Point32 bottom_left
00236 geometry_msgs/Point32 bottom_right
00237
00238 # There is no guarantee that the plane doe NOT extend further than these
00239 # values; this is just as far as we've observed it.
00240
00241 # Whether the detection has succeeded or failed
00242 int32 SUCCESS = 1
00243 int32 FEW_INLIERS = 2
00244 int32 NO_PLANE = 3
00245 int32 OTHER_ERROR = 4
00246 int32 result
00247
00248 # inliers over whole region
00249 float32 percentage_inliers
00250 # inliers of valid disparities
00251 int32 percentage_disp_inliers
00252 # number of valid disparities
00253 int32 percentage_valid_disp
00254
00255 # confidence indicators of plane detection
00256 # mean squared error
00257 float32 error
00258
00259 ================================================================================
00260 MSG: geometry_msgs/PoseStamped
00261 # A Pose with reference coordinate frame and timestamp
00262 Header header
00263 Pose pose
00264
00265 ================================================================================
00266 MSG: std_msgs/Header
00267 # Standard metadata for higher-level stamped data types.
00268 # This is generally used to communicate timestamped data
00269 # in a particular coordinate frame.
00270 #
00271 # sequence ID: consecutively increasing ID
00272 uint32 seq
00273 #Two-integer timestamp that is expressed as:
00274 # * stamp.secs: seconds (stamp_secs) since epoch
00275 # * stamp.nsecs: nanoseconds since stamp_secs
00276 # time-handling sugar is provided by the client library
00277 time stamp
00278 #Frame this data is associated with
00279 # 0: no frame
00280 # 1: global frame
00281 string frame_id
00282
00283 ================================================================================
00284 MSG: geometry_msgs/Pose
00285 # A representation of pose in free space, composed of postion and orientation.
00286 Point position
00287 Quaternion orientation
00288
00289 ================================================================================
00290 MSG: geometry_msgs/Point
00291 # This contains the position of a point in free space
00292 float64 x
00293 float64 y
00294 float64 z
00295
00296 ================================================================================
00297 MSG: geometry_msgs/Quaternion
00298 # This represents an orientation in free space in quaternion form.
00299
00300 float64 x
00301 float64 y
00302 float64 z
00303 float64 w
00304
00305 ================================================================================
00306 MSG: geometry_msgs/PointStamped
00307 # This represents a Point with reference coordinate frame and timestamp
00308 Header header
00309 Point point
00310
00311 ================================================================================
00312 MSG: geometry_msgs/Vector3Stamped
00313 # This represents a Vector3 with reference coordinate frame and timestamp
00314 Header header
00315 Vector3 vector
00316
00317 ================================================================================
00318 MSG: geometry_msgs/Vector3
00319 # This represents a vector in free space.
00320
00321 float64 x
00322 float64 y
00323 float64 z
00324 ================================================================================
00325 MSG: geometry_msgs/Point32
00326 # This contains the position of a point in free space(with 32 bits of precision).
00327 # It is recommeded to use Point wherever possible instead of Point32.
00328 #
00329 # This recommendation is to promote interoperability.
00330 #
00331 # This message is designed to take up less space when sending
00332 # lots of points at once, as in the case of a PointCloud.
00333
00334 float32 x
00335 float32 y
00336 float32 z
00337 """
00338 __slots__ = ['plane']
00339 _slot_types = ['fast_plane_detection/Plane']
00340
00341 def __init__(self, *args, **kwds):
00342 """
00343 Constructor. Any message fields that are implicitly/explicitly
00344 set to None will be assigned a default value. The recommend
00345 use is keyword arguments as this is more robust to future message
00346 changes. You cannot mix in-order arguments and keyword arguments.
00347
00348 The available fields are:
00349 plane
00350
00351 :param args: complete set of field values, in .msg order
00352 :param kwds: use keyword arguments corresponding to message field names
00353 to set specific fields.
00354 """
00355 if args or kwds:
00356 super(PlaneInRegionResponse, self).__init__(*args, **kwds)
00357
00358 if self.plane is None:
00359 self.plane = fast_plane_detection.msg.Plane()
00360 else:
00361 self.plane = fast_plane_detection.msg.Plane()
00362
00363 def _get_types(self):
00364 """
00365 internal API method
00366 """
00367 return self._slot_types
00368
00369 def serialize(self, buff):
00370 """
00371 serialize message into buffer
00372 :param buff: buffer, ``StringIO``
00373 """
00374 try:
00375 _x = self
00376 buff.write(_struct_3I.pack(_x.plane.pose.header.seq, _x.plane.pose.header.stamp.secs, _x.plane.pose.header.stamp.nsecs))
00377 _x = self.plane.pose.header.frame_id
00378 length = len(_x)
00379 if python3 or type(_x) == unicode:
00380 _x = _x.encode('utf-8')
00381 length = len(_x)
00382 buff.write(struct.pack('<I%ss'%length, length, _x))
00383 _x = self
00384 buff.write(_struct_7d3I.pack(_x.plane.pose.pose.position.x, _x.plane.pose.pose.position.y, _x.plane.pose.pose.position.z, _x.plane.pose.pose.orientation.x, _x.plane.pose.pose.orientation.y, _x.plane.pose.pose.orientation.z, _x.plane.pose.pose.orientation.w, _x.plane.plane_point.header.seq, _x.plane.plane_point.header.stamp.secs, _x.plane.plane_point.header.stamp.nsecs))
00385 _x = self.plane.plane_point.header.frame_id
00386 length = len(_x)
00387 if python3 or type(_x) == unicode:
00388 _x = _x.encode('utf-8')
00389 length = len(_x)
00390 buff.write(struct.pack('<I%ss'%length, length, _x))
00391 _x = self
00392 buff.write(_struct_3d3I.pack(_x.plane.plane_point.point.x, _x.plane.plane_point.point.y, _x.plane.plane_point.point.z, _x.plane.normal.header.seq, _x.plane.normal.header.stamp.secs, _x.plane.normal.header.stamp.nsecs))
00393 _x = self.plane.normal.header.frame_id
00394 length = len(_x)
00395 if python3 or type(_x) == unicode:
00396 _x = _x.encode('utf-8')
00397 length = len(_x)
00398 buff.write(struct.pack('<I%ss'%length, length, _x))
00399 _x = self
00400 buff.write(_struct_3d3I.pack(_x.plane.normal.vector.x, _x.plane.normal.vector.y, _x.plane.normal.vector.z, _x.plane.slave_point.header.seq, _x.plane.slave_point.header.stamp.secs, _x.plane.slave_point.header.stamp.nsecs))
00401 _x = self.plane.slave_point.header.frame_id
00402 length = len(_x)
00403 if python3 or type(_x) == unicode:
00404 _x = _x.encode('utf-8')
00405 length = len(_x)
00406 buff.write(struct.pack('<I%ss'%length, length, _x))
00407 _x = self
00408 buff.write(_struct_3d12fif2if.pack(_x.plane.slave_point.point.x, _x.plane.slave_point.point.y, _x.plane.slave_point.point.z, _x.plane.top_left.x, _x.plane.top_left.y, _x.plane.top_left.z, _x.plane.top_right.x, _x.plane.top_right.y, _x.plane.top_right.z, _x.plane.bottom_left.x, _x.plane.bottom_left.y, _x.plane.bottom_left.z, _x.plane.bottom_right.x, _x.plane.bottom_right.y, _x.plane.bottom_right.z, _x.plane.result, _x.plane.percentage_inliers, _x.plane.percentage_disp_inliers, _x.plane.percentage_valid_disp, _x.plane.error))
00409 except struct.error as se: self._check_types(se)
00410 except TypeError as te: self._check_types(te)
00411
00412 def deserialize(self, str):
00413 """
00414 unpack serialized message in str into this message instance
00415 :param str: byte array of serialized message, ``str``
00416 """
00417 try:
00418 if self.plane is None:
00419 self.plane = fast_plane_detection.msg.Plane()
00420 end = 0
00421 _x = self
00422 start = end
00423 end += 12
00424 (_x.plane.pose.header.seq, _x.plane.pose.header.stamp.secs, _x.plane.pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00425 start = end
00426 end += 4
00427 (length,) = _struct_I.unpack(str[start:end])
00428 start = end
00429 end += length
00430 if python3:
00431 self.plane.pose.header.frame_id = str[start:end].decode('utf-8')
00432 else:
00433 self.plane.pose.header.frame_id = str[start:end]
00434 _x = self
00435 start = end
00436 end += 68
00437 (_x.plane.pose.pose.position.x, _x.plane.pose.pose.position.y, _x.plane.pose.pose.position.z, _x.plane.pose.pose.orientation.x, _x.plane.pose.pose.orientation.y, _x.plane.pose.pose.orientation.z, _x.plane.pose.pose.orientation.w, _x.plane.plane_point.header.seq, _x.plane.plane_point.header.stamp.secs, _x.plane.plane_point.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
00438 start = end
00439 end += 4
00440 (length,) = _struct_I.unpack(str[start:end])
00441 start = end
00442 end += length
00443 if python3:
00444 self.plane.plane_point.header.frame_id = str[start:end].decode('utf-8')
00445 else:
00446 self.plane.plane_point.header.frame_id = str[start:end]
00447 _x = self
00448 start = end
00449 end += 36
00450 (_x.plane.plane_point.point.x, _x.plane.plane_point.point.y, _x.plane.plane_point.point.z, _x.plane.normal.header.seq, _x.plane.normal.header.stamp.secs, _x.plane.normal.header.stamp.nsecs,) = _struct_3d3I.unpack(str[start:end])
00451 start = end
00452 end += 4
00453 (length,) = _struct_I.unpack(str[start:end])
00454 start = end
00455 end += length
00456 if python3:
00457 self.plane.normal.header.frame_id = str[start:end].decode('utf-8')
00458 else:
00459 self.plane.normal.header.frame_id = str[start:end]
00460 _x = self
00461 start = end
00462 end += 36
00463 (_x.plane.normal.vector.x, _x.plane.normal.vector.y, _x.plane.normal.vector.z, _x.plane.slave_point.header.seq, _x.plane.slave_point.header.stamp.secs, _x.plane.slave_point.header.stamp.nsecs,) = _struct_3d3I.unpack(str[start:end])
00464 start = end
00465 end += 4
00466 (length,) = _struct_I.unpack(str[start:end])
00467 start = end
00468 end += length
00469 if python3:
00470 self.plane.slave_point.header.frame_id = str[start:end].decode('utf-8')
00471 else:
00472 self.plane.slave_point.header.frame_id = str[start:end]
00473 _x = self
00474 start = end
00475 end += 92
00476 (_x.plane.slave_point.point.x, _x.plane.slave_point.point.y, _x.plane.slave_point.point.z, _x.plane.top_left.x, _x.plane.top_left.y, _x.plane.top_left.z, _x.plane.top_right.x, _x.plane.top_right.y, _x.plane.top_right.z, _x.plane.bottom_left.x, _x.plane.bottom_left.y, _x.plane.bottom_left.z, _x.plane.bottom_right.x, _x.plane.bottom_right.y, _x.plane.bottom_right.z, _x.plane.result, _x.plane.percentage_inliers, _x.plane.percentage_disp_inliers, _x.plane.percentage_valid_disp, _x.plane.error,) = _struct_3d12fif2if.unpack(str[start:end])
00477 return self
00478 except struct.error as e:
00479 raise genpy.DeserializationError(e)
00480
00481
00482 def serialize_numpy(self, buff, numpy):
00483 """
00484 serialize message with numpy array types into buffer
00485 :param buff: buffer, ``StringIO``
00486 :param numpy: numpy python module
00487 """
00488 try:
00489 _x = self
00490 buff.write(_struct_3I.pack(_x.plane.pose.header.seq, _x.plane.pose.header.stamp.secs, _x.plane.pose.header.stamp.nsecs))
00491 _x = self.plane.pose.header.frame_id
00492 length = len(_x)
00493 if python3 or type(_x) == unicode:
00494 _x = _x.encode('utf-8')
00495 length = len(_x)
00496 buff.write(struct.pack('<I%ss'%length, length, _x))
00497 _x = self
00498 buff.write(_struct_7d3I.pack(_x.plane.pose.pose.position.x, _x.plane.pose.pose.position.y, _x.plane.pose.pose.position.z, _x.plane.pose.pose.orientation.x, _x.plane.pose.pose.orientation.y, _x.plane.pose.pose.orientation.z, _x.plane.pose.pose.orientation.w, _x.plane.plane_point.header.seq, _x.plane.plane_point.header.stamp.secs, _x.plane.plane_point.header.stamp.nsecs))
00499 _x = self.plane.plane_point.header.frame_id
00500 length = len(_x)
00501 if python3 or type(_x) == unicode:
00502 _x = _x.encode('utf-8')
00503 length = len(_x)
00504 buff.write(struct.pack('<I%ss'%length, length, _x))
00505 _x = self
00506 buff.write(_struct_3d3I.pack(_x.plane.plane_point.point.x, _x.plane.plane_point.point.y, _x.plane.plane_point.point.z, _x.plane.normal.header.seq, _x.plane.normal.header.stamp.secs, _x.plane.normal.header.stamp.nsecs))
00507 _x = self.plane.normal.header.frame_id
00508 length = len(_x)
00509 if python3 or type(_x) == unicode:
00510 _x = _x.encode('utf-8')
00511 length = len(_x)
00512 buff.write(struct.pack('<I%ss'%length, length, _x))
00513 _x = self
00514 buff.write(_struct_3d3I.pack(_x.plane.normal.vector.x, _x.plane.normal.vector.y, _x.plane.normal.vector.z, _x.plane.slave_point.header.seq, _x.plane.slave_point.header.stamp.secs, _x.plane.slave_point.header.stamp.nsecs))
00515 _x = self.plane.slave_point.header.frame_id
00516 length = len(_x)
00517 if python3 or type(_x) == unicode:
00518 _x = _x.encode('utf-8')
00519 length = len(_x)
00520 buff.write(struct.pack('<I%ss'%length, length, _x))
00521 _x = self
00522 buff.write(_struct_3d12fif2if.pack(_x.plane.slave_point.point.x, _x.plane.slave_point.point.y, _x.plane.slave_point.point.z, _x.plane.top_left.x, _x.plane.top_left.y, _x.plane.top_left.z, _x.plane.top_right.x, _x.plane.top_right.y, _x.plane.top_right.z, _x.plane.bottom_left.x, _x.plane.bottom_left.y, _x.plane.bottom_left.z, _x.plane.bottom_right.x, _x.plane.bottom_right.y, _x.plane.bottom_right.z, _x.plane.result, _x.plane.percentage_inliers, _x.plane.percentage_disp_inliers, _x.plane.percentage_valid_disp, _x.plane.error))
00523 except struct.error as se: self._check_types(se)
00524 except TypeError as te: self._check_types(te)
00525
00526 def deserialize_numpy(self, str, numpy):
00527 """
00528 unpack serialized message in str into this message instance using numpy for array types
00529 :param str: byte array of serialized message, ``str``
00530 :param numpy: numpy python module
00531 """
00532 try:
00533 if self.plane is None:
00534 self.plane = fast_plane_detection.msg.Plane()
00535 end = 0
00536 _x = self
00537 start = end
00538 end += 12
00539 (_x.plane.pose.header.seq, _x.plane.pose.header.stamp.secs, _x.plane.pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00540 start = end
00541 end += 4
00542 (length,) = _struct_I.unpack(str[start:end])
00543 start = end
00544 end += length
00545 if python3:
00546 self.plane.pose.header.frame_id = str[start:end].decode('utf-8')
00547 else:
00548 self.plane.pose.header.frame_id = str[start:end]
00549 _x = self
00550 start = end
00551 end += 68
00552 (_x.plane.pose.pose.position.x, _x.plane.pose.pose.position.y, _x.plane.pose.pose.position.z, _x.plane.pose.pose.orientation.x, _x.plane.pose.pose.orientation.y, _x.plane.pose.pose.orientation.z, _x.plane.pose.pose.orientation.w, _x.plane.plane_point.header.seq, _x.plane.plane_point.header.stamp.secs, _x.plane.plane_point.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
00553 start = end
00554 end += 4
00555 (length,) = _struct_I.unpack(str[start:end])
00556 start = end
00557 end += length
00558 if python3:
00559 self.plane.plane_point.header.frame_id = str[start:end].decode('utf-8')
00560 else:
00561 self.plane.plane_point.header.frame_id = str[start:end]
00562 _x = self
00563 start = end
00564 end += 36
00565 (_x.plane.plane_point.point.x, _x.plane.plane_point.point.y, _x.plane.plane_point.point.z, _x.plane.normal.header.seq, _x.plane.normal.header.stamp.secs, _x.plane.normal.header.stamp.nsecs,) = _struct_3d3I.unpack(str[start:end])
00566 start = end
00567 end += 4
00568 (length,) = _struct_I.unpack(str[start:end])
00569 start = end
00570 end += length
00571 if python3:
00572 self.plane.normal.header.frame_id = str[start:end].decode('utf-8')
00573 else:
00574 self.plane.normal.header.frame_id = str[start:end]
00575 _x = self
00576 start = end
00577 end += 36
00578 (_x.plane.normal.vector.x, _x.plane.normal.vector.y, _x.plane.normal.vector.z, _x.plane.slave_point.header.seq, _x.plane.slave_point.header.stamp.secs, _x.plane.slave_point.header.stamp.nsecs,) = _struct_3d3I.unpack(str[start:end])
00579 start = end
00580 end += 4
00581 (length,) = _struct_I.unpack(str[start:end])
00582 start = end
00583 end += length
00584 if python3:
00585 self.plane.slave_point.header.frame_id = str[start:end].decode('utf-8')
00586 else:
00587 self.plane.slave_point.header.frame_id = str[start:end]
00588 _x = self
00589 start = end
00590 end += 92
00591 (_x.plane.slave_point.point.x, _x.plane.slave_point.point.y, _x.plane.slave_point.point.z, _x.plane.top_left.x, _x.plane.top_left.y, _x.plane.top_left.z, _x.plane.top_right.x, _x.plane.top_right.y, _x.plane.top_right.z, _x.plane.bottom_left.x, _x.plane.bottom_left.y, _x.plane.bottom_left.z, _x.plane.bottom_right.x, _x.plane.bottom_right.y, _x.plane.bottom_right.z, _x.plane.result, _x.plane.percentage_inliers, _x.plane.percentage_disp_inliers, _x.plane.percentage_valid_disp, _x.plane.error,) = _struct_3d12fif2if.unpack(str[start:end])
00592 return self
00593 except struct.error as e:
00594 raise genpy.DeserializationError(e)
00595
00596 _struct_I = genpy.struct_I
00597 _struct_3d12fif2if = struct.Struct("<3d12fif2if")
00598 _struct_3d3I = struct.Struct("<3d3I")
00599 _struct_3I = struct.Struct("<3I")
00600 _struct_7d3I = struct.Struct("<7d3I")
00601 class PlaneInRegion(object):
00602 _type = 'fast_plane_detection/PlaneInRegion'
00603 _md5sum = 'af4f32849bccef799b668b077c0a80c7'
00604 _request_class = PlaneInRegionRequest
00605 _response_class = PlaneInRegionResponse