Main MRPT website > C++ reference
MRPT logo
List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions
mrpt::graphs::CNetworkOfPoses2D Class Referenceabstract

Detailed Description

The specialization of CNetworkOfPoses for poses of type CPose2D (not a PDF!), also implementing serialization.

See Also
CNetworkOfPoses, CNetworkOfPoses2D, CNetworkOfPoses3D, CNetworkOfPoses2DInf, CNetworkOfPoses3DInf

Definition at line 283 of file CNetworkOfPoses.h.

#include <mrpt/graphs/CNetworkOfPoses.h>

Inheritance diagram for mrpt::graphs::CNetworkOfPoses2D:
Inheritance graph
[legend]

Public Types

typedef
mrpt::aligned_containers
< TPairNodeIDs, edge_t >
::multimap_t 
edges_map_t
 The type of the member edges.
 
typedef edges_map_t::iterator iterator
 
typedef edges_map_t::const_iterator const_iterator
 
Typedef's
typedef
mrpt::graphs::CDirectedGraph
< CPose2D,
mrpt::graphs::detail::edge_annotations_empty
BASE
 The base class "CDirectedGraph<CPOSE,EDGE_ANNOTATIONS>" */.
 
typedef CNetworkOfPoses
< CPose2D, map_traits_stdmap,
mrpt::graphs::detail::node_annotations_empty,
mrpt::graphs::detail::edge_annotations_empty
self_t
 My own type.
 
typedef CPose2D constraint_t
 The type of PDF poses in the contraints (edges) (=CPOSE template argument)
 
typedef
mrpt::graphs::detail::node_annotations_empty 
node_annotations_t
 The extra annotations in nodes, apart from a constraint_no_pdf_t.
 
typedef
mrpt::graphs::detail::edge_annotations_empty 
edge_annotations_t
 The extra annotations in edges, apart from a constraint_t.
 
typedef map_traits_stdmap maps_implementation_t
 The type of map's implementation (=MAPS_IMPLEMENTATION template argument)
 
typedef CPose2D::type_value constraint_no_pdf_t
 The type of edges or their means if they are PDFs (that is, a simple "edge" value)
 
typedef
map_traits_stdmap::template
map< TNodeID, CPose2D > 
global_poses_pdf_t
 A map from pose IDs to their global coordinates estimates, with uncertainty.
 
typedef
map_traits_stdmap::template
map< TNodeID, global_pose_t > 
global_poses_t
 A map from pose IDs to their global coordinates estimates, without uncertainty (the "most-likely value")
 

Public Member Functions

iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
mrpt::utils::CObjectPtr duplicateGetSmartPtr () const
 Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).
 
CObject * clone () const
 Cloning interface for smart pointers.
 
I/O file methods
void saveToTextFile (const std::string &fileName) const
 Saves to a text file in the format used by TORO & HoG-man (more on the format here ) For 2D graphs only VERTEX2 & EDGE2 entries will be saved, and VERTEX3 & EDGE3 entries for 3D graphs.
 
void loadFromTextFile (const std::string &fileName, bool collapse_dup_edges=true)
 Loads from a text file in the format used by TORO & HoG-man (more on the format here ) Recognized line entries are: VERTEX2, VERTEX3, EDGE2, EDGE3, EQUIV.
 
Utility methods
void dijkstra_nodes_estimate ()
 Spanning tree computation of a simple estimation of the global coordinates of each node just from the information in all edges, sorted in a Dijkstra tree based on the current "root" node.
 
size_t collapseDuplicatedEdges ()
 Look for duplicated edges (even in opposite directions) between all pairs of nodes and fuse them.
 
double getGlobalSquareError (bool ignoreCovariances=true) const
 Computes the overall square error from all the pose constraints (edges) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.
 
double getEdgeSquareError (const typename BASE::edges_map_t::const_iterator &itEdge, bool ignoreCovariances=true) const
 Computes the square error of one pose constraints (edge) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.
 
double getEdgeSquareError (const TNodeID from_id, const TNodeID to_id, bool ignoreCovariances=true) const
 Computes the square error of one pose constraints (edge) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.
 
void clear ()
 Empty all edges, nodes and set root to ID 0.
 
size_t nodeCount () const
 Return number of nodes in the list of global coordinates (may be differente that all nodes appearing in edges)
 
Edges/nodes utility methods
size_t edgeCount () const
 The number of edges in the graph.
 
void clearEdges ()
 Erase all edges.
 
void insertEdge (TNodeID from_nodeID, TNodeID to_nodeID, const edge_t &edge_value)
 Insert an edge (from -> to) with the given edge value.
 
void insertEdgeAtEnd (TNodeID from_nodeID, TNodeID to_nodeID, const edge_t &edge_value)
 Insert an edge (from -> to) with the given edge value (more efficient version to be called if you know that the end will go at the end of the sorted std::multimap).
 
bool edgeExists (TNodeID from_nodeID, TNodeID to_nodeID) const
 Test is the given directed edge exists.
 
edge_t & getEdge (TNodeID from_nodeID, TNodeID to_nodeID)
 Return a reference to the content of a given edge.
 
const edge_t & getEdge (TNodeID from_nodeID, TNodeID to_nodeID) const
 Return a reference to the content of a given edge.
 
std::pair< iterator, iteratorgetEdges (TNodeID from_nodeID, TNodeID to_nodeID)
 Return a pair<first,last> of iterators to the range of edges between two given nodes.
 
std::pair< const_iterator,
const_iterator
getEdges (TNodeID from_nodeID, TNodeID to_nodeID) const
 Return a pair<first,last> of const iterators to the range of edges between two given nodes.
 
void eraseEdge (TNodeID from_nodeID, TNodeID to_nodeID)
 Erase all edges between the given nodes (it has no effect if no edge existed)
 
void getAllNodes (std::set< TNodeID > &lstNode_IDs) const
 Return a list of all the node_ID's of the graph, generated from all the nodes that appear in the list of edges.
 
std::set< TNodeIDgetAllNodes () const
 Less efficient way to get all nodes that returns a copy of the set object.
 
size_t countDifferentNodesInEdges () const
 Count how many different node IDs appear in the graph edges.
 
void getNeighborsOf (const TNodeID nodeID, std::set< TNodeID > &neighborIDs) const
 Return the list of all neighbors of "nodeID", by creating a list of their node IDs.
 
void getAdjacencyMatrix (MAP_NODEID_SET_NODEIDS &outAdjacency) const
 Return a map from node IDs to all its neighbors (that is, connected nodes, regardless of the edge direction) This is a much more efficient method than calling getNeighborsOf() for each node in the graph.
 
void getAdjacencyMatrix (MAP_NODEID_SET_NODEIDS &outAdjacency, const SET_NODEIDS &onlyForTheseNodes) const
 Just like getAdjacencyMatrix but return only the adjacency for those node_ids in the set onlyForTheseNodes (both endings nodes of an edge must be within the set for it to be returned)
 

Public Attributes

edges_map_t edges
 The public member with the directed edges in the graph.
 
Data members
global_poses_t nodes
 The nodes (vertices) of the graph, with their estimated "global" (with respect to root) position, without an associated covariance.
 
TNodeID root
 The ID of the node that is the origin of coordinates, used as reference by all coordinates in .
 
bool edges_store_inverse_poses
 False (default) if an edge i->j stores the normal relative pose of j as seen from i: $ \Delta_i^j = j \ominus i $ True if an edge i->j stores the inverse relateive pose, that is, i as seen from j: $ \Delta_i^j = i \ominus j $.
 

Static Public Attributes

static const
mrpt::utils::TRuntimeClassId 
classCObject
 
RTTI stuff
static const
mrpt::utils::TRuntimeClassId 
classCSerializable
 

Protected Member Functions

