From 0cf5c04259dec946276c51999064252a3e4834a5 Mon Sep 17 00:00:00 2001 From: Jose Luis Blanco-Claraco Date: Thu, 12 Dec 2024 09:07:58 +0100 Subject: [PATCH] mola-kernel Doxygen docs: add groups --- mola_kernel/include/mola_kernel/entities/EntityBase.h | 4 ++-- .../include/mola_kernel/entities/EntityRelativeBase.h | 2 +- .../include/mola_kernel/entities/KeyFrameBase.h | 2 +- .../include/mola_kernel/entities/LandmarkPoint3.h | 2 +- mola_kernel/include/mola_kernel/entities/RefPose3.h | 2 +- .../include/mola_kernel/entities/RelDynPose3KF.h | 2 +- mola_kernel/include/mola_kernel/entities/RelPose3.h | 2 +- mola_kernel/include/mola_kernel/entities/RelPose3KF.h | 2 +- .../include/mola_kernel/entities/entities-common.h | 6 ++++++ mola_kernel/include/mola_kernel/factors/FactorBase.h | 10 ++++++++-- .../mola_kernel/factors/FactorConstVelKinematics.h | 2 +- .../include/mola_kernel/factors/FactorRelativePose3.h | 2 +- .../mola_kernel/factors/FactorStereoProjectionPose.h | 2 +- .../include/mola_kernel/factors/SmartFactorIMU.h | 2 +- .../factors/SmartFactorStereoProjectionPose.h | 2 +- .../include/mola_kernel/interfaces/BackEndBase.h | 8 +++++++- .../include/mola_kernel/interfaces/Dataset_UI.h | 2 +- .../include/mola_kernel/interfaces/ExecutableBase.h | 2 +- .../include/mola_kernel/interfaces/FilterBase.h | 2 +- .../include/mola_kernel/interfaces/FrontEndBase.h | 2 +- .../mola_kernel/interfaces/LocalizationSourceBase.h | 2 +- mola_kernel/include/mola_kernel/interfaces/MapServer.h | 2 +- .../include/mola_kernel/interfaces/MapSourceBase.h | 2 +- .../include/mola_kernel/interfaces/NavStateFilter.h | 4 ++-- .../mola_kernel/interfaces/OfflineDatasetSource.h | 2 +- .../include/mola_kernel/interfaces/RawDataConsumer.h | 2 +- .../include/mola_kernel/interfaces/RawDataSourceBase.h | 2 +- .../include/mola_kernel/interfaces/Relocalization.h | 2 +- .../include/mola_kernel/interfaces/VizInterface.h | 2 +- 29 files changed, 49 insertions(+), 31 deletions(-) diff --git a/mola_kernel/include/mola_kernel/entities/EntityBase.h b/mola_kernel/include/mola_kernel/entities/EntityBase.h index 5947966a..80395bf1 100644 --- a/mola_kernel/include/mola_kernel/entities/EntityBase.h +++ b/mola_kernel/include/mola_kernel/entities/EntityBase.h @@ -23,13 +23,13 @@ namespace mola { /** Arbitrary annotated data, indexed by "label" or "variable name" and *capable of offline storage on disk when not used. - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ using annotations_data_t = std::map; /** Base class for all "entities" in the world model * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class EntityBase : public mrpt::serialization::CSerializable { diff --git a/mola_kernel/include/mola_kernel/entities/EntityRelativeBase.h b/mola_kernel/include/mola_kernel/entities/EntityRelativeBase.h index ddb1fc08..4db251bb 100644 --- a/mola_kernel/include/mola_kernel/entities/EntityRelativeBase.h +++ b/mola_kernel/include/mola_kernel/entities/EntityRelativeBase.h @@ -17,7 +17,7 @@ namespace mola { /** World optimizable entities which are relative to some keyframe. * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class EntityRelativeBase : public EntityBase { diff --git a/mola_kernel/include/mola_kernel/entities/KeyFrameBase.h b/mola_kernel/include/mola_kernel/entities/KeyFrameBase.h index 4386ff7a..6a1bbb72 100644 --- a/mola_kernel/include/mola_kernel/entities/KeyFrameBase.h +++ b/mola_kernel/include/mola_kernel/entities/KeyFrameBase.h @@ -25,7 +25,7 @@ namespace mola * This class is used as a base class for all world-model entities that can be * used as robot/vehicle keyframes. * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class KeyFrameBase { diff --git a/mola_kernel/include/mola_kernel/entities/LandmarkPoint3.h b/mola_kernel/include/mola_kernel/entities/LandmarkPoint3.h index 36456f61..f21180ae 100644 --- a/mola_kernel/include/mola_kernel/entities/LandmarkPoint3.h +++ b/mola_kernel/include/mola_kernel/entities/LandmarkPoint3.h @@ -18,7 +18,7 @@ namespace mola { /** A 3D point landmark. * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class LandmarkPoint3 : public EntityBase { diff --git a/mola_kernel/include/mola_kernel/entities/RefPose3.h b/mola_kernel/include/mola_kernel/entities/RefPose3.h index 54efc29a..63d8e367 100644 --- a/mola_kernel/include/mola_kernel/entities/RefPose3.h +++ b/mola_kernel/include/mola_kernel/entities/RefPose3.h @@ -21,7 +21,7 @@ namespace mola * relative maps (submaps). Global SLAM frameworks should have only one entity * of this class, submapping approaches will have several instances. * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class RefPose3 : public EntityBase { diff --git a/mola_kernel/include/mola_kernel/entities/RelDynPose3KF.h b/mola_kernel/include/mola_kernel/entities/RelDynPose3KF.h index ed1c7560..a2d857e2 100644 --- a/mola_kernel/include/mola_kernel/entities/RelDynPose3KF.h +++ b/mola_kernel/include/mola_kernel/entities/RelDynPose3KF.h @@ -21,7 +21,7 @@ namespace mola /** A relative "dynamic" pose: SE(3) pose + velocity vector. * Both the pose and the velocity vector are given in the frame of the base KF. * This entity is also a key-frame. - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class RelDynPose3KF : public EntityRelativeBase, public KeyFrameBase { diff --git a/mola_kernel/include/mola_kernel/entities/RelPose3.h b/mola_kernel/include/mola_kernel/entities/RelPose3.h index f13dcd31..c6328a01 100644 --- a/mola_kernel/include/mola_kernel/entities/RelPose3.h +++ b/mola_kernel/include/mola_kernel/entities/RelPose3.h @@ -18,7 +18,7 @@ namespace mola { /** A relative SE(3) pose (e.g. a sensor pose wrt the vehicle) * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class RelPose3 : public EntityRelativeBase { diff --git a/mola_kernel/include/mola_kernel/entities/RelPose3KF.h b/mola_kernel/include/mola_kernel/entities/RelPose3KF.h index 68ee459a..36a78c5c 100644 --- a/mola_kernel/include/mola_kernel/entities/RelPose3KF.h +++ b/mola_kernel/include/mola_kernel/entities/RelPose3KF.h @@ -20,7 +20,7 @@ namespace mola /** A relative SE(3) keyframe, holding a relative SE(3) pose wrt to the base * frame. * This entity is also a key-frame. - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_entities_grp */ class RelPose3KF : public EntityRelativeBase, public KeyFrameBase { diff --git a/mola_kernel/include/mola_kernel/entities/entities-common.h b/mola_kernel/include/mola_kernel/entities/entities-common.h index 3593c9f2..58924bc0 100644 --- a/mola_kernel/include/mola_kernel/entities/entities-common.h +++ b/mola_kernel/include/mola_kernel/entities/entities-common.h @@ -21,7 +21,13 @@ namespace mola { +/** \addtogroup mola_kernel_entities_grp Centralized map database entities + * \ingroup mola_kernel_grp + * @{ */ + /** Placeholder for generic entity of user-defined types */ using EntityOther = std::shared_ptr; +/** @} */ + } // namespace mola diff --git a/mola_kernel/include/mola_kernel/factors/FactorBase.h b/mola_kernel/include/mola_kernel/factors/FactorBase.h index 6aa98396..5db1a0cc 100644 --- a/mola_kernel/include/mola_kernel/factors/FactorBase.h +++ b/mola_kernel/include/mola_kernel/factors/FactorBase.h @@ -17,8 +17,12 @@ namespace mola { +/** \addtogroup mola_kernel_factors_grp Centralized map database factors + * \ingroup mola_kernel_grp + * @{ */ + /** Defines a type of robust (m-Estimator) factor - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ enum class Robust : uint8_t { @@ -32,7 +36,7 @@ enum class Robust : uint8_t /** Base class for all "factors" in the world model * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class FactorBase : public mrpt::serialization::CSerializable { @@ -73,4 +77,6 @@ class FactorBase : public mrpt::serialization::CSerializable void baseSerializeFrom(mrpt::serialization::CArchive& in); }; +/** @} */ + } // namespace mola diff --git a/mola_kernel/include/mola_kernel/factors/FactorConstVelKinematics.h b/mola_kernel/include/mola_kernel/factors/FactorConstVelKinematics.h index 94d30aba..42e27881 100644 --- a/mola_kernel/include/mola_kernel/factors/FactorConstVelKinematics.h +++ b/mola_kernel/include/mola_kernel/factors/FactorConstVelKinematics.h @@ -19,7 +19,7 @@ namespace mola /** Abstract representation of a constant-velocity kinematic motion model factor * between two key frames. * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class FactorConstVelKinematics : public FactorBase { diff --git a/mola_kernel/include/mola_kernel/factors/FactorRelativePose3.h b/mola_kernel/include/mola_kernel/factors/FactorRelativePose3.h index e4348642..bf80f87b 100644 --- a/mola_kernel/include/mola_kernel/factors/FactorRelativePose3.h +++ b/mola_kernel/include/mola_kernel/factors/FactorRelativePose3.h @@ -21,7 +21,7 @@ namespace mola { /** * - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class FactorRelativePose3 : public FactorBase { diff --git a/mola_kernel/include/mola_kernel/factors/FactorStereoProjectionPose.h b/mola_kernel/include/mola_kernel/factors/FactorStereoProjectionPose.h index 0261de22..20ea6fff 100644 --- a/mola_kernel/include/mola_kernel/factors/FactorStereoProjectionPose.h +++ b/mola_kernel/include/mola_kernel/factors/FactorStereoProjectionPose.h @@ -26,7 +26,7 @@ struct StereoObservation /** Smart factor for a set of stereo-camera observations of one point landmark. * The ID of the factor is the ID of the landmark. - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class FactorStereoProjectionPose : public FactorBase { diff --git a/mola_kernel/include/mola_kernel/factors/SmartFactorIMU.h b/mola_kernel/include/mola_kernel/factors/SmartFactorIMU.h index a90847da..3a9020e7 100644 --- a/mola_kernel/include/mola_kernel/factors/SmartFactorIMU.h +++ b/mola_kernel/include/mola_kernel/factors/SmartFactorIMU.h @@ -20,7 +20,7 @@ namespace mola class BackEndBase; /** Smart factor for a set of IMU measurements (acceleration & gyroscope). - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class SmartFactorIMU : public FactorBase { diff --git a/mola_kernel/include/mola_kernel/factors/SmartFactorStereoProjectionPose.h b/mola_kernel/include/mola_kernel/factors/SmartFactorStereoProjectionPose.h index 1c2cf65c..e72c49a9 100644 --- a/mola_kernel/include/mola_kernel/factors/SmartFactorStereoProjectionPose.h +++ b/mola_kernel/include/mola_kernel/factors/SmartFactorStereoProjectionPose.h @@ -23,7 +23,7 @@ class BackEndBase; /** Smart factor for a set of stereo-camera observations of one point landmark. * The ID of the factor is the ID of the landmark. - * \ingroup mola_kernel_grp + * \ingroup mola_kernel_factors_grp */ class SmartFactorStereoProjectionPose : public FactorBase { diff --git a/mola_kernel/include/mola_kernel/interfaces/BackEndBase.h b/mola_kernel/include/mola_kernel/interfaces/BackEndBase.h index 4af4f632..657ce383 100644 --- a/mola_kernel/include/mola_kernel/interfaces/BackEndBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/BackEndBase.h @@ -26,11 +26,15 @@ namespace mola { +/** \addtogroup mola_kernel_interfaces_grp MOLA virtual interfaces + * \ingroup mola_kernel_grp + * @{ */ + /** Virtual interface for SLAM back-ends. * All calls to `onXXX()` methods are enqueued and executed in a separate * thread. * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class BackEndBase : public ExecutableBase { #if MRPT_VERSION < 0x020e00 @@ -157,4 +161,6 @@ class BackEndBase : public ExecutableBase 2, mrpt::WorkerThreadsPool::POLICY_FIFO, "slam_backend"}; }; +/** @} */ + } // namespace mola diff --git a/mola_kernel/include/mola_kernel/interfaces/Dataset_UI.h b/mola_kernel/include/mola_kernel/interfaces/Dataset_UI.h index 8b38ef95..aa3f9a5b 100644 --- a/mola_kernel/include/mola_kernel/interfaces/Dataset_UI.h +++ b/mola_kernel/include/mola_kernel/interfaces/Dataset_UI.h @@ -16,7 +16,7 @@ namespace mola { /** Virtual base for offline dataset sources to have a GUI within MolaViz - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class Dataset_UI { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/ExecutableBase.h b/mola_kernel/include/mola_kernel/interfaces/ExecutableBase.h index 78c626f5..0b609280 100644 --- a/mola_kernel/include/mola_kernel/interfaces/ExecutableBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/ExecutableBase.h @@ -31,7 +31,7 @@ using ProfilerEntry = mrpt::system::CTimeLoggerEntry; using ProfilerSaverAtDtor = mrpt::system::CTimeLoggerSaveAtDtor; /** Base virtual class for all executable (nodelet-like) units inside a - * SLAM system. \ingroup mola_kernel_grp */ + * SLAM system. \ingroup mola_kernel_interfaces_grp */ class ExecutableBase : public mrpt::system::COutputLogger, // for logging public mrpt::rtti::CObject, // RTTI helpers std::enable_shared_from_this diff --git a/mola_kernel/include/mola_kernel/interfaces/FilterBase.h b/mola_kernel/include/mola_kernel/interfaces/FilterBase.h index f5262d00..89cd5e8f 100644 --- a/mola_kernel/include/mola_kernel/interfaces/FilterBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/FilterBase.h @@ -22,7 +22,7 @@ namespace mola /** Base class for filters: get observations via `onNewObservation()`, and * immediately send them to a worker thread that works on it, possibly * publishing the output via `sendObservationsToFrontEnds()`. - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class FilterBase : public RawDataSourceBase, RawDataConsumer { #if MRPT_VERSION < 0x020e00 diff --git a/mola_kernel/include/mola_kernel/interfaces/FrontEndBase.h b/mola_kernel/include/mola_kernel/interfaces/FrontEndBase.h index 85b772b2..92a74116 100644 --- a/mola_kernel/include/mola_kernel/interfaces/FrontEndBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/FrontEndBase.h @@ -31,7 +31,7 @@ namespace mola * (default=1 Hz), or * - Use your own logic to enqueue a task into a worker thread pool (preferred). * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class FrontEndBase : public ExecutableBase, public RawDataConsumer { #if MRPT_VERSION < 0x020e00 diff --git a/mola_kernel/include/mola_kernel/interfaces/LocalizationSourceBase.h b/mola_kernel/include/mola_kernel/interfaces/LocalizationSourceBase.h index aacf1085..4c696fa9 100644 --- a/mola_kernel/include/mola_kernel/interfaces/LocalizationSourceBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/LocalizationSourceBase.h @@ -31,7 +31,7 @@ namespace mola * must call subscribeToLocalizationUpdates() providing a callback that returns * as fast as possible. * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class LocalizationSourceBase { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/MapServer.h b/mola_kernel/include/mola_kernel/interfaces/MapServer.h index f37049bf..a0758dc7 100644 --- a/mola_kernel/include/mola_kernel/interfaces/MapServer.h +++ b/mola_kernel/include/mola_kernel/interfaces/MapServer.h @@ -17,7 +17,7 @@ namespace mola { /** Virtual interface for map server services offered by MOLA modules - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class MapServer { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/MapSourceBase.h b/mola_kernel/include/mola_kernel/interfaces/MapSourceBase.h index 688886f7..739d35c0 100644 --- a/mola_kernel/include/mola_kernel/interfaces/MapSourceBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/MapSourceBase.h @@ -23,7 +23,7 @@ namespace mola { /** Virtual interface for SLAM/odometry methods publishing a map * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class MapSourceBase { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/NavStateFilter.h b/mola_kernel/include/mola_kernel/interfaces/NavStateFilter.h index 0b768974..cb9ea00d 100644 --- a/mola_kernel/include/mola_kernel/interfaces/NavStateFilter.h +++ b/mola_kernel/include/mola_kernel/interfaces/NavStateFilter.h @@ -26,7 +26,7 @@ namespace mola { /** The state returned by NavStateFilter * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ struct NavState { NavState() = default; @@ -52,7 +52,7 @@ struct NavState /** Unified API for kinematic state filtering algorithms, * fusing information from multiple odometry or twist sources. * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class NavStateFilter : public mrpt::system::COutputLogger { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/OfflineDatasetSource.h b/mola_kernel/include/mola_kernel/interfaces/OfflineDatasetSource.h index 1014be96..c509e303 100644 --- a/mola_kernel/include/mola_kernel/interfaces/OfflineDatasetSource.h +++ b/mola_kernel/include/mola_kernel/interfaces/OfflineDatasetSource.h @@ -24,7 +24,7 @@ namespace mola using trajectory_t = mrpt::poses::CPose3DInterpolator; /** Virtual base for offline dataset sources - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class OfflineDatasetSource { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/RawDataConsumer.h b/mola_kernel/include/mola_kernel/interfaces/RawDataConsumer.h index e187cbf8..20cf4d8d 100644 --- a/mola_kernel/include/mola_kernel/interfaces/RawDataConsumer.h +++ b/mola_kernel/include/mola_kernel/interfaces/RawDataConsumer.h @@ -20,7 +20,7 @@ namespace mola using CObservation = mrpt::obs::CObservation; /** Virtual base for raw-observation consumers - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class RawDataConsumer { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/RawDataSourceBase.h b/mola_kernel/include/mola_kernel/interfaces/RawDataSourceBase.h index 04f0996a..1b9be2fb 100644 --- a/mola_kernel/include/mola_kernel/interfaces/RawDataSourceBase.h +++ b/mola_kernel/include/mola_kernel/interfaces/RawDataSourceBase.h @@ -27,7 +27,7 @@ namespace mola using timestep_t = std::size_t; /** Virtual base for raw-observation data sources (sensors, dataset - * parsers,...) \ingroup mola_kernel_grp */ + * parsers,...) \ingroup mola_kernel_interfaces_grp */ class RawDataSourceBase : public mola::ExecutableBase { #if MRPT_VERSION < 0x020e00 diff --git a/mola_kernel/include/mola_kernel/interfaces/Relocalization.h b/mola_kernel/include/mola_kernel/interfaces/Relocalization.h index 32649adc..970a8ef2 100644 --- a/mola_kernel/include/mola_kernel/interfaces/Relocalization.h +++ b/mola_kernel/include/mola_kernel/interfaces/Relocalization.h @@ -17,7 +17,7 @@ namespace mola { /** Virtual interface for relocalization offered by MOLA modules - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class Relocalization { public: diff --git a/mola_kernel/include/mola_kernel/interfaces/VizInterface.h b/mola_kernel/include/mola_kernel/interfaces/VizInterface.h index a43e26a7..6f3bda92 100644 --- a/mola_kernel/include/mola_kernel/interfaces/VizInterface.h +++ b/mola_kernel/include/mola_kernel/interfaces/VizInterface.h @@ -21,7 +21,7 @@ namespace mola { /** Virtual visualization interface (see MolaViz) * - * \ingroup mola_kernel_grp */ + * \ingroup mola_kernel_interfaces_grp */ class VizInterface { public: