Solar
Public Member Functions | List of all members
SolAR::MODULES::OPENCV::SolARMapFusionOpencv Class Reference

Merge local map or floating map in the global map. UUID: bc661909-0185-40a4-a5e6-e52280e7b338 More...

#include <SolARMapFusionOpencv.h>

Inheritance diagram for SolAR::MODULES::OPENCV::SolARMapFusionOpencv:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::OPENCV::SolARMapFusionOpencv:
Collaboration graph
[legend]

Public Member Functions

 SolARMapFusionOpencv ()
 SolARMapFusionOpencv constructor.
 
 ~SolARMapFusionOpencv () override
 SolARMapFusionOpencv destructor.
 
FrameworkReturnCode merge (SRef< datastructure::Map > map, SRef< datastructure::Map > globalMap, datastructure::Transform3Df &transform, uint32_t &nbMatches, float &error) override
 Merge a map in the global map. The map can be a local map (know transformation to the global map) or a floating map. More...
 
FrameworkReturnCode merge (SRef< datastructure::Map > map, SRef< datastructure::Map > globalMap, datastructure::Transform3Df &transform, const std::vector< std::pair< uint32_t, uint32_t > > &cpOverlapIndices, bool isRefineTransform=false) override
 Merge a map in the global map. The map can be a local map (know transformation to the global map) or a floating map. More...
 
void unloadComponent () override final
 

Detailed Description

Merge local map or floating map in the global map. UUID: bc661909-0185-40a4-a5e6-e52280e7b338

Injectables
SolAR::api::geom::I3DTransform
SolAR::api::features::IDescriptorMatcher
SolAR::api::solver::pose::I3DTransformSACFinderFrom3D3D
Properties
radius
type: float; range : [0..MAX FLOAT]; default: 0.3f

Member Function Documentation

◆ merge() [1/2]

FrameworkReturnCode SolAR::MODULES::OPENCV::SolARMapFusionOpencv::merge ( SRef< datastructure::Map >  map,
SRef< datastructure::Map >  globalMap,
datastructure::Transform3Df &  transform,
const std::vector< std::pair< uint32_t, uint32_t > > &  cpOverlapIndices,
bool  isRefineTransform = false 
)
override

Merge a map in the global map. The map can be a local map (know transformation to the global map) or a floating map.

Parameters
[in,out]maplocal map or floating map to merge
[in,out]globalMapthe global map
[in,out]transformthe transformation to the global map (null for floating map). It can be refined by fusion process.
[in]cpOverlapIndicespairs of detected overlap cloud points indices of floating map and global map.
[in]isRefineTransformrefine the 3D transformation if it's true.
Returns
FrameworkReturnCode::SUCCESS if the fusion succeed, else FrameworkReturnCode::_ERROR.

◆ merge() [2/2]

FrameworkReturnCode SolAR::MODULES::OPENCV::SolARMapFusionOpencv::merge ( SRef< datastructure::Map >  map,
SRef< datastructure::Map >  globalMap,
datastructure::Transform3Df &  transform,
uint32_t &  nbMatches,
float &  error 
)
override

Merge a map in the global map. The map can be a local map (know transformation to the global map) or a floating map.

Parameters
[in,out]maplocal map or floating map to merge
[in,out]globalMapthe global map
[in,out]transformthe transformation to the global map (null for floating map). It can be refined by fusion process.
[out]nbMatchesthe number of matched cloud points.
[out]errorthe error of fusion process that is the mean of error distances of the matched cloud points.
Returns
FrameworkReturnCode::SUCCESS if the fusion succeed, else FrameworkReturnCode::_ERROR.

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