Solar
Public Member Functions | List of all members
SolAR::MODULES::TOOLS::SolARMapManager Class Reference

Allow to manage all components of a map. UUID: 8e3c926a-0861-46f7-80b2-8abb5576692c More...

#include <SolARMapManager.h>

Inheritance diagram for SolAR::MODULES::TOOLS::SolARMapManager:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::TOOLS::SolARMapManager:
Collaboration graph
[legend]

Public Member Functions

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

Detailed Description

Allow to manage all components of a map. UUID: 8e3c926a-0861-46f7-80b2-8abb5576692c

Store all components of a map.

Injectables
SolAR::api::storage::IPointCloudManager
SolAR::api::storage::IKeyframesManager
SolAR::api::storage::ICovisibilityGraph
SolAR::api::reloc::IKeyframeRetriever
Properties
directory
type: string; default: ""
identificationFileName
type: string; default: ""
coordinateFileName
type: string; default: ""
pointCloudManagerFileName
type: string; default: ""
keyframesManagerFileName
type: string; default: ""
covisibilityGraphFileName
type: string; default: ""
keyframeRetrieverFileName
type: string; default: ""
reprojErrorThreshold
type: float; range : [0..MAX FLOAT]; default: 3.f
thresConfidence
type: float; range : [0..MAX FLOAT]; default: 3.f

Member Function Documentation

◆ addCloudPoint()

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::addCloudPoint ( const SRef< SolAR::datastructure::CloudPoint >  cloudPoint)
override

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

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::addKeyframe ( const SRef< SolAR::datastructure::Keyframe >  keyframe)
override

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

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::deleteFile ( )
override

Delete the map in external file.

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

◆ getLocalPointCloud() [1/2]

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::getLocalPointCloud ( const SRef< SolAR::datastructure::Keyframe >  keyframe,
const float  minWeightNeighbor,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  localPointCloud 
) const
override

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]

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::getLocalPointCloud ( const std::vector< SRef< SolAR::datastructure::Keyframe > > &  keyframes,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  localPointCloud 
) const
override

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

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::getMap ( SRef< SolAR::datastructure::Map > &  map)
override

Get the map.

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

◆ getSubmap()

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::getSubmap ( uint32_t  idCenteredKeyframe,
uint32_t  nbKeyframes,
SRef< SolAR::datastructure::Map > &  submap 
)
override

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

int SolAR::MODULES::TOOLS::SolARMapManager::keyframePruning ( const std::vector< SRef< SolAR::datastructure::Keyframe > > &  keyframes = {})
override

Prune keyframes of a map.

Parameters
[in]keyframesthe keyframes are checked to prune

◆ loadFromFile()

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::loadFromFile ( )
override

Load the map from the external file.

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

◆ pointCloudPruning()

int SolAR::MODULES::TOOLS::SolARMapManager::pointCloudPruning ( const std::vector< SRef< SolAR::datastructure::CloudPoint > > &  cloudPoints = {})
override

Prune cloud points of a map.

Parameters
[in]cloudPointsthe cloud points are checked to prune

◆ removeCloudPoint()

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::removeCloudPoint ( const SRef< SolAR::datastructure::CloudPoint >  cloudPoint)
override

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

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::removeKeyframe ( const SRef< SolAR::datastructure::Keyframe >  keyframe)
override

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

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::saveToFile ( ) const
override

Save the map to the external file.

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

◆ setMap()

FrameworkReturnCode SolAR::MODULES::TOOLS::SolARMapManager::setMap ( const SRef< SolAR::datastructure::Map >  map)
override

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: