You’re reading an older version of the Slamcore SDK documenation. The latest one is 23.04.

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()