virtual void writeToStream (mrpt::utils::CStream &out, int *getVersion) const =0
 Introduces a pure virtual method responsible for writing to a CStream.
 
virtual void readFromStream (mrpt::utils::CStream &in, int version)=0
 Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.
 

RTTI stuff

typedef CNetworkOfPoses2DPtr SmartPtr
 
static mrpt::utils::CLASSINIT _init_CNetworkOfPoses2D
 
static mrpt::utils::TRuntimeClassId classCNetworkOfPoses2D
 
static const
mrpt::utils::TRuntimeClassId
classinfo
 
static const
mrpt::utils::TRuntimeClassId
_GetBaseClass ()
 
virtual const
mrpt::utils::TRuntimeClassId
GetRuntimeClass () const
 Returns information about the class of an object in runtime.
 
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class.
 
static mrpt::utils::CObjectCreateObject ()
 
static CNetworkOfPoses2DPtr Create ()
 

Member Typedef Documentation

The base class "CDirectedGraph<CPOSE,EDGE_ANNOTATIONS>" */.

Definition at line 105 of file CNetworkOfPoses.h.

typedef edges_map_t::const_iterator mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::const_iterator
inherited

Definition at line 77 of file CDirectedGraph.h.

The type of edges or their means if they are PDFs (that is, a simple "edge" value)

Definition at line 113 of file CNetworkOfPoses.h.

The type of PDF poses in the contraints (edges) (=CPOSE template argument)

Definition at line 108 of file CNetworkOfPoses.h.

The extra annotations in edges, apart from a constraint_t.

Definition at line 110 of file CNetworkOfPoses.h.

The type of the member edges.

Definition at line 75 of file CDirectedGraph.h.

A map from pose IDs to their global coordinates estimates, with uncertainty.

Definition at line 125 of file CNetworkOfPoses.h.

A map from pose IDs to their global coordinates estimates, without uncertainty (the "most-likely value")

Definition at line 128 of file CNetworkOfPoses.h.

typedef edges_map_t::iterator mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::iterator
inherited

Definition at line 76 of file CDirectedGraph.h.

The type of map's implementation (=MAPS_IMPLEMENTATION template argument)

Definition at line 112 of file CNetworkOfPoses.h.

The extra annotations in nodes, apart from a constraint_no_pdf_t.

Definition at line 109 of file CNetworkOfPoses.h.

My own type.

Definition at line 106 of file CNetworkOfPoses.h.

A typedef for the associated smart pointer

Definition at line 285 of file CNetworkOfPoses.h.

Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::graphs::CNetworkOfPoses2D::_GetBaseClass ( )
staticprotected

Definition at line 86 of file CDirectedGraph.h.

Definition at line 88 of file CDirectedGraph.h.

Empty all edges, nodes and set root to ID 0.

Definition at line 228 of file CNetworkOfPoses.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::clearEdges ( )
inlineinherited

Erase all edges.

Definition at line 96 of file CDirectedGraph.h.

CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 154 of file CObject.h.

Look for duplicated edges (even in opposite directions) between all pairs of nodes and fuse them.

Upon return, only one edge remains between each pair of nodes with the mean & covariance (or information matrix) corresponding to the Bayesian fusion of all the Gaussians.

Returns
Overall number of removed edges.

Definition at line 195 of file CNetworkOfPoses.h.

size_t mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::countDifferentNodesInEdges ( ) const
inlineinherited

Count how many different node IDs appear in the graph edges.

Definition at line 179 of file CDirectedGraph.h.

static CNetworkOfPoses2DPtr mrpt::graphs::CNetworkOfPoses2D::Create ( )
static
static mrpt::utils::CObject* mrpt::graphs::CNetworkOfPoses2D::CreateObject ( )
static

Spanning tree computation of a simple estimation of the global coordinates of each node just from the information in all edges, sorted in a Dijkstra tree based on the current "root" node.

Note that "global" coordinates are with respect to the node with the ID specified in root.

Note
This method takes into account the value of edges_store_inverse_poses
See Also
node, root

