// // Created by zx on 2019/12/30. // #ifndef LOCATE_TASK_H #define LOCATE_TASK_H #include "../task/task_command_manager.h" #include "../error_code/error_code.h" #include #include /* * 测量结果结构体 */ typedef struct LOCATE_INFORMATION { float locate_x; float locate_y; float locate_theta; float locate_length; float locate_width; float locate_hight; float locate_wheel_base; bool locate_correct; }Locate_information; /* * 测量任务类,负责维护测量任务所需的输入参数以及测量的结果 */ class Locate_task: public Task_Base { public: Locate_task(); virtual ~Locate_task(); //设置测量输入点云 Error_manager set_locate_cloud(pcl::PointCloud::Ptr cloud); //获取输入点云 pcl::PointCloud::Ptr get_locate_cloud(); //获取测量结果 Locate_information get_locate_information(); //设置测量结果 Error_manager set_locate_information(Locate_information information); //获取文件存放路径 std::string get_save_path(); //设置文件村昂路径 Error_manager set_save_path(std::string path); protected: //测量算法输入点云 pcl::PointCloud::Ptr m_locate_cloud_ptr; //测量结果 Locate_information m_locate_information; //测量中间文件存放路径 std::string m_save_path; }; #endif //LOCATE_TASK_H