Solar
Public Member Functions | List of all members
SolAR::api::solver::map::IKeyframeSelector Class Referenceabstract

Determines if a frame is a keyframe candidate. UUID: 4d5f2abe-beb7-11e8-a355-529269fb1459 More...

#include <IKeyframeSelector.h>

Inheritance diagram for SolAR::api::solver::map::IKeyframeSelector:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::solver::map::IKeyframeSelector:
Collaboration graph
[legend]

Public Member Functions

 IKeyframeSelector ()=default
 IKeyframeSelector default constructor.
 
virtual ~IKeyframeSelector ()
 IKeyframeSelector default destructor.
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame, const std::vector< SolAR::datastructure::DescriptorMatch > &matches) const =0
 Select if a frame can be considered as a keyframe. More...
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame) const =0
 Select if a frame can be considered as a keyframe. More...
 
virtual bool select (const SRef< SolAR::datastructure::Frame > frame, const std::function< bool(const SRef< SolAR::datastructure::Frame > &)> &func) const =0
 Select if a frame can be considered as a keyframe. It is based on a selection predicate and provides the mean to use any datastructure in the pipeline context to the decision algorithm. More...
 

Detailed Description

Determines if a frame is a keyframe candidate. UUID: 4d5f2abe-beb7-11e8-a355-529269fb1459

Member Function Documentation

◆ select() [1/3]

virtual bool SolAR::api::solver::map::IKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame frame) const
pure virtual

Select if a frame can be considered as a keyframe.

Parameters
[in]framethe frame tested to know if it could be a keyframe.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

◆ select() [2/3]

virtual bool SolAR::api::solver::map::IKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame frame,
const std::function< bool(const SRef< SolAR::datastructure::Frame > &)> &  func 
) const
pure virtual

Select if a frame can be considered as a keyframe. It is based on a selection predicate and provides the mean to use any datastructure in the pipeline context to the decision algorithm.

Parameters
[in]framethe frame tested to know if it could be a Keyframe
[in]functhe function predicate used to test the frame. This predicate can be any lambda capturing its context (matches, point cloud, bow ...) to select the frame.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

◆ select() [3/3]

virtual bool SolAR::api::solver::map::IKeyframeSelector::select ( const SRef< SolAR::datastructure::Frame frame,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches 
) const
pure virtual

Select if a frame can be considered as a keyframe.

Parameters
[in]framethe frame tested to know if it could be a keyframe
[in]matchesthe matches between the frame and its reference keyframe.
Returns
true if the frame can be considered as a new keyframe, false otherwise.

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