Definition at line 189 of file CNetworkOfPoses.h.

virtual mrpt::utils::CObject* mrpt::graphs::CNetworkOfPoses2D::duplicate ( ) const
virtual

Returns a copy of the object, indepently of its class.

Implements mrpt::utils::CObject.

mrpt::utils::CObjectPtr mrpt::utils::CObject::duplicateGetSmartPtr ( ) const
inlineinherited

Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).

Definition at line 151 of file CObject.h.

size_t mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::edgeCount ( ) const
inlineinherited

The number of edges in the graph.

Definition at line 95 of file CDirectedGraph.h.

bool mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::edgeExists ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
) const
inlineinherited

Test is the given directed edge exists.

Definition at line 118 of file CDirectedGraph.h.

Definition at line 87 of file CDirectedGraph.h.

Definition at line 89 of file CDirectedGraph.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::eraseEdge ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
)
inlineinherited

Erase all edges between the given nodes (it has no effect if no edge existed)

Definition at line 158 of file CDirectedGraph.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getAdjacencyMatrix ( MAP_NODEID_SET_NODEIDS &  outAdjacency) const
inlineinherited

Return a map from node IDs to all its neighbors (that is, connected nodes, regardless of the edge direction) This is a much more efficient method than calling getNeighborsOf() for each node in the graph.

Possible values for the template argument MAP_NODEID_SET_NODEIDS are:

Definition at line 211 of file CDirectedGraph.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getAdjacencyMatrix ( MAP_NODEID_SET_NODEIDS &  outAdjacency,
const SET_NODEIDS &  onlyForTheseNodes 
) const
inlineinherited

Just like getAdjacencyMatrix but return only the adjacency for those node_ids in the set onlyForTheseNodes (both endings nodes of an edge must be within the set for it to be returned)

Definition at line 224 of file CDirectedGraph.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getAllNodes ( std::set< TNodeID > &  lstNode_IDs) const
inlineinherited

Return a list of all the node_ID's of the graph, generated from all the nodes that appear in the list of edges.

Definition at line 164 of file CDirectedGraph.h.

std::set<TNodeID> mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getAllNodes ( ) const
inlineinherited

Less efficient way to get all nodes that returns a copy of the set object.

See Also
getAllNodes( std::set<TNodeID> &lstNode_IDs)

Definition at line 175 of file CDirectedGraph.h.

edge_t& mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getEdge ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
)
inlineinherited

Return a reference to the content of a given edge.

If several edges exist between the given nodes, the first one is returned.

Exceptions
std::exceptionif the given edge does not exist
See Also
getEdges

Definition at line 126 of file CDirectedGraph.h.

const edge_t& mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getEdge ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
) const
inlineinherited

Return a reference to the content of a given edge.

If several edges exist between the given nodes, the first one is returned.

Exceptions
std::exceptionif the given edge does not exist
See Also
getEdges

Definition at line 139 of file CDirectedGraph.h.

std::pair<iterator,iterator> mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getEdges ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
)
inlineinherited

Return a pair<first,last> of iterators to the range of edges between two given nodes.

See Also
getEdge

Definition at line 148 of file CDirectedGraph.h.

std::pair<const_iterator,const_iterator> mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getEdges ( TNodeID  from_nodeID,
TNodeID  to_nodeID 
) const
inlineinherited

Return a pair<first,last> of const iterators to the range of edges between two given nodes.

See Also
getEdge

Definition at line 152 of file CDirectedGraph.h.

double mrpt::graphs::CNetworkOfPoses< CPose2D , map_traits_stdmap , mrpt::graphs::detail::node_annotations_empty , mrpt::graphs::detail::edge_annotations_empty >::getEdgeSquareError ( const typename BASE::edges_map_t::const_iterator itEdge,
bool  ignoreCovariances = true 
) const
inlineinherited

Computes the square error of one pose constraints (edge) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.

Exceptions
std::exceptionOn global poses not in nodes

Definition at line 214 of file CNetworkOfPoses.h.

