12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- //laser_task_command,是雷达任务指令的相关功能
- //功能:用作应用层向laser模块传输任务,的指令消息
- //用法:应用层直接调用laser的接口函数,并将Laser_task类作为参数传递
- //CLaser类则按照Laser_task的功能码和指定的参数,执行相应的功能
- //并将结果填充到Laser_task,返回给应用层
- #ifndef __LASER_TASK_COMMAND__HH__
- #define __LASER_TASK_COMMAND__HH__
- #include "Point2D.h"
- #include "Point3D.h"
- #include "../error_code/error_code.h"
- #include <vector>
- #include "../task/task_command_manager.h"
- //雷达模块的任务指令,从Task_Base继承,
- //补充了雷达专属的数据输入和输出
- class Laser_task:public Task_Base
- {
- public:
- //构造函数
- Laser_task();
- //析构函数
- ~Laser_task();
- //初始化任务单,必须初始化之后才可以使用,(必选参数)
- //input:task_type 任务类型
- // input:task_statu任务状态
- // output:p_task_point3d_cloud_vector三维点云容器指针
- //注:task_points_number默认为0,如果为0,则使用laser默认的点云的采集数量
- Error_manager task_init(Task_type task_type,
- Task_statu task_statu,
- std::vector<CPoint3D> * p_task_point3d_cloud_vector);
- //初始化任务单,必须初始化之后才可以使用,(可选参数)
- // input:task_type 任务类型
- // input:task_statu任务状态
- // input:task_statu_information状态说明
- // input:task_points_number点云的采集数量
- // output:p_task_point3d_cloud_vector三维点云容器指针
- //注:task_points_number默认为0,如果为0,则使用laser默认的点云的采集数量
- Error_manager task_init(Task_type task_type,
- Task_statu task_statu,
- std::string & task_statu_information,
- int task_points_number,
- std::vector<CPoint3D> * p_task_point3d_cloud_vector);
- //获取 点云的采集数量
- int get_task_points_number();
- //获取 三维点云容器
- std::vector<CPoint3D> * get_task_point3d_cloud_vector();
- //获取 错误码
- Error_manager get_task_error_manager();
- //设置 任务状态
- void set_task_statu(Task_statu task_statu);
- //设置 任务状态说明
- void set_task_statu_information(std::string & task_statu_information);
- //设置 点云的采集数量
- void set_task_points_number(int task_points_number);
- //设置 三维点云容器
- void set_task_point3d_cloud_vector(std::vector<CPoint3D> * p_task_point3d_cloud_vector);
- //设置 错误码
- void set_task_error_manager(Error_manager & error_manager);
- protected:
- //点云的采集数量,任务输入
- int m_task_points_number;
- //采集结果,三维点云容器,任务输出
- //这里只是指针,实际内存由应用层管理,初始化时必须保证内存有效。
- std::vector<CPoint3D> * pm_task_point3d_cloud_vector;
- //错误码,任务故障信息,任务输出
- Error_manager m_task_error_manager;
- };
- #endif //__LASER_TASK_COMMAND__HH__
|