MRPT  2.0.4
List of all members | Public Member Functions | Public Attributes | Private Attributes | Friends
mrpt::graphs::detail::THypothesis< GRAPH_T > Struct Template Reference

Detailed Description

template<class GRAPH_T>
struct mrpt::graphs::detail::THypothesis< GRAPH_T >

An edge hypothesis between two nodeIDs.

Struct practically provides a wrapper around the GRAPH_T::constraint_t instance. Represents a hypothesis for a potential, perhaps loop closing, edge (i.e. a graph constraint/edge), between two nodeIDs of the graph.

See also
mrpt::deciders::CLoopCloserERD

Definition at line 32 of file THypothesis.h.

#include <mrpt/graphs/THypothesis.h>

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 = THypothesis< GRAPH_T >
 

Public Member Functions

 THypothesis ()
 Constructor. More...
 
 ~THypothesis ()
 Destructor. More...
 
void setEdge (const constraint_t &edge)
 Setter method for the underlying edge. More...
 
void inverseHypothesis ()
 Reverse the hypothesis. More...
 
bool sameEndsWith (const self_t &other) const
 Compare the start and end nodes of two hypothesis. More...
 
bool hasEnds (const mrpt::graphs::TNodeID from, const mrpt::graphs::TNodeID to) const
 Check if the start, end nodes are the ones given. More...
 
bool operator< (const self_t &other) const
 Handy operator for using THypothesis in std::set. More...
 
std::string getAsString (bool oneline=true) const
 Return a string representation of the object at hand. More...
 
void getAsString (std::string *str, bool oneline=true) const
 
void getEdge (constraint_t *edge) const
 Getter methods for the underlying edge. More...
 
constraint_t getEdge () const
 
void getInverseEdge (constraint_t *edge) const
 Getter methods for the inverse of the underlying edge. More...
 
constraint_t getInverseEdge () const
 

Public Attributes

size_t id
 ID of the current hypothesis. More...
 
mrpt::graphs::TNodeID from
 Starting node of the hypothesis. More...
 
mrpt::graphs::TNodeID to
 Ending node of the hypothesis. More...
 
bool is_valid {true}
 Field that specifies if the hypothesis is to be considered. More...
 
double goodness {0}
 Goodness value corresponding to the hypothesis edge. More...
 

Private Attributes

constraint_t edge
 Edge connecting the two nodes. More...
 

Friends

std::ostream & operator<< (std::ostream &o, const THypothesis< GRAPH_T > &h)
 

Member Typedef Documentation

◆ constraint_t

template<class GRAPH_T>
using mrpt::graphs::detail::THypothesis< GRAPH_T >::constraint_t = typename GRAPH_T::constraint_t

Handy typedefs.

type of graph constraints

Definition at line 37 of file THypothesis.h.

◆ pose_t

template<class GRAPH_T>
using mrpt::graphs::detail::THypothesis< GRAPH_T >::pose_t = typename constraint_t::type_value

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

Definition at line 39 of file THypothesis.h.

◆ self_t

template<class GRAPH_T>
using mrpt::graphs::detail::THypothesis< GRAPH_T >::self_t = THypothesis<GRAPH_T>

Definition at line 40 of file THypothesis.h.

Constructor & Destructor Documentation

◆ THypothesis()

template<class GRAPH_T >
mrpt::graphs::detail::THypothesis< GRAPH_T >::THypothesis ( )
default

Constructor.

◆ ~THypothesis()

template<class GRAPH_T >
mrpt::graphs::detail::THypothesis< GRAPH_T >::~THypothesis ( )
default

Destructor.

Member Function Documentation

◆ getAsString() [1/2]

template<class GRAPH_T >
std::string mrpt::graphs::detail::THypothesis< GRAPH_T >::getAsString ( bool  oneline = true) const

Return a string representation of the object at hand.

Definition at line 22 of file THypothesis_impl.h.

◆ getAsString() [2/2]

template<class GRAPH_T >
void mrpt::graphs::detail::THypothesis< GRAPH_T >::getAsString ( std::string *  str,
bool  oneline = true 
) const

Definition at line 30 of file THypothesis_impl.h.

References ASSERTMSG_.

◆ getEdge() [1/2]

template<class GRAPH_T >
void mrpt::graphs::detail::THypothesis< GRAPH_T >::getEdge ( constraint_t edge) const

Getter methods for the underlying edge.

See also
setEdge

Definition at line 71 of file THypothesis_impl.h.

References ASSERT_.

◆ getEdge() [2/2]

