Basic Classes For Slam C++ developers

SLAM C++开发可能用到的一些基础类。其中包含读取yaml文件,读取配置文件,处理各种异常等。
项目地址1:https://github.com/XieShuaiCn/BasicClassesForSLAM
项目地址2:https://gitee.com/hrrcn/BasicClassesForSLAM
如果喜欢这段代码,记得给个star,谢谢!


关于类

所有类
ExceptionYamlReaderConfigure

Exception

这个类继承自 std::exception,但提供了更丰富的功能。

SLAM::Exception 提供了无参构造函数和带有错误信息的构造函数。和其他的exception不同的是,它可以记录错误发生的位置以及是哪个第三库引发了异常。

YamlReader

SLAM::Basic::YamlReader 是基于第三方库实现的。他统一了一些接口,另外可以解析bool、long、cv::Mat、Eigen::Matrix等。需要注意的是,cv::FileStorage 不能识别 truefalse,而 YAML::Node 不能读取 cv::Mat

具体一些,它提供了 ‘Read’ 和 ‘ReadSafe’ 方法。‘Read’ 接受一个 name 参数,这个参数表示键值对的名字。该函数返回该名称对应的值。这个值也可以通过参数引用返回。相较于 ‘Read’, ‘ReadSafe’ 接受一个附加的默认值参数,如果该键值对读取失败,就会返回该默认值。

它也提供了一些用来读取的静态方法,还有一些不太成熟的写入接口(YamlWriter, YamlIO)。

Configure

SLAM::Configure 用来读取设置文件。它被设计为一个单例模式调用,通过 IGetInstance 静态方法获取实例。当然,如果它不符合你的需求,你也可以改善它。该类需要 YamlReader 来完成解析读取功能。


关于依赖项

该项目需要OpenCVYaml-cpp 来读取文件。


关于问题

如果它的运行结果和你的期望有差距,你可以

  • 查看以前的问题
  • 提交一个新的问题
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页