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:
The codebase is coded in snake_case with accessor and getter function for most classes (there are a few exceptions). We leverage the Doxygen documentation system with a post-processing script from m.css. Please see Documentation Guide 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.
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.
The code uses a simple print statement level logic that allows the user to enable and disable the verbosity. In general the user can specify the following (see ov_core/src/utils/print.h file for details):
To use these, you can specify the following using the printf standard input logic. A user can also specify colors (see ov_core/src/utils/colors.h file for details):