#ifndef __LIVOX_HORIZON__H #define __LIVOX_HORIZON__H #include "Laser.h" #include "livox_def.h" #include "livox_sdk.h" #include #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& point3D_cloud); }; #endif