SaDVIO
Public Member Functions | Protected Member Functions | List of all members
isae::ALandmarkInitializer Class Referenceabstract

Abstract class for initializing landmarks. More...

#include <alandmarkinitializer.h>

Inheritance diagram for isae::ALandmarkInitializer:
Inheritance graph
[legend]
Collaboration diagram for isae::ALandmarkInitializer:
Collaboration graph
[legend]

Public Member Functions

 ALandmarkInitializer ()=default
 
 ~ALandmarkInitializer ()
 
uint initFromMatch (feature_pair match)
 Initialize landmarks from a feature pair. More...
 
uint initFromMatches (vec_match matches)
 Initialize landmarks from a vector of feature matches. More...
 
uint initFromFeatures (std::vector< std::shared_ptr< AFeature >> feats)
 Initialize landmarks from a vector of feature tracks. More...
 

Protected Member Functions

std::shared_ptr< ALandmarkcreateNewLandmark (std::shared_ptr< AFeature > f1, std::shared_ptr< AFeature > f2)
 Create a new landmark from a pair of features. More...
 
virtual bool initLandmark (std::vector< std::shared_ptr< AFeature >> features, std::shared_ptr< ALandmark > &landmark)=0
 Initialize a landmark from a set of features. More...
 
virtual bool initLandmarkWithDepth (std::vector< std::shared_ptr< AFeature >> features, std::shared_ptr< ALandmark > &landmark)=0
 Initialize a landmark from a set of features with depth information. More...
 
virtual std::shared_ptr< ALandmarkcreateNewLandmark (std::shared_ptr< AFeature > f)=0
 

Detailed Description

Abstract class for initializing landmarks.

This class provides methods to initialize landmarks from feature matches or to update existing landmarks Each novel type of landmark must have its own derived class that implements the specific initialization logic.

Constructor & Destructor Documentation

◆ ALandmarkInitializer()

isae::ALandmarkInitializer::ALandmarkInitializer ( )
default

◆ ~ALandmarkInitializer()

isae::ALandmarkInitializer::~ALandmarkInitializer ( )
inline

Member Function Documentation

◆ createNewLandmark() [1/2]

virtual std::shared_ptr<ALandmark> isae::ALandmarkInitializer::createNewLandmark ( std::shared_ptr< AFeature f)
protectedpure virtual

◆ createNewLandmark() [2/2]

std::shared_ptr< ALandmark > isae::ALandmarkInitializer::createNewLandmark ( std::shared_ptr< AFeature f1,
std::shared_ptr< AFeature f2 
)
protected

Create a new landmark from a pair of features.

Parameters
f1The first feature.
f2The second feature.
Returns
A shared pointer to the newly created landmark.

◆ initFromFeatures()

uint isae::ALandmarkInitializer::initFromFeatures ( std::vector< std::shared_ptr< AFeature >>  feats)

Initialize landmarks from a vector of feature tracks.

Parameters
tracksThe vector of feature tracks to initialize the landmarks from.
Returns
The number of initialized landmarks.

◆ initFromMatch()

uint isae::ALandmarkInitializer::initFromMatch ( feature_pair  match)

Initialize landmarks from a feature pair.

Parameters
matchThe feature pair to initialize the landmark from.
Returns
The number of initialized landmarks.

◆ initFromMatches()

uint isae::ALandmarkInitializer::initFromMatches ( vec_match  matches)

Initialize landmarks from a vector of feature matches.

Parameters
matchesThe vector of feature matches to initialize the landmarks from.
Returns
The number of initialized landmarks.

◆ initLandmark()

virtual bool isae::ALandmarkInitializer::initLandmark ( std::vector< std::shared_ptr< AFeature >>  features,
std::shared_ptr< ALandmark > &  landmark 
)
protectedpure virtual

Initialize a landmark from a set of features.

Parameters
featuresA vector of features.
landmarkA shared pointer to the landmark to be initialized.
Returns
True if the landmark was successfully initialized, false otherwise.

Implemented in isae::Line3DLandmarkInitializer.

◆ initLandmarkWithDepth()

virtual bool isae::ALandmarkInitializer::initLandmarkWithDepth ( std::vector< std::shared_ptr< AFeature >>  features,
std::shared_ptr< ALandmark > &  landmark 
)
protectedpure virtual

Initialize a landmark from a set of features with depth information.

Parameters
featuresA vector of features.
landmarkA shared pointer to the landmark to be initialized.
Returns
True if the landmark was successfully initialized with depth, false otherwise.

Implemented in isae::Line3DLandmarkInitializer.


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