double mrpt::graphs::CNetworkOfPoses< CPose2D , map_traits_stdmap , mrpt::graphs::detail::node_annotations_empty , mrpt::graphs::detail::edge_annotations_empty >::getEdgeSquareError ( const TNodeID  from_id,
const TNodeID  to_id,
bool  ignoreCovariances = true 
) const
inlineinherited

Computes the square error of one pose constraints (edge) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.

Exceptions
std::exceptionOn edge not existing or global poses not in nodes

Definition at line 220 of file CNetworkOfPoses.h.

double mrpt::graphs::CNetworkOfPoses< CPose2D , map_traits_stdmap , mrpt::graphs::detail::node_annotations_empty , mrpt::graphs::detail::edge_annotations_empty >::getGlobalSquareError ( bool  ignoreCovariances = true) const
inlineinherited

Computes the overall square error from all the pose constraints (edges) with respect to the global poses in If ignoreCovariances is false, the squared Mahalanobis distance will be computed instead of the straight square error.

See Also
getEdgeSquareError
Exceptions
std::exceptionOn global poses not in nodes

Definition at line 202 of file CNetworkOfPoses.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::getNeighborsOf ( const TNodeID  nodeID,
std::set< TNodeID > &  neighborIDs 
) const
inlineinherited

Return the list of all neighbors of "nodeID", by creating a list of their node IDs.

See Also
getAdjacencyMatrix

Definition at line 191 of file CDirectedGraph.h.

virtual const mrpt::utils::TRuntimeClassId* mrpt::graphs::CNetworkOfPoses2D::GetRuntimeClass ( ) const
virtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::insertEdge ( TNodeID  from_nodeID,
TNodeID  to_nodeID,
const edge_t &  edge_value 
)
inlineinherited

Insert an edge (from -> to) with the given edge value.

See Also
insertEdgeAtEnd

Definition at line 100 of file CDirectedGraph.h.

void mrpt::graphs::CDirectedGraph< CPose2D , mrpt::graphs::detail::edge_annotations_empty >::insertEdgeAtEnd ( TNodeID  from_nodeID,
TNodeID  to_nodeID,
const edge_t &  edge_value 
)
inlineinherited

Insert an edge (from -> to) with the given edge value (more efficient version to be called if you know that the end will go at the end of the sorted std::multimap).

See Also
insertEdge

Definition at line 109 of file CDirectedGraph.h.

void mrpt::graphs::CNetworkOfPoses< CPose2D , map_traits_stdmap , mrpt::graphs::detail::node_annotations_empty , mrpt::graphs::detail::edge_annotations_empty >::loadFromTextFile ( const std::string &  fileName,
bool  collapse_dup_edges = true 
)
inlineinherited

Loads from a text file in the format used by TORO & HoG-man (more on the format here ) Recognized line entries are: VERTEX2, VERTEX3, EDGE2, EDGE3, EQUIV.

If an unknown entry is found, a warning is dumped to std::cerr (only once for each unknown keyword). An exception will be raised if trying to load a 3D graph into a 2D class (in the opposite case, missing 3D data will default to zero).

Parameters
fileNameThe file to load.
collapse_dup_edgesIf true, collapseDuplicatedEdges will be called automatically after loading (note that this operation may take significant time for very large graphs).
See Also
loadFromBinaryFile, saveToTextFile
Exceptions
Onany error, as a malformed line or loading a 3D graph in a 2D graph.

Definition at line 174 of file CNetworkOfPoses.h.

Return number of nodes in the list of global coordinates (may be differente that all nodes appearing in edges)

See Also
mrpt::graphs::CDirectedGraph::countDifferentNodesInEdges

Definition at line 238 of file CNetworkOfPoses.h.

virtual void mrpt::utils::CSerializable::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protectedpure virtualinherited

Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.

Parameters
inThe input binary stream where the object data must read from.
versionThe version of the object stored in the stream: use this version number in your code to know how to read the incoming data.
Exceptions
std::exceptionOn any error, see CStream::ReadBuffer
See Also
CStream

