class mola::WorldModel
Overview
The main class for a “map” or “world model”.
This class cannot be factored out into its independent module due to its tight connection to “mola-kernel/interfaces”.
#include <WorldModel.h> class WorldModel: public mola::ExecutableBase { public: // structs struct Parameters; // fields Parameters params_; // methods void setModuleInstanceName(const std::string& s); std::string getModuleInstanceName() const; void map_load_from(mrpt::serialization::CArchive& in); void map_load_from(const std::string& fileName); void map_save_to(mrpt::serialization::CArchive& out) const; void map_save_to(const std::string& fileName) const; std::string map_base_directory() const; void entities_lock_for_read(); void entities_unlock_for_read(); void entities_lock_for_write(); void entities_unlock_for_write(); void factors_lock_for_read(); void factors_unlock_for_read(); void factors_lock_for_write(); void factors_unlock_for_write(); const Entity& entity_by_id(const id_t id) const; Entity& entity_by_id(const id_t id); const Factor& factor_by_id(const fid_t id) const; Factor& factor_by_id(const fid_t id); id_t entity_emplace_back(Entity&& e); fid_t factor_emplace_back(Factor&& f); id_t entity_push_back(const Entity& e); fid_t factor_push_back(const Factor& f); std::vector<id_t> entity_all_ids() const; std::vector<fid_t> factor_all_ids() const; annotations_data_t& entity_annotations_by_id(const id_t id); const annotations_data_t& entity_annotations_by_id(const id_t id) const; std::set<id_t> entity_neighbors(const id_t id) const; virtual void onParameterUpdate(] const mrpt::containers::yaml& names_values); void changeParameters(const mrpt::containers::yaml& names_values); virtual void initialize(const Yaml& cfg); virtual void spinOnce(); virtual int launchOrderPriority() const; bool requestedShutdown() const; };
Inherited Members
public: // methods virtual void initialize(const Yaml& cfg) = 0;
Methods
void map_load_from(mrpt::serialization::CArchive& in)
Loads the map from a given source.
Parameters:
std::runtime_error |
in case of any I/O error. |
void map_load_from(const std::string& fileName)
overload
void map_save_to(mrpt::serialization::CArchive& out) const
Saves the map to the given data sink.
Parameters:
std::runtime_error |
in case of any I/O error. |
std::string map_base_directory() const
Returns the directory where entities will be swapped-off to disk when unloaded, i.e. the map database directory. This directory is built at construction from MOLA_MAP_STORAGE_DIR
and the map name, which by default is the current date and time.
std::set<id_t> entity_neighbors(const id_t id) const
Returns all entities that are connected to a given one by any common factor.
virtual void initialize(const Yaml& cfg)
This must be implemented to read all the required parameters
This should be reimplemented to read all the required parameters
virtual void spinOnce()
Runs any required action on a timely manner
virtual int launchOrderPriority() const
The WorldModel is launched first, before most other modules.