Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Member Functions | Public Attributes | Static Protected Member Functions | Friends
mrpt::graphslam::TUncertaintyPath< GRAPH_T > Struct Template Reference

Detailed Description

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
struct mrpt::graphslam::TUncertaintyPath< GRAPH_T >

Holds the data of an information path.

Path comprises of nodes (TNodeID type) and constraints between them. Only consecutive nodes are connected by edges, thus path.

See also
mrpt::deciders::CLoopCloserERD

Definition at line 31 of file TUncertaintyPath.h.

#include <mrpt/graphslam/misc/TUncertaintyPath.h>

Inheritance diagram for mrpt::graphslam::TUncertaintyPath< GRAPH_T >:
Inheritance graph

Public Types

using constraint_t = typename GRAPH_T::constraint_t
 Handy typedefs. More...
 
using pose_t = typename constraint_t::type_value
 type of underlying poses (2D/3D). More...
 
using self_t = TUncertaintyPath< GRAPH_T >
 

Public Member Functions

 TUncertaintyPath ()
 
 TUncertaintyPath (const mrpt::graphs::TNodeID &starting_node)
 
 TUncertaintyPath (const mrpt::graphs::TNodeID &starting_node, const mrpt::graphs::TNodeID &ending_node, const constraint_t &edge)
 
 ~TUncertaintyPath ()
 
void clear ()
 
bool isEmpty () const
 
void assertIsBetweenNodeIDs (const mrpt::graphs::TNodeID &from, const mrpt::graphs::TNodeID &to) const
 Assert that the current path is between the given nodeIDs. More...
 
void loadFromConfigFile (const mrpt::config::CConfigFileBase &source, const std::string &section)
 This method load the options from a ".ini"-like file or memory-stored string list. More...
 
void dumpToTextStream (std::ostream &out) const
 This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream. More...
 
std::string getAsString () const
 
void getAsString (std::string *str) const
 
const mrpt::graphs::TNodeIDgetSource () const
 Return the source node of this path. More...
 
const mrpt::graphs::TNodeIDgetDestination () const
 Return the Destination node of this path. More...
 
double getDeterminant ()
 
bool hasLowerUncertaintyThan (const self_t &other) const
 Test if the current path has a lower uncertainty than the other path. More...
 
void addToPath (const mrpt::graphs::TNodeID &node, const constraint_t &edge)
 add a new link in the current path. More...
 
self_toperator+= (const self_t &other)
 
bool operator== (const self_t &other) const
 
bool operator!= (const self_t &other) const
 
void loadFromConfigFileName (const std::string &config_file, const std::string &section)
 Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file. More...
 
virtual void saveToConfigFile (mrpt::config::CConfigFileBase &target, const std::string &section) const
 This method saves the options to a ".ini"-like file or memory-stored string list. More...
 
void saveToConfigFileName (const std::string &config_file, const std::string &section) const
 Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file. More...
 
void dumpToConsole () const
 Just like dumpToTextStream() but sending the text to the console (std::cout) More...
 

Public Attributes

std::vector< mrpt::graphs::TNodeIDnodes_traversed
 Nodes that the Path comprises of. More...
 
constraint_t curr_pose_pdf
 Current path position + corresponding covariance. More...
 
bool determinant_is_updated
 Determine whether the determinant of the Path is up-to-date and can be directly fetched or has to be computed again. More...
 
double determinant_cached
 

Static Protected Member Functions

static void dumpVar_int (std::ostream &out, const char *varName, int v)
 Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More...
 
static void dumpVar_float (std::ostream &out, const char *varName, float v)
 
static void dumpVar_double (std::ostream &out, const char *varName, double v)
 
static void dumpVar_bool (std::ostream &out, const char *varName, bool v)
 
static void dumpVar_string (std::ostream &out, const char *varName, const std::string &v)
 

Friends

std::ostream & operator<< (std::ostream &o, const self_t &obj)
 

Member Typedef Documentation

◆ constraint_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::constraint_t = typename GRAPH_T::constraint_t

Handy typedefs.

type of graph constraints

Definition at line 36 of file TUncertaintyPath.h.

◆ pose_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::pose_t = typename constraint_t::type_value

type of underlying poses (2D/3D).

Definition at line 38 of file TUncertaintyPath.h.

◆ self_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::self_t = TUncertaintyPath<GRAPH_T>

Definition at line 39 of file TUncertaintyPath.h.

Constructor & Destructor Documentation