Implemented in mrpt::reactivenav::CLogFileRecord_ND, mrpt::utils::CSimpleDatabase, mrpt::slam::CObservation3DRangeScan, mrpt::utils::CImage, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::slam::COccupancyGridMap2D, mrpt::hmtslam::CHMTSLAM, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::slam::CHeightGridMap2D, mrpt::slam::CObservationIMU, mrpt::poses::CPose3D, mrpt::slam::CMultiMetricMapPDF, mrpt::slam::CLandmarksMap, mrpt::vision::CFeature, mrpt::slam::CMultiMetricMap, mrpt::slam::CRawlog, mrpt::slam::CSensoryFrame, mrpt::slam::CObservation2DRangeScan, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DInterpolator, mrpt::opengl::COpenGLViewport, mrpt::math::CMatrixD, mrpt::slam::CBeaconMap, mrpt::slam::CReflectivityGridMap2D, mrpt::math::CMatrix, mrpt::opengl::CPointCloud, mrpt::hmtslam::CLSLAMParticleData, mrpt::opengl::CPointCloudColoured, mrpt::detectors::CDetectable2D, mrpt::opengl::COpenGLScene, mrpt::utils::CMHPropertiesValuesList, mrpt::opengl::CPlanarLaserScan, mrpt::opengl::CFrustum, mrpt::poses::CPose3DRotVec, mrpt::slam::CWirelessPowerGridMap2D, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPose3DQuat, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::hmtslam::CHMHMapNode, mrpt::slam::CBeacon, mrpt::slam::CObservationStereoImages, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::opengl::CText3D, mrpt::slam::CObservationStereoImagesFeatures, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::slam::CLandmark, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::hmtslam::CRobotPosesGraph, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CMesh, mrpt::poses::CPosePDFParticles, mrpt::poses::CPosePDFSOG, mrpt::slam::CGasConcentrationGridMap2D, mrpt::slam::CObservationImage, mrpt::opengl::CSetOfLines, mrpt::opengl::CText, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::opengl::CPolyhedron, mrpt::poses::CPosePDFGaussianInf, mrpt::hmtslam::CHierarchicalMHMap, mrpt::opengl::CAngularObservationMesh, mrpt::slam::CColouredPointsMap, mrpt::slam::CIncrementalMapPartitioner, mrpt::slam::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose2D, mrpt::hmtslam::CHMHMapArc, mrpt::slam::CSimplePointsMap, mrpt::opengl::CDisk, mrpt::opengl::CSetOfObjects, mrpt::poses::CPose3DPDFSOG, mrpt::slam::CActionRobotMovement2D, mrpt::slam::CObservationBatteryState, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::poses::CPoint3D, mrpt::poses::CPosePDFGaussian, mrpt::utils::TCamera, mrpt::slam::CSimpleMap, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CSphere, mrpt::slam::CWeightedPointsMap, mrpt::opengl::CCamera, mrpt::poses::CPosePDFGrid, mrpt::utils::CStringList, mrpt::slam::CObservationOdometry, mrpt::opengl::CBox, mrpt::opengl::CSetOfTexturedTriangles, mrpt::utils::CMemoryChunk, mrpt::slam::CActionCollection, mrpt::slam::CObservationGPS, mrpt::slam::CObservationRange, mrpt::reactivenav::CLogFileRecord, mrpt::math::CSplineInterpolator1D, mrpt::utils::CPropertiesValuesList, mrpt::slam::CObservationBearingRange, mrpt::slam::CObservationGasSensors, mrpt::slam::CObservationWirelessPower, mrpt::opengl::C3DSScene, mrpt::slam::CObservationVisualLandmarks, mrpt::math::CMatrixB, mrpt::poses::CPointPDFGaussian, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::utils::CSimpleDatabaseTable, mrpt::slam::CActionRobotMovement3D, mrpt::slam::CObservationBeaconRanges, mrpt::slam::CObservationComment, mrpt::slam::CObservationRFID, mrpt::opengl::CCylinder, mrpt::opengl::CSetOfTriangles, mrpt::utils::TStereoCamera, mrpt::slam::CObservationReflectivity, mrpt::opengl::CGeneralizedCylinder, mrpt::math::CPolygon, mrpt::poses::CPoint2DPDFGaussian, mrpt::poses::TSimple3DPoint, mrpt::opengl::COpenGLStandardObject, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::utils::CTypeSelector, and mrpt::reactivenav::CLogFileRecord_VFF.

