1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #ifndef __LIVOX_HORIZON__H
- #define __LIVOX_HORIZON__H
- #include "Laser.h"
- #include "livox_def.h"
- #include "livox_sdk.h"
- #include <map>
- #include "LivoxLaser.h"
- //大疆livox雷达,从Laser_base继承。
- class CHorizonLaser :public CLivoxLaser
- {
- public:
- CHorizonLaser() = delete;
- CHorizonLaser(const CHorizonLaser& other) = delete;
- //唯一的构造函数,按照设备名称和雷达参数来创建实例。
- //input:id: 雷达设备的id,(唯一索引)
- //input:laser_param:雷达的参数,
- //注:利用protobuf创建 laser_parameter 类,然后从文件读取参数
- CHorizonLaser(int id, Laser_proto::laser_parameter laser_param);
- ~CHorizonLaser();
- //雷达的启动接口函数, 让雷达进行扫描,一般需要子类重载,不同的雷达开始方式不同。
- virtual Error_manager start_scan();
- //将二进制消息转化为三维点云的功能函数,并将其存入 任务单 , 每次只转化一个CBinaryData,
- // 纯虚函数,必须由子类重载,
- virtual Buf_type transform_buf_to_points(Binary_buf* p_binary_buf, std::vector<CPoint3D>& point3D_cloud);
- };
- #endif
|