namespace mola

Overview

namespace mola {

// namespaces

namespace mola::detail;
namespace mola::imu;
namespace mola::state_estimation_simple;
namespace mola::state_estimation_smoother;

// typedefs

typedef std::variant<std::monostate, SensorCamera, SensorIMU> SensorEntry;
typedef uint64_t euroc_timestamp_t;
typedef std::multimap<euroc_timestamp_t, SensorEntry> euroc_dataset_t;
typedef std::allocator<T> FastAllocator;
typedef std::set<T, Compare, FastAllocator<T>> fast_set;
typedef std::map<Key, T, Compare, FastAllocator<std::pair<const Key, T>>> fast_map;
typedef std::uint64_t id_t;
typedef std::uint64_t fid_t;
typedef mrpt::system::CTimeLogger Profiler;
typedef mrpt::system::CTimeLoggerEntry ProfilerEntry;
typedef mrpt::system::CTimeLoggerSaveAtDtor ProfilerSaverAtDtor;
typedef mrpt::poses::CPose3DInterpolator trajectory_t;
typedef mrpt::obs::CObservation CObservation;
typedef std::size_t timestep_t;
typedef mrpt::containers::yaml Yaml;

// enums

enum InitLocalization;
enum InputMode;

// structs

struct Georeferencing;
struct NavState;
struct RelocalizationICP_SE2;
struct RelocalizationLikelihood_SE2;
struct SensorCamera;
struct SensorIMU;
struct YAMLParseOptions;

template <typename cell_coord_t = int32_t>
struct index3d_hash;

template <typename cell_coord_t = int32_t>
struct index3d_t;

template <typename cell_coord_t = int32_t>
struct index_se3_t;

template <typename cell_coord_t = int32_t>
struct index_se3_t_hash;

template <class... Ts>
struct overloaded;

// classes

class BinFileDataset;
class BridgeROS2;
class Dataset_UI;
class EurocDataset;
class ExecutableBase;
class FactorConstVelKinematics;
class FactorTricycleKinematics;
class FilterBase;

template <typename T, size_t SIDE_NUM_BITS, typename inner_coord_t>
class FixedDenseGrid3D;

class FrontEndBase;
class HashedSetSE3;
class HashedVoxelPointCloud;
class KeyframePointCloudMap;
class Kitti360Dataset;
class KittiOdometryDataset;
class LidarOdometry;
class LocalizationSourceBase;
class MapServer;
class MapSourceBase;
class MinimalModuleContainer;
class MolaLauncherApp;
class MolaViz;
class MulranDataset;
class NDT;
class NavStateFilter;
class OccGrid;
class OfflineDatasetSource;
class ParisLucoDataset;
class RawDataConsumer;
class RawDataSourceBase;
class RawlogDataset;
class Relocalization;
class Rosbag2Dataset;
class SearchablePoseList;
class SparseTreesPointCloud;
class SparseVoxelPointCloud;
class Synchronizer;
class VideoDataset;
class VizInterface;

// global variables

constexpr id_t INVALID_ID = std::numeric_limits<id_t>::max();
constexpr fid_t INVALID_FID = std::numeric_limits<fid_t>::max();

// global functions

void pretty_print_exception(
    const std::exception& e,
    const std::string& headerLine,
    const bool use_std_cerr = true
    );

template <class... Ts>
overloaded(Ts...);

template <typename cell_coord_t>
std::ostream& operator << (
    std::ostream& o,
    const index3d_t<cell_coord_t>& idx
    );

template <typename cell_coord_t>
std::ostream& operator << (
    std::ostream& o,
    const index_se3_t<cell_coord_t>& idx
    );

auto find_best_poses_se2(const mrpt::poses::CPosePDFGrid& grid, const double percentile = 0.99);
std::string parse_yaml(const std::string& text, const YAMLParseOptions& opts = YAMLParseOptions());

mrpt::containers::yaml parse_yaml(
    const mrpt::containers::yaml& input,
    const YAMLParseOptions& opts = YAMLParseOptions()
    );

mrpt::containers::yaml load_yaml_file(const std::string& fileName, const YAMLParseOptions& opts = YAMLParseOptions());
std::string yaml_to_string(const mrpt::containers::yaml& cfg);

template <std::size_t N, typename T>
constexpr std::array<T, N> create_array(const T& value);

} // namespace mola

Typedefs

typedef mrpt::poses::CPose3DInterpolator trajectory_t

We reuse mrpt::poses::CPose3DInterpolator as a time-indexed map of SE(3) poses

typedef std::size_t timestep_t

0-based indices of observations in a dataset

typedef mrpt::containers::yaml Yaml

Convenient typedef to save typing in the MOLA project.

Global Functions

template <class... Ts>
overloaded(Ts...)

Based on https://en.cppreference.com/w/cpp/utility/variant/visit