void mrpt::graphs::CNetworkOfPoses< CPose2D , map_traits_stdmap , mrpt::graphs::detail::node_annotations_empty , mrpt::graphs::detail::edge_annotations_empty >::saveToTextFile ( const std::string &  fileName) const
inlineinherited

Saves to a text file in the format used by TORO & HoG-man (more on the format here ) For 2D graphs only VERTEX2 & EDGE2 entries will be saved, and VERTEX3 & EDGE3 entries for 3D graphs.

Note that EQUIV entries will not be saved, but instead several EDGEs will be stored between the same node IDs.

See Also
saveToBinaryFile, loadFromTextFile
Exceptions
Onany error

Definition at line 161 of file CNetworkOfPoses.h.

virtual void mrpt::utils::CSerializable::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protectedpure virtualinherited

Introduces a pure virtual method responsible for writing to a CStream.

This can not be used directly be users, instead use "stream << object;" for writing it to a stream.

Parameters
outThe output binary stream where object must be dumped.
getVersionIf NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data.
Exceptions
std::exceptionOn any error, see CStream::WriteBuffer
See Also
CStream

Implemented in mrpt::reactivenav::CLogFileRecord_ND, mrpt::utils::CSimpleDatabase, mrpt::slam::CObservation3DRangeScan, mrpt::utils::CImage, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::slam::COccupancyGridMap2D, mrpt::hmtslam::CHMTSLAM, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::slam::CHeightGridMap2D, mrpt::slam::CObservationIMU, mrpt::poses::CPose3D, mrpt::slam::CMultiMetricMapPDF, mrpt::slam::CLandmarksMap, mrpt::vision::CFeature, mrpt::slam::CMultiMetricMap, mrpt::slam::CRawlog, mrpt::slam::CSensoryFrame, mrpt::slam::CObservation2DRangeScan, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DInterpolator, mrpt::opengl::COpenGLViewport, mrpt::math::CMatrixD, mrpt::slam::CBeaconMap, mrpt::slam::CReflectivityGridMap2D, mrpt::opengl::CPointCloud, mrpt::math::CMatrix, mrpt::hmtslam::CLSLAMParticleData, mrpt::opengl::CPointCloudColoured, mrpt::detectors::CDetectable2D, mrpt::opengl::COpenGLScene, mrpt::utils::CMHPropertiesValuesList, mrpt::opengl::CPlanarLaserScan, mrpt::opengl::CFrustum, mrpt::poses::CPose3DRotVec, mrpt::slam::CWirelessPowerGridMap2D, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPose3DQuat, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::hmtslam::CHMHMapNode, mrpt::slam::CBeacon, mrpt::slam::CObservationStereoImages, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::opengl::CText3D, mrpt::slam::CObservationStereoImagesFeatures, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::slam::CLandmark, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::hmtslam::CRobotPosesGraph, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CMesh, mrpt::poses::CPosePDFParticles, mrpt::poses::CPosePDFSOG, mrpt::slam::CGasConcentrationGridMap2D, mrpt::slam::CObservationImage, mrpt::opengl::CSetOfLines, mrpt::opengl::CText, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::opengl::CPolyhedron, mrpt::poses::CPosePDFGaussianInf, mrpt::hmtslam::CHierarchicalMHMap, mrpt::opengl::CAngularObservationMesh, mrpt::slam::CColouredPointsMap, mrpt::slam::CIncrementalMapPartitioner, mrpt::slam::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose2D, mrpt::hmtslam::CHMHMapArc, mrpt::slam::CSimplePointsMap, mrpt::opengl::CDisk, mrpt::opengl::CSetOfObjects, mrpt::poses::CPose3DPDFSOG, mrpt::slam::CActionRobotMovement2D, mrpt::slam::CObservationBatteryState, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::poses::CPoint3D, mrpt::poses::CPosePDFGaussian, mrpt::utils::TCamera, mrpt::slam::CSimpleMap, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CSphere, mrpt::slam::CWeightedPointsMap, mrpt::opengl::CCamera, mrpt::poses::CPosePDFGrid, mrpt::utils::CStringList, mrpt::slam::CObservationOdometry, mrpt::opengl::CBox, mrpt::opengl::CSetOfTexturedTriangles, mrpt::utils::CMemoryChunk, mrpt::slam::CActionCollection, mrpt::slam::CObservationGPS, mrpt::slam::CObservationRange, mrpt::reactivenav::CLogFileRecord, mrpt::math::CSplineInterpolator1D, mrpt::utils::CPropertiesValuesList, mrpt::slam::CObservationBearingRange, mrpt::slam::CObservationGasSensors, mrpt::slam::CObservationWirelessPower, mrpt::opengl::C3DSScene, mrpt::slam::CObservationVisualLandmarks, mrpt::math::CMatrixB, mrpt::poses::CPointPDFGaussian, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::utils::CSimpleDatabaseTable, mrpt::slam::CActionRobotMovement3D, mrpt::slam::CObservationBeaconRanges, mrpt::slam::CObservationComment, mrpt::slam::CObservationRFID, mrpt::opengl::CCylinder, mrpt::opengl::CSetOfTriangles, mrpt::utils::TStereoCamera, mrpt::slam::CObservationReflectivity, mrpt::opengl::CGeneralizedCylinder, mrpt::math::CPolygon, mrpt::poses::CPoint2DPDFGaussian, mrpt::poses::TSimple3DPoint, mrpt::opengl::COpenGLStandardObject, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::utils::CTypeSelector, and mrpt::reactivenav::CLogFileRecord_VFF.

