Main MRPT website > C++ reference for MRPT 1.5.6
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 38 of file TUncertaintyPath.h.

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

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

Public Types

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

Public Member Functions

 TUncertaintyPath ()
 
 TUncertaintyPath (const mrpt::utils::TNodeID &starting_node)
 
 TUncertaintyPath (const mrpt::utils::TNodeID &starting_node, const mrpt::utils::TNodeID &ending_node, const constraint_t &edge)
 
 ~TUncertaintyPath ()
 
void clear ()
 
bool isEmpty () const
 
void assertIsBetweenNodeIDs (const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to) const
 Assert that the current path is between the given nodeIDs. More...
 
void loadFromConfigFile (const mrpt::utils::CConfigFileBase &source, const std::string &section)
 This method load the options from a ".ini"-like file or memory-stored string list. More...
 
void dumpToTextStream (mrpt::utils::CStream &out) const
 This method should clearly display all the contents of the structure in textual form, sending it to a CStream. More...
 
std::string getAsString () const
 
void getAsString (std::string *str) const
 
const mrpt::utils::TNodeIDgetSource () const
 Return the source node of this path. More...
 
const mrpt::utils::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::utils::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::utils::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::utils::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 (CStream &out, const char *varName, int v)
 Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More...
 
static void dumpVar_float (CStream &out, const char *varName, float v)
 
static void dumpVar_double (CStream &out, const char *varName, double v)
 
static void dumpVar_bool (CStream &out, const char *varName, bool v)
 
static void dumpVar_string (CStream &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>
typedef GRAPH_T::constraint_t mrpt::graphslam::TUncertaintyPath< GRAPH_T >::constraint_t

Handy typedefs.

type of graph constraints

Definition at line 42 of file TUncertaintyPath.h.

◆ pose_t

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

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

Definition at line 44 of file TUncertaintyPath.h.

◆ self_t

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

Definition at line 45 of file TUncertaintyPath.h.

Constructor & Destructor Documentation

◆ TUncertaintyPath() [1/3]

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

Definition at line 18 of file TUncertaintyPath_impl.h.

References mrpt::utils::clear().

◆ TUncertaintyPath() [2/3]

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

Definition at line 22 of file TUncertaintyPath_impl.h.

References mrpt::utils::clear().

◆ TUncertaintyPath() [3/3]

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

Definition at line 28 of file TUncertaintyPath_impl.h.

References mrpt::utils::clear().

◆ ~TUncertaintyPath()

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

Definition at line 38 of file TUncertaintyPath_impl.h.

Member Function Documentation

◆ addToPath()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::addToPath ( const mrpt::utils::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 150 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::utils::TNodeID from,
const mrpt::utils::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.

Exceptions
std::runtime_errorin case the conditions don't hold

Definition at line 69 of file TUncertaintyPath_impl.h.

References ASSERTMSG_, 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

◆ dumpToTextStream()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::dumpToTextStream ( mrpt::utils::CStream out) const
virtual

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

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

Reimplemented from mrpt::utils::CLoadableOptions.

Definition at line 169 of file TUncertaintyPath_impl.h.

References mrpt::utils::CStream::printf().

◆ dumpVar_bool()

void CLoadableOptions::dumpVar_bool ( CStream out,
const char *  varName,
bool  v 
)
staticprotectedinherited

◆ dumpVar_double()

void CLoadableOptions::dumpVar_double ( CStream out,
const char *  varName,
double  v 
)
staticprotectedinherited

◆ dumpVar_float()

void CLoadableOptions::dumpVar_float ( CStream out,
const char *  varName,
float  v 
)
staticprotectedinherited

◆ dumpVar_int()

void CLoadableOptions::dumpVar_int ( CStream out,
const char *  varName,
int  v 
)
staticprotectedinherited

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

Definition at line 52 of file CLoadableOptions.cpp.

References LOADABLEOPTS_COLUMN_WIDTH, and mrpt::utils::CStream::printf().

◆ dumpVar_string()

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

◆ getAsString() [1/2]

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

Definition at line 212 of file TUncertaintyPath_impl.h.

◆ getAsString() [2/2]

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

Definition at line 177 of file TUncertaintyPath_impl.h.

References mrpt::utils::getSTLContainerAsString().

◆ getDestination()

template<class GRAPH_T >
const mrpt::utils::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDestination ( ) const

◆ getDeterminant()

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

◆ getSource()

template<class GRAPH_T >
const mrpt::utils::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getSource ( ) const

Return the source node of this path.

Definition at line 220 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 258 of file TUncertaintyPath_impl.h.

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

◆ isEmpty()

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

Definition at line 64 of file TUncertaintyPath_impl.h.

◆ loadFromConfigFile()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::loadFromConfigFile ( const mrpt::utils::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::utils::CLoadableOptions.

Definition at line 164 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 23 of file CLoadableOptions.cpp.

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

Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::loadParams().

◆ operator!=()

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

Definition at line 143 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::utils::CConfigFileBase target,
const std::string section 
) const
virtualinherited

◆ 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 39 of file CLoadableOptions.cpp.

References mrpt::utils::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 106 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 123 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 122 of file TUncertaintyPath.h.

◆ nodes_traversed

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
std::vector<mrpt::utils::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 115 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.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019