File subsystem.hpp

Core API subsystems.

Includes the majority of the subsystems that are used when using the Slamcore API. Along with their definition, we define load_minimal, save_minimal helper functions as well as the operator<< for storing/dumping their types.


Notice that the majority of the classes are suffixed with *Interface. That’s because when you get access to the corresponding instance, you do via a pointer type (namely std::shared_ptr or the class member aliases Ptr, CPtr) and not through the actual class instance.




template<typename Subsystem>
const SubsystemType &getSubsystemType()
namespace slamcore

Main namespace for the Slamcore public API

Helper conversion methods

slamcore::ImageFormat \(\leftrightarrow\) BytesPerChannel

Get information about the client library

class SubsystemInterface
#include <subsystem.hpp>

Common interface for all the subsystems - enables runtime polymorphism.

Subclassed by HeightMappingSubsystemInterface, OptimisedTrajectorySubsystemInterface, SensorsInfoInterface

Public Types

using Ptr = std::shared_ptr<SubsystemInterface>
using CPtr = std::shared_ptr<const SubsystemInterface>

Public Functions

virtual ~SubsystemInterface() = default

Protected Functions

inline SubsystemInterface()
namespace detail

Slamcore API internal namespace


template<typename Subsystem>
const SubsystemType &getSubsystemType()