◆ TUncertaintyPath() [1/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath

Definition at line 22 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

◆ TUncertaintyPath() [2/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath ( const mrpt::graphs::TNodeID starting_node)

Definition at line 27 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

◆ TUncertaintyPath() [3/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath ( const mrpt::graphs::TNodeID starting_node,
const mrpt::graphs::TNodeID ending_node,
const constraint_t edge 
)

Definition at line 34 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

◆ ~TUncertaintyPath()

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::~TUncertaintyPath

Definition at line 44 of file TUncertaintyPath_impl.h.

Member Function Documentation

◆ addToPath()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::addToPath ( const mrpt::graphs::TNodeID node,
const constraint_t edge 
)

add a new link in the current path.

Add the node that the path traverses and the information matrix of the extra link

Definition at line 163 of file TUncertaintyPath_impl.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::getMinUncertaintyPath().

◆ assertIsBetweenNodeIDs()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::assertIsBetweenNodeIDs ( const mrpt::graphs::TNodeID from,
const mrpt::graphs::TNodeID to 
) const

Assert that the current path is between the given nodeIDs.

Call to this method practically checks if the give nodes match the source and destination nodeIDs.

Note
Assertions will be executed only in Debug builds
Exceptions
std::runtime_errorin case the conditions don't hold

Definition at line 80 of file TUncertaintyPath_impl.h.

References ASSERTDEBMSG_, and mrpt::format().

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::generatePWConsistencyElement().

◆ clear()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::clear

◆ dumpToConsole()

void CLoadableOptions::dumpToConsole ( ) const
inherited

Just like dumpToTextStream() but sending the text to the console (std::cout)

Definition at line 44 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::dumpToTextStream().

Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel().

◆ dumpToTextStream()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::dumpToTextStream ( std::ostream &  out) const
virtual

This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.

The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.

Reimplemented from mrpt::config::CLoadableOptions.

Definition at line 182 of file TUncertaintyPath_impl.h.

References mrpt::format().

◆ dumpVar_bool()

void CLoadableOptions::dumpVar_bool ( std::ostream &  out,
const char *  varName,
bool  v 
)
staticprotectedinherited

Definition at line 63 of file CLoadableOptions.cpp.

References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.

◆ dumpVar_double()

void CLoadableOptions::dumpVar_double ( std::ostream &  out,
const char *  varName,
double  v 
)
staticprotectedinherited

Definition at line 57 of file CLoadableOptions.cpp.

References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.

◆ dumpVar_float()

void CLoadableOptions::dumpVar_float ( std::ostream &  out,
const char *  varName,
float  v 
)
staticprotectedinherited

Definition at line 51 of file CLoadableOptions.cpp.

References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.

◆ dumpVar_int()

void CLoadableOptions::dumpVar_int ( std::ostream &  out,
const char *  varName,
int  v 
)
staticprotectedinherited

Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.

Definition at line 45 of file CLoadableOptions.cpp.

References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.

◆ dumpVar_string()

void CLoadableOptions::dumpVar_string ( std::ostream &  out,
const char *  varName,
const std::string v 
)
staticprotectedinherited

Definition at line 70 of file CLoadableOptions.cpp.

References mrpt::format(), and LOADABLEOPTS_COLUMN_WIDTH.

◆ getAsString() [1/2]

template<class GRAPH_T >
std::string mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getAsString

Definition at line 225 of file TUncertaintyPath_impl.h.

◆ getAsString() [2/2]

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getAsString ( std::string str) const

◆ getDestination()

template<class GRAPH_T >
const mrpt::graphs::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDestination

◆ getDeterminant()

template<class GRAPH_T >
double mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDeterminant

◆ getSource()

template<class GRAPH_T >
const mrpt::graphs::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getSource

Return the source node of this path.

Definition at line 233 of file TUncertaintyPath_impl.h.

◆ hasLowerUncertaintyThan()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::hasLowerUncertaintyThan ( const self_t other) const

Test if the current path has a lower uncertainty than the other path.

Returns
True if the current path does have a lower uncertainty

Definition at line 273 of file TUncertaintyPath_impl.h.

References ASSERTDEBMSG_, mrpt::graphslam::TUncertaintyPath< GRAPH_T >::curr_pose_pdf, mrpt::format(), and mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDeterminant().

◆ isEmpty()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::isEmpty
Returns
True if it is indeed empty.

Definition at line 74 of file TUncertaintyPath_impl.h.

◆ loadFromConfigFile()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::loadFromConfigFile ( const mrpt::config::CConfigFileBase source,
const std::string section 
)
virtual

This method load the options from a ".ini"-like file or memory-stored string list.

Only those parameters found in the given "section" and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an ".ini" file:

[section]
resolution = 0.10 // blah blah...
modeSelection = 1 // 0=blah, 1=blah,...
See also
loadFromConfigFileName, saveToConfigFile

Implements mrpt::config::CLoadableOptions.

Definition at line 176 of file TUncertaintyPath_impl.h.

◆ loadFromConfigFileName()

void CLoadableOptions::loadFromConfigFileName ( const std::string config_file,
const std::string section 
)
inherited

Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.

See also
loadFromConfigFile

Definition at line 22 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::loadFromConfigFile().

◆ operator!=()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator!= ( const self_t other) const

Definition at line 157 of file TUncertaintyPath_impl.h.

◆ operator+=()

template<class GRAPH_T >
TUncertaintyPath< GRAPH_T > & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator+= ( const self_t other)

◆ operator==()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator== ( const self_t other) const

◆ saveToConfigFile()

void CLoadableOptions::saveToConfigFile ( mrpt::config::CConfigFileBase target,
const std::string section 
) const
virtualinherited

This method saves the options to a ".ini"-like file or memory-stored string list.

See also
loadFromConfigFile, saveToConfigFileName

Reimplemented in mrpt::maps::TSetOfMetricMapInitializers, mrpt::bayes::CParticleFilter::TParticleFilterOptions, mrpt::maps::TMapGenericParams, mrpt::maps::TMetricMapInitializer, mrpt::slam::CIncrementalMapPartitioner::TOptions, mrpt::nav::CPTG_RobotShape_Circular, mrpt::nav::CPTG_RobotShape_Polygonal, mrpt::nav::CParameterizedTrajectoryGenerator, mrpt::nav::CPTG_DiffDrive_CollisionGridBased, mrpt::nav::CPTG_DiffDrive_C, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, mrpt::nav::CPTG_Holo_Blend, mrpt::vision::TMultiResDescOptions, mrpt::vision::TMultiResDescMatchOptions, mrpt::nav::CHolonomicFullEval::TOptions, mrpt::nav::CHolonomicND::TOptions, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase, mrpt::nav::CHolonomicVFF::TOptions, mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams, mrpt::maps::CPointCloudFilterByDistance::TOptions, mrpt::nav::CAbstractPTGBasedReactive::TAbstractPTGNavigatorParams, mrpt::nav::CAbstractNavigator::TAbstractNavigatorParams, mrpt::nav::CWaypointsNavigator::TWaypointsNavigatorParams, mrpt::nav::CReactiveNavigationSystem::TReactiveNavigatorParams, and mrpt::slam::CICP::TConfigParams.

Definition at line 29 of file CLoadableOptions.cpp.

References MRPT_UNUSED_PARAM.

Referenced by mrpt::config::CLoadableOptions::dumpToTextStream(), and mrpt::config::CLoadableOptions::saveToConfigFileName().

◆ saveToConfigFileName()

void CLoadableOptions::saveToConfigFileName ( const std::string config_file,
const std::string section 
) const
inherited

Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.

See also
saveToConfigFile, loadFromConfigFileName

Definition at line 37 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::saveToConfigFile().

Friends And Related Function Documentation

◆ operator<<

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
std::ostream& operator<< ( std::ostream &  o,
const self_t obj 
)
friend

Definition at line 97 of file TUncertaintyPath.h.

Member Data Documentation

◆ curr_pose_pdf

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
constraint_t mrpt::graphslam::TUncertaintyPath< GRAPH_T >::curr_pose_pdf

◆ determinant_cached

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
double mrpt::graphslam::TUncertaintyPath< GRAPH_T >::determinant_cached

Definition at line 115 of file TUncertaintyPath.h.

◆ determinant_is_updated

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::determinant_is_updated

Determine whether the determinant of the Path is up-to-date and can be directly fetched or has to be computed again.

Definition at line 114 of file TUncertaintyPath.h.

◆ nodes_traversed

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
std::vector<mrpt::graphs::TNodeID> mrpt::graphslam::TUncertaintyPath< GRAPH_T >::nodes_traversed

Nodes that the Path comprises of.

Nodes in the path are added to the end of the vector.

Definition at line 107 of file TUncertaintyPath.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::addToPaths(), mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator+=(), and mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator==().




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST