SaDVIO
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
isae::Line3DLandmarkInitializer Class Reference

Class for initializing 3D line landmarks. More...

#include <Line3DlandmarkInitializer.h>

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

Public Member Functions

 Line3DLandmarkInitializer ()=default
 
- Public Member Functions inherited from isae::ALandmarkInitializer
 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

bool initLandmark (std::vector< std::shared_ptr< AFeature >> features, std::shared_ptr< ALandmark > &landmark) override
 Initialize a landmark from a set of features. More...
 
bool initLandmarkWithDepth (std::vector< std::shared_ptr< AFeature >> features, std::shared_ptr< ALandmark > &landmark) override
 Initialize a landmark from a set of features with depth information. More...
 
std::shared_ptr< ALandmarkcreateNewLandmark (std::shared_ptr< AFeature > f) override
 
- Protected Member Functions inherited from isae::ALandmarkInitializer
std::shared_ptr< ALandmarkcreateNewLandmark (std::shared_ptr< AFeature > f1, std::shared_ptr< AFeature > f2)
 Create a new landmark from a pair of features. More...
 

Static Protected Member Functions

static Eigen::Vector3d processOrientation (std::vector< Eigen::Vector3d > Ns)
 
static Eigen::Vector3d processPosition (std::vector< Eigen::Vector3d > Ns, std::vector< Eigen::Vector3d > Os)
 
static void processSegmentPoints (Eigen::Vector3d position, Eigen::Vector3d direction, std::vector< Eigen::Vector3d > Os, std::vector< Eigen::Vector3d > rays_s, std::vector< Eigen::Vector3d > rays_e, Eigen::Vector3d &start, Eigen::Vector3d &end)
 

Detailed Description

Class for initializing 3D line landmarks.

Constructor & Destructor Documentation

◆ Line3DLandmarkInitializer()

isae::Line3DLandmarkInitializer::Line3DLandmarkInitializer ( )
default

Member Function Documentation

◆ createNewLandmark()

std::shared_ptr< ALandmark > isae::Line3DLandmarkInitializer::createNewLandmark ( std::shared_ptr< AFeature f)
overrideprotectedvirtual

◆ initLandmark()

bool isae::Line3DLandmarkInitializer::initLandmark ( std::vector< std::shared_ptr< AFeature >>  features,
std::shared_ptr< ALandmark > &  landmark 
)
overrideprotectedvirtual

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.

Implements isae::ALandmarkInitializer.

◆ initLandmarkWithDepth()

bool isae::Line3DLandmarkInitializer::initLandmarkWithDepth ( std::vector< std::shared_ptr< AFeature >>  features,
std::shared_ptr< ALandmark > &  landmark 
)
overrideprotectedvirtual

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.

Implements isae::ALandmarkInitializer.

◆ processOrientation()

Eigen::Vector3d isae::Line3DLandmarkInitializer::processOrientation ( std::vector< Eigen::Vector3d >  Ns)
staticprotected

◆ processPosition()

Eigen::Vector3d isae::Line3DLandmarkInitializer::processPosition ( std::vector< Eigen::Vector3d >  Ns,
std::vector< Eigen::Vector3d >  Os 
)
staticprotected

◆ processSegmentPoints()

void isae::Line3DLandmarkInitializer::processSegmentPoints ( Eigen::Vector3d  position,
Eigen::Vector3d  direction,
std::vector< Eigen::Vector3d >  Os,
std::vector< Eigen::Vector3d >  rays_s,
std::vector< Eigen::Vector3d >  rays_e,
Eigen::Vector3d &  start,
Eigen::Vector3d &  end 
)
staticprotected

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