38 {
39 _cyber_node = node;
40 _channels = channels;
41 _child_frame_ids = child_frame_ids;
42
43 _localization_method = "novatel";
44 auto create_folder = [](const std::string& folder) {
47 }
49 };
50
51 for (std::size_t i = 0; i < _channels.size(); ++i) {
52 const auto& channel = _channels[i];
53 const auto& child_frame_id = _child_frame_ids[i];
54 std::string folder = TransformChannelToFolder(channel);
55 if (IsLidar(channel)) {
56 _cyber_node->CreateReader<
PcMsg>(
57 channel,
58 std::bind(&MsgExporter::PointCloudMessageHandler, this,
59 std::placeholders::_1, channel, child_frame_id, folder));
60 create_folder(folder);
61 std::cout << "Bind lidar channel: " << channel << std::endl;
62 } else if (IsCamera(channel)) {
63 _cyber_node->CreateReader<
ImgMsg>(
64 channel,
65 std::bind(&MsgExporter::ImageMessageHandler, this,
66 std::placeholders::_1, channel, child_frame_id, folder));
67 create_folder(folder);
68 std::cout << "Bind camera channel: " << channel << std::endl;
69 } else {
70 std::cout << "Unknown channel type: " << channel << std::endl;
71 }
72 }
73}
apollo::drivers::Image ImgMsg
apollo::drivers::PointCloud PcMsg
bool DeleteFile(const string &filename)
bool CreateDir(const string &dir)
bool DirectoryExists(const std::string &directory_path)
Check if the directory specified by directory_path exists and is indeed a directory.