diff --git a/docs/00-page-order.dox b/docs/00-page-order.dox index c6bf6b5e5..4c8e2a38f 100644 --- a/docs/00-page-order.dox +++ b/docs/00-page-order.dox @@ -14,8 +14,8 @@ -@page developers Developers guide -@page coding-style Coding style +@page dev-developers Developer guide +@page dev-coding-style Developer coding style diff --git a/docs/coding-style.dox b/docs/coding-style.dox deleted file mode 100644 index d2d4714af..000000000 --- a/docs/coding-style.dox +++ /dev/null @@ -1,38 +0,0 @@ -/** - - -@page coding-style Coding Style - - - -@section coding-style-overview Overview - -Please note that if you have a good excuse to either break the rules or modify -them, feel free to do it (and update this guide accordingly, if appropriate). -Nothing is worse than rule that hurts productivity instead of improving it. -In general, the main aim of this style is: - -- Vertical and horizontal compression, fitting more code on a screen while keeping the code readable. -- Do not need to enforce line wrapping if clarity is impacted (i.e. Jacobians) -- Consistent indentation and formatting rules to ensure readability - - - -@m_class{m-block m-danger} - -@par Document Our Coding Style - Need to add documentation on how we name variables, how normal code should be formatted. - This should closely follow our own internal code while also incorporating good practices. - - - -@section coding-style-naming Naming Conventions - - -TODO: need to talk here about how we do our frames, and other variables. - - - - - -*/ \ No newline at end of file diff --git a/docs/dev-coding-style.dox b/docs/dev-coding-style.dox new file mode 100644 index 000000000..0ea64f39d --- /dev/null +++ b/docs/dev-coding-style.dox @@ -0,0 +1,47 @@ +/** + + +@page dev-coding-style Coding Style + + + +@section coding-style-overview Overview + +Please note that if you have a good excuse to either break the rules or modify +them, feel free to do it (and update this guide accordingly, if appropriate). +Nothing is worse than rule that hurts productivity instead of improving it. +In general, the main aim of this style is: + +- Vertical and horizontal compression, fitting more code on a screen while keeping the code readable. +- Do not need to enforce line wrapping if clarity is impacted (i.e. Jacobians) +- Consistent indentation and formatting rules to ensure readability (4 space tabbing) + + +The codebase is coded in [snake case](https://en.wikipedia.org/wiki/Snake_case) with accessor and getter function for most classes. +We leverage the [Doxygen](http://www.doxygen.nl/) documentation system with a post-processing script from [m.css](https://mcss.mosra.cz/documentation/doxygen/). +Please see @ref dev-developers for details on how our documentation is generated. +All functions should be commented both internally and externally with a focus on being as clear to a developer or user that is reading the code or documentation website. + + + + +@section coding-style-naming Naming Conventions + +We have particular naming style for our orientations and positions that should be consistent throughout the project. +In general rotation matrices are the only exception of a variable that starts with a capital letter. +Both position and orientation variables should contain the frame of references. + + +@code{.cpp} +Eigen::Matrix R_ItoC; //=> SO(3) rotation from IMU to camera frame +Eigen::Matrix q_ItoC; //=> JPL quaternion rot from IMU to the camera +Eigen::Vector3d p_IinC; //=> 3d position of the IMU frame in the camera frame +Eigen::Vector3d p_FinG; //=> position of feature F in the global frame G +@endcode + + + + + + +*/ \ No newline at end of file diff --git a/docs/developers.dox b/docs/dev-developers.dox similarity index 95% rename from docs/developers.dox rename to docs/dev-developers.dox index e6f371a41..743e4780e 100644 --- a/docs/developers.dox +++ b/docs/dev-developers.dox @@ -1,7 +1,7 @@ /** -@page developers Developers guide +@page dev-developers Developer guide @section developers-addpage Adding a website page @@ -11,7 +11,6 @@ gets listed at a proper place 3. If the page is not top-level, list it using @c \@subpage in its parent page 4. Add a @c \@brief documentation, if applicable -5. Populate it, see @ref coding-style for more information diff --git a/docs/gs-calibration.dox b/docs/gs-calibration.dox index 81a2cd98a..0852dc959 100644 --- a/docs/gs-calibration.dox +++ b/docs/gs-calibration.dox @@ -5,19 +5,19 @@ -@section calib-cam-static Camera intrinsic calibration +@section gs-calib-cam-static Camera intrinsic calibration -@section calib-imu-static IMU intrinsic calibration +@section gs-calib-imu-static IMU intrinsic calibration -@section calib-cam-dynamic Dynamic IMU-CAM calibration +@section gs-calib-cam-dynamic Dynamic IMU-CAM calibration diff --git a/docs/gs-datasets.dox b/docs/gs-datasets.dox index a8576ce6f..b2346e819 100644 --- a/docs/gs-datasets.dox +++ b/docs/gs-datasets.dox @@ -4,7 +4,7 @@ @page gs-datasets Supported Datasets -@section data-euroc The EuRoC MAV Dataset +@section gs-data-euroc The EuRoC MAV Dataset | Dataset Name | Length | Link Dataset | Link Groundtruth | Link Calibration | @@ -19,7 +19,7 @@ -@section data-tumvi TUM Visual-Inertial Dataset +@section gs-data-tumvi TUM Visual-Inertial Dataset | Dataset Name | Length | Link Dataset | Link Groundtruth | Link Calibration | @@ -34,7 +34,7 @@ -@section data-rpng RPNG Dataset +@section gs-data-rpng RPNG Dataset | Dataset Name | Length | Link Dataset | Link Groundtruth | Link Calibration | diff --git a/docs/gs-tutorial.dox b/docs/gs-tutorial.dox index 09ab75077..0e0484874 100644 --- a/docs/gs-tutorial.dox +++ b/docs/gs-tutorial.dox @@ -4,27 +4,27 @@ @page gs-tutorial Simple Tutorial -@section data Dataset +@section gs-data Dataset -@section launch Configuration +@section gs-launch Configuration -@section viz Visualization +@section gs-viz Visualization -@section evaluation Evaluation +@section gs-evaluation Evaluation