template<class GRAPH_T >
GRAPH_T::constraint_t mrpt::graphs::detail::THypothesis< GRAPH_T >::getEdge ( ) const

Definition at line 78 of file THypothesis_impl.h.

◆ getInverseEdge() [1/2]

template<class GRAPH_T >
void mrpt::graphs::detail::THypothesis< GRAPH_T >::getInverseEdge ( constraint_t edge) const

Getter methods for the inverse of the underlying edge.

Definition at line 90 of file THypothesis_impl.h.

References ASSERT_.

◆ getInverseEdge() [2/2]

template<class GRAPH_T >
GRAPH_T::constraint_t mrpt::graphs::detail::THypothesis< GRAPH_T >::getInverseEdge ( ) const

Definition at line 97 of file THypothesis_impl.h.

◆ hasEnds()

template<class GRAPH_T >
bool mrpt::graphs::detail::THypothesis< GRAPH_T >::hasEnds ( const mrpt::graphs::TNodeID  from,
const mrpt::graphs::TNodeID  to 
) const

Check if the start, end nodes are the ones given.

Returns
True if ends are the given ones

Definition at line 64 of file THypothesis_impl.h.

◆ inverseHypothesis()

template<class GRAPH_T >
void mrpt::graphs::detail::THypothesis< GRAPH_T >::inverseHypothesis ( )

Reverse the hypothesis.

Reversing implies, at least, changing order of from/to nodes and reversing the underlying edge

Definition at line 106 of file THypothesis_impl.h.

◆ operator<()

template<class GRAPH_T >
bool mrpt::graphs::detail::THypothesis< GRAPH_T >::operator< ( const self_t other) const

Handy operator for using THypothesis in std::set.

Definition at line 119 of file THypothesis_impl.h.

References mrpt::graphs::detail::THypothesis< GRAPH_T >::id.

◆ sameEndsWith()

template<class GRAPH_T >
bool mrpt::graphs::detail::THypothesis< GRAPH_T >::sameEndsWith ( const self_t other) const

Compare the start and end nodes of two hypothesis.

Returns
True if ends match.

Definition at line 58 of file THypothesis_impl.h.

References mrpt::graphs::detail::THypothesis< GRAPH_T >::from, and mrpt::graphs::detail::THypothesis< GRAPH_T >::to.

◆ setEdge()

template<class GRAPH_T >
void mrpt::graphs::detail::THypothesis< GRAPH_T >::setEdge ( const constraint_t edge)

Setter method for the underlying edge.

See also
getEdge

Definition at line 84 of file THypothesis_impl.h.

Friends And Related Function Documentation

◆ operator<<

template<class GRAPH_T>
std::ostream& operator<< ( std::ostream &  o,
const THypothesis< GRAPH_T > &  h 
)
friend

Definition at line 115 of file THypothesis.h.

Member Data Documentation

◆ edge

template<class GRAPH_T>
constraint_t mrpt::graphs::detail::THypothesis< GRAPH_T >::edge
private

Edge connecting the two nodes.

Definition at line 124 of file THypothesis.h.

◆ from

template<class GRAPH_T>
mrpt::graphs::TNodeID mrpt::graphs::detail::THypothesis< GRAPH_T >::from

Starting node of the hypothesis.

Definition at line 86 of file THypothesis.h.

Referenced by mrpt::graphs::detail::THypothesis< GRAPH_T >::sameEndsWith().

◆ goodness

template<class GRAPH_T>
double mrpt::graphs::detail::THypothesis< GRAPH_T >::goodness {0}

Goodness value corresponding to the hypothesis edge.

Note
For ICP edges this resolves to the CICP goodness measure for the alignment operation.
See also
edge, mrpt::slam::CICP::goodness

Definition at line 98 of file THypothesis.h.

◆ id

template<class GRAPH_T>
size_t mrpt::graphs::detail::THypothesis< GRAPH_T >::id

ID of the current hypothesis.

Definition at line 84 of file THypothesis.h.

Referenced by mrpt::graphs::detail::THypothesis< GRAPH_T >::operator<().

◆ is_valid

template<class GRAPH_T>
bool mrpt::graphs::detail::THypothesis< GRAPH_T >::is_valid {true}

Field that specifies if the hypothesis is to be considered.

Definition at line 90 of file THypothesis.h.

◆ to

template<class GRAPH_T>
mrpt::graphs::TNodeID mrpt::graphs::detail::THypothesis< GRAPH_T >::to

Ending node of the hypothesis.

Definition at line 88 of file THypothesis.h.

Referenced by mrpt::graphs::detail::THypothesis< GRAPH_T >::sameEndsWith().




Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020