RMVL
1.5.0-dev
Robotic Manipulation and Vision Library
|
上一篇教程:为基于 ARM 的 Linux 系统配置交叉编译 ↑
Doxygen 是用于构建文档系统的工具,包含非常多的实用特性,包括:
可在官方网站的下载和安装页面进行查看,一些 Linux 发行版也提供了有关 Doxygen 的包,例如 Ubuntu 可通过以下命令进行安装。
build
文件夹,并 cd build
cmake
,或使用 cmake-gui
make
有关文档的一切内容均放置在 <path-to-rmvl>/doc
中,下面列举一些关于文档生成重要的部分
make doxygen
提供文档构建指南。内部定义了有关文档构建范式的所有内容,包括构建类型(HTML、LaTeX 等)、构建工作空间、源代码中的构建内容等;此外,RMVL 的文档在构建中会自动递归索引项目顶级目录下的所有文件,最终生成包含以下几个部分
源代码 中的实体,包括类、函数、枚举等内容,这些内容需要被定义在相应的头文件中。
为了给类、函数或其他实体生成文档,需要使用特定的注释方式,比如说
/** * @brief 计算相机中心与目标中心之间的相对角度 * @note 公式推导参考函数 @ref calculateRelativeCenter() ,现直接给出结果 \f[\begin{bmatrix} * \tan{yaw}\\\tan{pitch}\\1\end{bmatrix}=\begin{bmatrix}f_x&0&u_0\\0&f_y&v_0\\0&0&1 * \end{bmatrix}^{-1}\begin{bmatrix}u\\v\\1\end{bmatrix}\f] * * @param[in] cameraMatrix 相机内参矩阵 * @param[in] center 像素坐标系下的目标中心 * @return 相对角度,目标在图像右方,point.x 为正,目标在图像下方,point.y 为正 */ cv::Point2f calculateRelativeAngle(const cv::Matx33f &cameraMatrix, cv::Point2f center);
[in]
、[out]
和 [in out]
做区分,例如 @param[in] cameraMatrix 相机内参矩阵
[in] | cameraMatrix | 相机内参矩阵 |
@note 公式推导参考函数 @ref rm::calculateRelativeCenter
@return 相对角度
f$
命令开始 \f$ ... \f$块公式使用
f[
和 f]
命令 \f[ ... \f]示例
若状态向量包含以下内容:\f$[p, v, a]\f$ ,然而观测向量仅包含 \f$[p, v]\f$, 在这种情况下,需要使用一个观测转换矩阵 \f$H_{2\times3}\f$。在上述例子中可表示为 \f[\begin{bmatrix}p\\v\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix} \begin{bmatrix}p\\v\\a\end{bmatrix}\f]
结果如下
若状态向量包含以下内容: \([p, v, a]\) ,然而观测向量仅包含 \([p, v]\), 在这种情况下,需要使用一个观测转换矩阵 \(H_{2\times3}\)。在上述例子中可表示为
\[\begin{bmatrix}p\\v\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix} \begin{bmatrix}p\\v\\a\end{bmatrix}\]
Doxygen 支持部分 Markdown 语法与扩展,本篇教程页面同样使用了很多的 Markdown 语法。
每个文档页面都应该为自己设置一个 ID,比如本篇教程的标题和 ID 如下
为 RMVL 撰写说明文档 {#tutorial_document}
使用以下命令进行子页面的跳转
@subpage xxx
使用以下命令进行页面内或其他地方的引用
@ref xxx
使用以下命令创建代码块
@code{.cpp} std::cout << "Hello World" << std::endl; @endcode
渲染结果如下
使用以下命令创建按钮
### 按钮示例 @add_toggle{C++} This is C++. @code{.cpp} std::cout << "Hello World" << std::endl; @endcode @end_toggle @add_toggle{Python} This is Python. @code{.py} print("Hello World") @endcode @end_toggle
渲染结果如下