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.

Note

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.

Defines

REGISTER_SUBSYSTEM(SubsystemInterfaceT)

Functions

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

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, PanopticSegmentationSubsystemInterface, 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

Functions

template<typename Subsystem>
const SubsystemType &getSubsystemType()