Member Data Documentation

mrpt::utils::CLASSINIT mrpt::graphs::CNetworkOfPoses2D::_init_CNetworkOfPoses2D
staticprotected

Definition at line 285 of file CNetworkOfPoses.h.

mrpt::utils::TRuntimeClassId mrpt::graphs::CNetworkOfPoses2D::classCNetworkOfPoses2D
static

Definition at line 285 of file CNetworkOfPoses.h.

const mrpt::utils::TRuntimeClassId mrpt::utils::CObject::classCObject
staticinherited

Definition at line 139 of file CObject.h.

const mrpt::utils::TRuntimeClassId mrpt::utils::CSerializable::classCSerializable
staticinherited

Definition at line 56 of file CSerializable.h.

const mrpt::utils::TRuntimeClassId* mrpt::graphs::CNetworkOfPoses2D::classinfo
static

Definition at line 285 of file CNetworkOfPoses.h.

The public member with the directed edges in the graph.

Definition at line 80 of file CDirectedGraph.h.

False (default) if an edge i->j stores the normal relative pose of j as seen from i: $ \Delta_i^j = j \ominus i $ True if an edge i->j stores the inverse relateive pose, that is, i as seen from j: $ \Delta_i^j = i \ominus j $.

Definition at line 147 of file CNetworkOfPoses.h.

The nodes (vertices) of the graph, with their estimated "global" (with respect to root) position, without an associated covariance.

See Also
dijkstra_nodes_estimate

Definition at line 139 of file CNetworkOfPoses.h.

The ID of the node that is the origin of coordinates, used as reference by all coordinates in .

By default, root is the ID "0".

Definition at line 142 of file CNetworkOfPoses.h.




Page generated by Doxygen 1.8.3 for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013