# 2 目录结构 ## 2.1 目录列表 `ag_driver` 工程的主要目录如下。 + `src` 库的源代码 + `demo` 使用 ag_driver 库的示例程序,包括: + `demo_online.cpp` 连接在线雷达的例子。 + `demo_online_muti_lidars.cpp` 连接多个在线雷达的例子。 + `demo_pcap.cpp` 解析 PCAP 文件的例子。 + `win` Windows 下 demo 的 `MSVC` 工程文件,已经设置好编译选项,可以成功编译 demo_online / demo_pcap 等。 + `tool` 实用工具程序 + `ag_driver_viewer.cpp` 基于 PCL 库的点云可视化工具。 + `ag_driver_pcdsaver.cpp` 将点云保存为 PCD 格式的工具。在嵌入式环境下可能没有 PCL 库支持,导致 `ag_driver_viewer` 不可用。这时可以用 `ag_driver_pcdsaver` 导出点云。 + `ag_image_tool` 将三维点云转换为二维深度图像的工具。 + `win` Windows 下 tool 的 `MSVC` 工程文件,已经设置好编译选项,可以成功编译 `ag_driver_viewer` 等。 + `doc` 帮助文档 + `howto` 回答了使用 `ag_driver` 的一些常见问题,如对 demo_online / demo_pcap 例子和 ag_driver_viewer 工具的讲解,如何配置网络选项,如何对点云作坐标转换,如何分帧,如何处理丢包和乱序,如何给点云打时间戳,点在点云中如何布局等。 + `intro` 解析 ag_driver 源代码的文档,说明 `ag_driver` 的设计思路和一些重要的实现细节。也对 `ag_driver` 的接口说明,包括参数选项、错误码、CMake 编译宏等。 + `cmake` CMake 构建 + `ag_driverConfig.cmake.in` 获取 CMakeLists.txt 并定义 ag_driver 头文件,库文件等文件的地址;以及验证 ag_driver 的版本。 + `version.hpp.in` 获取 CMakeLists.txt 并定义版本。 ```bash ├── src │   └── ag_driver ├── demo │   ├── win │   ├── demo_online.cpp │   ├── demo_online_multi_lidars.cpp │   └── demo_pcap.cpp ├── tool │   ├── win │   ├── ag_driver_pcdsaver.cpp │   └── ag_driver_viewer.cpp ├── doc │   ├── howto │   └── intro ├── cmake │   ├── ag_driverConfig.cmake.in │   └── version.hpp.in ├── CMakeLists.txt ├── README_CN.md ├── README.md ├── CHANGELOG.md ├── LICENSE ```