把点云数据保存为lvx文件的项目是lidar_lvx_sample,研究了一下这个项目的源码,记录一下。
主要希望解决的有两个问题,第一个是如何对点云保存的时间选择加以控制,第二个是如何控制保存哪些数据,例如清空历史数据。
源码主要包含lvx_file.cpp和main.cpp两个c++文件。文件内几个关键的函数和作用:
void LvxFileHandle::SaveFrameToLvxFile(std::list<LvxBasePackDetail>&point_packet_list_temp){
}
作用是把参数内的点云数据列表保存到本地。每个点的数据放在一个packet里,很多个packet组成一个list,把list作为单位保存到本地。
void GetLidarData(uint8_t handle, LivoxEthPacket *data, uint32_t data_num, vo