Solar
Public Member Functions | List of all members
SolAR::api::storage::IMapManager Class Referenceabstract

Allow to manage all components of a map. UUID: 90075c1b-915b-469d-b92d-41c5d575bf15 More...

#include <IMapManager.h>

Inheritance diagram for SolAR::api::storage::IMapManager:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::storage::IMapManager:
Collaboration graph
[legend]

Public Member Functions

 IMapManager ()=default
 IMapManager default constructor.
 
virtual ~IMapManager ()
 IMapManager default destructor.
 
virtual FrameworkReturnCode setMap (const SRef< SolAR::datastructure::Map > map)=0
 Set the map. More...
 
virtual FrameworkReturnCode getMap (SRef< SolAR::datastructure::Map > &map)=0
 Get the map. More...
 
virtual FrameworkReturnCode getSubmap (uint32_t idCenteredKeyframe, uint32_t nbKeyframes, SRef< SolAR::datastructure::Map > &submap)=0
 Get the submap around a centered keyframe. More...
 
virtual FrameworkReturnCode getLocalPointCloud (const std::vector< SRef< SolAR::datastructure::Keyframe > > &keyframes, std::vector< SRef< SolAR::datastructure::CloudPoint > > &localPointCloud) const =0
 Get local point cloud seen from the keyframes. More...
 
virtual FrameworkReturnCode getLocalPointCloud (const SRef< SolAR::datastructure::Keyframe > keyframe, const float minWeightNeighbor, std::vector< SRef< SolAR::datastructure::CloudPoint > > &localPointCloud) const =0
 Get local point cloud seen from the keyframe and its neighbors. More...
 
virtual FrameworkReturnCode addCloudPoint (const SRef< SolAR::datastructure::CloudPoint > cloudPoint)=0
 Add a point cloud to map manager and update visibility of keyframes and covisibility graph. More...
 
virtual FrameworkReturnCode removeCloudPoint (const SRef< SolAR::datastructure::CloudPoint > cloudPoint)=0
 Remove a point cloud from map manager and update visibility of keyframes and covisibility graph. More...
 
virtual FrameworkReturnCode addKeyframe (const SRef< SolAR::datastructure::Keyframe > keyframe)=0
 Add a keyframe to map manager. More...
 
virtual FrameworkReturnCode removeKeyframe (const SRef< SolAR::datastructure::Keyframe > keyframe)=0
 Remove a keyframe from map manager and update visibility of point cloud and covisibility graph. More...
 
virtual int pointCloudPruning (const std::vector< SRef< SolAR::datastructure::CloudPoint > > &cloudPoints={})=0
 Prune cloud points of a map. More...
 
virtual int keyframePruning (const std::vector< SRef< SolAR::datastructure::Keyframe > > &keyframes={})=0
 Prune keyframes of a map. More...
 
virtual FrameworkReturnCode saveToFile () const =0
 Save the map to the external file. More...
 
virtual FrameworkReturnCode loadFromFile ()=0
 Load the map from the external file. More...
 
virtual FrameworkReturnCode deleteFile ()=0
 Delete the map in external file. More...
 

Detailed Description

Allow to manage all components of a map. UUID: 90075c1b-915b-469d-b92d-41c5d575bf15

Member Function Documentation

◆ addCloudPoint()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::addCloudPoint ( const SRef< SolAR::datastructure::CloudPoint cloudPoint)
pure virtual

Add a point cloud to map manager and update visibility of keyframes and covisibility graph.

Parameters
[in]cloudPointthe cloud point to add to the map manager
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ addKeyframe()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::addKeyframe ( const SRef< SolAR::datastructure::Keyframe keyframe)
pure virtual

Add a keyframe to map manager.

Parameters
[in]keyframethe keyframe to add to the map manager
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ deleteFile()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::deleteFile ( )
pure virtual

Delete the map in external file.

Returns
FrameworkReturnCode::SUCCESS if the deletion succeeds, else FrameworkReturnCode::_ERROR.

◆ getLocalPointCloud() [1/2]

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::getLocalPointCloud ( const SRef< SolAR::datastructure::Keyframe keyframe,
const float  minWeightNeighbor,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  localPointCloud 
) const
pure virtual

Get local point cloud seen from the keyframe and its neighbors.

Parameters
[in]keyframethe keyframe to get local point cloud
[in]minWeightNeighborthe weight to get keyframe neighbors
[out]localPointCloudthe local point cloud
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ getLocalPointCloud() [2/2]

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::getLocalPointCloud ( const std::vector< SRef< SolAR::datastructure::Keyframe > > &  keyframes,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  localPointCloud 
) const
pure virtual

Get local point cloud seen from the keyframes.

Parameters
[in]keyframesthe keyframes to get local point cloud
[out]localPointCloudthe local point cloud seen by the keyframes
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ getMap()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::getMap ( SRef< SolAR::datastructure::Map > &  map)
pure virtual

Get the map.

Parameters
[out]mapthe data of map
Returns
FrameworkReturnCode::SUCCESS if successfully, else FrameworkReturnCode::_ERROR.

◆ getSubmap()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::getSubmap ( uint32_t  idCenteredKeyframe,
uint32_t  nbKeyframes,
SRef< SolAR::datastructure::Map > &  submap 
)
pure virtual

Get the submap around a centered keyframe.

Parameters
[in]idCenteredKeyframethe id of the centered keyframe
[in]nbKeyframesthe maximum number of keyframes of the submap
[out]submapthe submap
Returns
FrameworkReturnCode::SUCCESS if successfully, else FrameworkReturnCode::_ERROR.

◆ keyframePruning()

virtual int SolAR::api::storage::IMapManager::keyframePruning ( const std::vector< SRef< SolAR::datastructure::Keyframe > > &  keyframes = {})
pure virtual

Prune keyframes of a map.

Parameters
[in]keyframesthe keyframes are checked to prune

◆ loadFromFile()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::loadFromFile ( )
pure virtual

Load the map from the external file.

Returns
FrameworkReturnCode::SUCCESS if the loading succeeds, else FrameworkReturnCode::_ERROR.

◆ pointCloudPruning()

virtual int SolAR::api::storage::IMapManager::pointCloudPruning ( const std::vector< SRef< SolAR::datastructure::CloudPoint > > &  cloudPoints = {})
pure virtual

Prune cloud points of a map.

Parameters
[in]cloudPointsthe cloud points are checked to prune

◆ removeCloudPoint()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::removeCloudPoint ( const SRef< SolAR::datastructure::CloudPoint cloudPoint)
pure virtual

Remove a point cloud from map manager and update visibility of keyframes and covisibility graph.

Parameters
[in]cloudPointthe cloud point to remove to the map manager
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ removeKeyframe()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::removeKeyframe ( const SRef< SolAR::datastructure::Keyframe keyframe)
pure virtual

Remove a keyframe from map manager and update visibility of point cloud and covisibility graph.

Parameters
[in]keyframethe keyframe to remove from the map manager
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR

◆ saveToFile()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::saveToFile ( ) const
pure virtual

Save the map to the external file.

Returns
FrameworkReturnCode::SUCCESS if the backup succeeds, else FrameworkReturnCode::_ERROR.

◆ setMap()

virtual FrameworkReturnCode SolAR::api::storage::IMapManager::setMap ( const SRef< SolAR::datastructure::Map map)
pure virtual

Set the map.

Parameters
[in]mapthe data of map
Returns
FrameworkReturnCode::SUCCESS if all data structures successfully setted, else FrameworkReturnCode::_ERROR.

The documentation for this class was generated from the following file: