$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-camera_pose/doc_stacks/2013-03-01_14-27-38.801509/camera_pose/kinect_depth_calibration/srv/GetCheckerboardPose.srv */ 00002 #ifndef KINECT_DEPTH_CALIBRATION_SERVICE_GETCHECKERBOARDPOSE_H 00003 #define KINECT_DEPTH_CALIBRATION_SERVICE_GETCHECKERBOARDPOSE_H 00004 #include <string> 00005 #include <vector> 00006 #include <map> 00007 #include <ostream> 00008 #include "ros/serialization.h" 00009 #include "ros/builtin_message_traits.h" 00010 #include "ros/message_operations.h" 00011 #include "ros/time.h" 00012 00013 #include "ros/macros.h" 00014 00015 #include "ros/assert.h" 00016 00017 #include "ros/service_traits.h" 00018 00019 00020 00021 #include "geometry_msgs/PoseStamped.h" 00022 00023 namespace kinect_depth_calibration 00024 { 00025 template <class ContainerAllocator> 00026 struct GetCheckerboardPoseRequest_ { 00027 typedef GetCheckerboardPoseRequest_<ContainerAllocator> Type; 00028 00029 GetCheckerboardPoseRequest_() 00030 : corners_x(0) 00031 , corners_y(0) 00032 , spacing_x(0.0) 00033 , spacing_y(0.0) 00034 { 00035 } 00036 00037 GetCheckerboardPoseRequest_(const ContainerAllocator& _alloc) 00038 : corners_x(0) 00039 , corners_y(0) 00040 , spacing_x(0.0) 00041 , spacing_y(0.0) 00042 { 00043 } 00044 00045 typedef int32_t _corners_x_type; 00046 int32_t corners_x; 00047 00048 typedef int32_t _corners_y_type; 00049 int32_t corners_y; 00050 00051 typedef float _spacing_x_type; 00052 float spacing_x; 00053 00054 typedef float _spacing_y_type; 00055 float spacing_y; 00056 00057 00058 private: 00059 static const char* __s_getDataType_() { return "kinect_depth_calibration/GetCheckerboardPoseRequest"; } 00060 public: 00061 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00062 00063 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00064 00065 private: 00066 static const char* __s_getMD5Sum_() { return "f9dc7d7f2c73b6a404e26f1d03ad4ec2"; } 00067 public: 00068 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00069 00070 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00071 00072 private: 00073 static const char* __s_getServerMD5Sum_() { return "f515725e9bae2b07fb95aab5c6865589"; } 00074 public: 00075 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00076 00077 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00078 00079 private: 00080 static const char* __s_getMessageDefinition_() { return "int32 corners_x\n\ 00081 int32 corners_y\n\ 00082 float32 spacing_x\n\ 00083 float32 spacing_y\n\ 00084 \n\ 00085 "; } 00086 public: 00087 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00088 00089 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00090 00091 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00092 { 00093 ros::serialization::OStream stream(write_ptr, 1000000000); 00094 ros::serialization::serialize(stream, corners_x); 00095 ros::serialization::serialize(stream, corners_y); 00096 ros::serialization::serialize(stream, spacing_x); 00097 ros::serialization::serialize(stream, spacing_y); 00098 return stream.getData(); 00099 } 00100 00101 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00102 { 00103 ros::serialization::IStream stream(read_ptr, 1000000000); 00104 ros::serialization::deserialize(stream, corners_x); 00105 ros::serialization::deserialize(stream, corners_y); 00106 ros::serialization::deserialize(stream, spacing_x); 00107 ros::serialization::deserialize(stream, spacing_y); 00108 return stream.getData(); 00109 } 00110 00111 ROS_DEPRECATED virtual uint32_t serializationLength() const 00112 { 00113 uint32_t size = 0; 00114 size += ros::serialization::serializationLength(corners_x); 00115 size += ros::serialization::serializationLength(corners_y); 00116 size += ros::serialization::serializationLength(spacing_x); 00117 size += ros::serialization::serializationLength(spacing_y); 00118 return size; 00119 } 00120 00121 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > Ptr; 00122 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> const> ConstPtr; 00123 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00124 }; // struct GetCheckerboardPoseRequest 00125 typedef ::kinect_depth_calibration::GetCheckerboardPoseRequest_<std::allocator<void> > GetCheckerboardPoseRequest; 00126 00127 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseRequest> GetCheckerboardPoseRequestPtr; 00128 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseRequest const> GetCheckerboardPoseRequestConstPtr; 00129 00130 00131 template <class ContainerAllocator> 00132 struct GetCheckerboardPoseResponse_ { 00133 typedef GetCheckerboardPoseResponse_<ContainerAllocator> Type; 00134 00135 GetCheckerboardPoseResponse_() 00136 : board_pose() 00137 , min_x(0.0) 00138 , max_x(0.0) 00139 , min_y(0.0) 00140 , max_y(0.0) 00141 , noise_vel(0.0) 00142 , noise_rot(0.0) 00143 { 00144 } 00145 00146 GetCheckerboardPoseResponse_(const ContainerAllocator& _alloc) 00147 : board_pose(_alloc) 00148 , min_x(0.0) 00149 , max_x(0.0) 00150 , min_y(0.0) 00151 , max_y(0.0) 00152 , noise_vel(0.0) 00153 , noise_rot(0.0) 00154 { 00155 } 00156 00157 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _board_pose_type; 00158 ::geometry_msgs::PoseStamped_<ContainerAllocator> board_pose; 00159 00160 typedef float _min_x_type; 00161 float min_x; 00162 00163 typedef float _max_x_type; 00164 float max_x; 00165 00166 typedef float _min_y_type; 00167 float min_y; 00168 00169 typedef float _max_y_type; 00170 float max_y; 00171 00172 typedef float _noise_vel_type; 00173 float noise_vel; 00174 00175 typedef float _noise_rot_type; 00176 float noise_rot; 00177 00178 00179 private: 00180 static const char* __s_getDataType_() { return "kinect_depth_calibration/GetCheckerboardPoseResponse"; } 00181 public: 00182 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00183 00184 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00185 00186 private: 00187 static const char* __s_getMD5Sum_() { return "f2e4d5e733b7a98672707e8a53a68cd4"; } 00188 public: 00189 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00190 00191 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00192 00193 private: 00194 static const char* __s_getServerMD5Sum_() { return "f515725e9bae2b07fb95aab5c6865589"; } 00195 public: 00196 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00197 00198 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00199 00200 private: 00201 static const char* __s_getMessageDefinition_() { return "geometry_msgs/PoseStamped board_pose\n\ 00202 float32 min_x\n\ 00203 float32 max_x\n\ 00204 float32 min_y\n\ 00205 float32 max_y\n\ 00206 float32 noise_vel\n\ 00207 float32 noise_rot\n\ 00208 \n\ 00209 ================================================================================\n\ 00210 MSG: geometry_msgs/PoseStamped\n\ 00211 # A Pose with reference coordinate frame and timestamp\n\ 00212 Header header\n\ 00213 Pose pose\n\ 00214 \n\ 00215 ================================================================================\n\ 00216 MSG: std_msgs/Header\n\ 00217 # Standard metadata for higher-level stamped data types.\n\ 00218 # This is generally used to communicate timestamped data \n\ 00219 # in a particular coordinate frame.\n\ 00220 # \n\ 00221 # sequence ID: consecutively increasing ID \n\ 00222 uint32 seq\n\ 00223 #Two-integer timestamp that is expressed as:\n\ 00224 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00225 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00226 # time-handling sugar is provided by the client library\n\ 00227 time stamp\n\ 00228 #Frame this data is associated with\n\ 00229 # 0: no frame\n\ 00230 # 1: global frame\n\ 00231 string frame_id\n\ 00232 \n\ 00233 ================================================================================\n\ 00234 MSG: geometry_msgs/Pose\n\ 00235 # A representation of pose in free space, composed of postion and orientation. \n\ 00236 Point position\n\ 00237 Quaternion orientation\n\ 00238 \n\ 00239 ================================================================================\n\ 00240 MSG: geometry_msgs/Point\n\ 00241 # This contains the position of a point in free space\n\ 00242 float64 x\n\ 00243 float64 y\n\ 00244 float64 z\n\ 00245 \n\ 00246 ================================================================================\n\ 00247 MSG: geometry_msgs/Quaternion\n\ 00248 # This represents an orientation in free space in quaternion form.\n\ 00249 \n\ 00250 float64 x\n\ 00251 float64 y\n\ 00252 float64 z\n\ 00253 float64 w\n\ 00254 \n\ 00255 "; } 00256 public: 00257 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00258 00259 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00260 00261 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00262 { 00263 ros::serialization::OStream stream(write_ptr, 1000000000); 00264 ros::serialization::serialize(stream, board_pose); 00265 ros::serialization::serialize(stream, min_x); 00266 ros::serialization::serialize(stream, max_x); 00267 ros::serialization::serialize(stream, min_y); 00268 ros::serialization::serialize(stream, max_y); 00269 ros::serialization::serialize(stream, noise_vel); 00270 ros::serialization::serialize(stream, noise_rot); 00271 return stream.getData(); 00272 } 00273 00274 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00275 { 00276 ros::serialization::IStream stream(read_ptr, 1000000000); 00277 ros::serialization::deserialize(stream, board_pose); 00278 ros::serialization::deserialize(stream, min_x); 00279 ros::serialization::deserialize(stream, max_x); 00280 ros::serialization::deserialize(stream, min_y); 00281 ros::serialization::deserialize(stream, max_y); 00282 ros::serialization::deserialize(stream, noise_vel); 00283 ros::serialization::deserialize(stream, noise_rot); 00284 return stream.getData(); 00285 } 00286 00287 ROS_DEPRECATED virtual uint32_t serializationLength() const 00288 { 00289 uint32_t size = 0; 00290 size += ros::serialization::serializationLength(board_pose); 00291 size += ros::serialization::serializationLength(min_x); 00292 size += ros::serialization::serializationLength(max_x); 00293 size += ros::serialization::serializationLength(min_y); 00294 size += ros::serialization::serializationLength(max_y); 00295 size += ros::serialization::serializationLength(noise_vel); 00296 size += ros::serialization::serializationLength(noise_rot); 00297 return size; 00298 } 00299 00300 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > Ptr; 00301 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> const> ConstPtr; 00302 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00303 }; // struct GetCheckerboardPoseResponse 00304 typedef ::kinect_depth_calibration::GetCheckerboardPoseResponse_<std::allocator<void> > GetCheckerboardPoseResponse; 00305 00306 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseResponse> GetCheckerboardPoseResponsePtr; 00307 typedef boost::shared_ptr< ::kinect_depth_calibration::GetCheckerboardPoseResponse const> GetCheckerboardPoseResponseConstPtr; 00308 00309 struct GetCheckerboardPose 00310 { 00311 00312 typedef GetCheckerboardPoseRequest Request; 00313 typedef GetCheckerboardPoseResponse Response; 00314 Request request; 00315 Response response; 00316 00317 typedef Request RequestType; 00318 typedef Response ResponseType; 00319 }; // struct GetCheckerboardPose 00320 } // namespace kinect_depth_calibration 00321 00322 namespace ros 00323 { 00324 namespace message_traits 00325 { 00326 template<class ContainerAllocator> struct IsMessage< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > : public TrueType {}; 00327 template<class ContainerAllocator> struct IsMessage< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> const> : public TrueType {}; 00328 template<class ContainerAllocator> 00329 struct MD5Sum< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > { 00330 static const char* value() 00331 { 00332 return "f9dc7d7f2c73b6a404e26f1d03ad4ec2"; 00333 } 00334 00335 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> &) { return value(); } 00336 static const uint64_t static_value1 = 0xf9dc7d7f2c73b6a4ULL; 00337 static const uint64_t static_value2 = 0x04e26f1d03ad4ec2ULL; 00338 }; 00339 00340 template<class ContainerAllocator> 00341 struct DataType< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > { 00342 static const char* value() 00343 { 00344 return "kinect_depth_calibration/GetCheckerboardPoseRequest"; 00345 } 00346 00347 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> &) { return value(); } 00348 }; 00349 00350 template<class ContainerAllocator> 00351 struct Definition< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > { 00352 static const char* value() 00353 { 00354 return "int32 corners_x\n\ 00355 int32 corners_y\n\ 00356 float32 spacing_x\n\ 00357 float32 spacing_y\n\ 00358 \n\ 00359 "; 00360 } 00361 00362 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> &) { return value(); } 00363 }; 00364 00365 template<class ContainerAllocator> struct IsFixedSize< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > : public TrueType {}; 00366 } // namespace message_traits 00367 } // namespace ros 00368 00369 00370 namespace ros 00371 { 00372 namespace message_traits 00373 { 00374 template<class ContainerAllocator> struct IsMessage< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > : public TrueType {}; 00375 template<class ContainerAllocator> struct IsMessage< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> const> : public TrueType {}; 00376 template<class ContainerAllocator> 00377 struct MD5Sum< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > { 00378 static const char* value() 00379 { 00380 return "f2e4d5e733b7a98672707e8a53a68cd4"; 00381 } 00382 00383 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> &) { return value(); } 00384 static const uint64_t static_value1 = 0xf2e4d5e733b7a986ULL; 00385 static const uint64_t static_value2 = 0x72707e8a53a68cd4ULL; 00386 }; 00387 00388 template<class ContainerAllocator> 00389 struct DataType< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > { 00390 static const char* value() 00391 { 00392 return "kinect_depth_calibration/GetCheckerboardPoseResponse"; 00393 } 00394 00395 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> &) { return value(); } 00396 }; 00397 00398 template<class ContainerAllocator> 00399 struct Definition< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > { 00400 static const char* value() 00401 { 00402 return "geometry_msgs/PoseStamped board_pose\n\ 00403 float32 min_x\n\ 00404 float32 max_x\n\ 00405 float32 min_y\n\ 00406 float32 max_y\n\ 00407 float32 noise_vel\n\ 00408 float32 noise_rot\n\ 00409 \n\ 00410 ================================================================================\n\ 00411 MSG: geometry_msgs/PoseStamped\n\ 00412 # A Pose with reference coordinate frame and timestamp\n\ 00413 Header header\n\ 00414 Pose pose\n\ 00415 \n\ 00416 ================================================================================\n\ 00417 MSG: std_msgs/Header\n\ 00418 # Standard metadata for higher-level stamped data types.\n\ 00419 # This is generally used to communicate timestamped data \n\ 00420 # in a particular coordinate frame.\n\ 00421 # \n\ 00422 # sequence ID: consecutively increasing ID \n\ 00423 uint32 seq\n\ 00424 #Two-integer timestamp that is expressed as:\n\ 00425 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00426 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00427 # time-handling sugar is provided by the client library\n\ 00428 time stamp\n\ 00429 #Frame this data is associated with\n\ 00430 # 0: no frame\n\ 00431 # 1: global frame\n\ 00432 string frame_id\n\ 00433 \n\ 00434 ================================================================================\n\ 00435 MSG: geometry_msgs/Pose\n\ 00436 # A representation of pose in free space, composed of postion and orientation. \n\ 00437 Point position\n\ 00438 Quaternion orientation\n\ 00439 \n\ 00440 ================================================================================\n\ 00441 MSG: geometry_msgs/Point\n\ 00442 # This contains the position of a point in free space\n\ 00443 float64 x\n\ 00444 float64 y\n\ 00445 float64 z\n\ 00446 \n\ 00447 ================================================================================\n\ 00448 MSG: geometry_msgs/Quaternion\n\ 00449 # This represents an orientation in free space in quaternion form.\n\ 00450 \n\ 00451 float64 x\n\ 00452 float64 y\n\ 00453 float64 z\n\ 00454 float64 w\n\ 00455 \n\ 00456 "; 00457 } 00458 00459 static const char* value(const ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> &) { return value(); } 00460 }; 00461 00462 } // namespace message_traits 00463 } // namespace ros 00464 00465 namespace ros 00466 { 00467 namespace serialization 00468 { 00469 00470 template<class ContainerAllocator> struct Serializer< ::kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > 00471 { 00472 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00473 { 00474 stream.next(m.corners_x); 00475 stream.next(m.corners_y); 00476 stream.next(m.spacing_x); 00477 stream.next(m.spacing_y); 00478 } 00479 00480 ROS_DECLARE_ALLINONE_SERIALIZER; 00481 }; // struct GetCheckerboardPoseRequest_ 00482 } // namespace serialization 00483 } // namespace ros 00484 00485 00486 namespace ros 00487 { 00488 namespace serialization 00489 { 00490 00491 template<class ContainerAllocator> struct Serializer< ::kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > 00492 { 00493 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00494 { 00495 stream.next(m.board_pose); 00496 stream.next(m.min_x); 00497 stream.next(m.max_x); 00498 stream.next(m.min_y); 00499 stream.next(m.max_y); 00500 stream.next(m.noise_vel); 00501 stream.next(m.noise_rot); 00502 } 00503 00504 ROS_DECLARE_ALLINONE_SERIALIZER; 00505 }; // struct GetCheckerboardPoseResponse_ 00506 } // namespace serialization 00507 } // namespace ros 00508 00509 namespace ros 00510 { 00511 namespace service_traits 00512 { 00513 template<> 00514 struct MD5Sum<kinect_depth_calibration::GetCheckerboardPose> { 00515 static const char* value() 00516 { 00517 return "f515725e9bae2b07fb95aab5c6865589"; 00518 } 00519 00520 static const char* value(const kinect_depth_calibration::GetCheckerboardPose&) { return value(); } 00521 }; 00522 00523 template<> 00524 struct DataType<kinect_depth_calibration::GetCheckerboardPose> { 00525 static const char* value() 00526 { 00527 return "kinect_depth_calibration/GetCheckerboardPose"; 00528 } 00529 00530 static const char* value(const kinect_depth_calibration::GetCheckerboardPose&) { return value(); } 00531 }; 00532 00533 template<class ContainerAllocator> 00534 struct MD5Sum<kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > { 00535 static const char* value() 00536 { 00537 return "f515725e9bae2b07fb95aab5c6865589"; 00538 } 00539 00540 static const char* value(const kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> &) { return value(); } 00541 }; 00542 00543 template<class ContainerAllocator> 00544 struct DataType<kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> > { 00545 static const char* value() 00546 { 00547 return "kinect_depth_calibration/GetCheckerboardPose"; 00548 } 00549 00550 static const char* value(const kinect_depth_calibration::GetCheckerboardPoseRequest_<ContainerAllocator> &) { return value(); } 00551 }; 00552 00553 template<class ContainerAllocator> 00554 struct MD5Sum<kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > { 00555 static const char* value() 00556 { 00557 return "f515725e9bae2b07fb95aab5c6865589"; 00558 } 00559 00560 static const char* value(const kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> &) { return value(); } 00561 }; 00562 00563 template<class ContainerAllocator> 00564 struct DataType<kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> > { 00565 static const char* value() 00566 { 00567 return "kinect_depth_calibration/GetCheckerboardPose"; 00568 } 00569 00570 static const char* value(const kinect_depth_calibration::GetCheckerboardPoseResponse_<ContainerAllocator> &) { return value(); } 00571 }; 00572 00573 } // namespace service_traits 00574 } // namespace ros 00575 00576 #endif // KINECT_DEPTH_CALIBRATION_SERVICE_GETCHECKERBOARDPOSE_H 00577