MRPT  2.0.4
List of all members | Static Public Member Functions
mrpt::graphs::detail::graph_ops< graph_t > Struct Template Reference

Detailed Description

template<class graph_t>
struct mrpt::graphs::detail::graph_ops< graph_t >

a helper struct with static template functions

See also
CNetworkOfPoses

Definition at line 48 of file CNetworkOfPoses.h.

#include <mrpt/graphs/CNetworkOfPoses.h>

Static Public Member Functions

static void write_VERTEX_line (const TNodeID id, const mrpt::poses::CPose2D &p, std::ostream &f)
 
static void write_VERTEX_line (const TNodeID id, const mrpt::poses::CPose3D &p, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const CPosePDFGaussianInf &edge, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const CPose3DPDFGaussianInf &edge, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const CPosePDFGaussian &edge, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const CPose3DPDFGaussian &edge, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const mrpt::poses::CPose2D &edge, std::ostream &f)
 
static void write_EDGE_line (const TPairNodeIDs &edgeIDs, const mrpt::poses::CPose3D &edge, std::ostream &f)
 
static void save_graph_of_poses_to_ostream (const graph_t *g, std::ostream &f)
 
static void save_graph_of_poses_to_text_file (const graph_t *g, const std::string &fil)
 
static void save_graph_of_poses_to_binary_file (const graph_t *g, mrpt::serialization::CArchive &out)
 
static void read_graph_of_poses_from_binary_file (graph_t *g, mrpt::serialization::CArchive &in)
 
static void load_graph_of_poses_from_text_stream (graph_t *g, std::istream &f, const std::string &fil=std::string("(none)"))
 
static void load_graph_of_poses_from_text_file (graph_t *g, const std::string &fil)
 
static size_t graph_of_poses_collapse_dup_edges (graph_t *g)
 
static void graph_of_poses_dijkstra_init (graph_t *g, std::map< TNodeID, size_t > *topological_distances=nullptr)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const CPosePDFGaussianInf &p)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const CPose3DPDFGaussianInf &p)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const CPosePDFGaussian &p)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const CPose3DPDFGaussian &p)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const mrpt::poses::CPose2D &p)
 
template<class VEC >
static double auxMaha2Dist (VEC &err, const mrpt::poses::CPose3D &p)
 
static double auxEuclid2Dist (const mrpt::poses::CPose2D &p1, const mrpt::poses::CPose2D &p2)
 
static double auxEuclid2Dist (const mrpt::poses::CPose3D &p1, const mrpt::poses::CPose3D &p2)
 
static double graph_edge_sqerror (const graph_t *g, const typename mrpt::graphs::CDirectedGraph< typename graph_t::constraint_t >::edges_map_t::const_iterator &itEdge, bool ignoreCovariances)
 

Member Function Documentation

◆ auxEuclid2Dist() [1/2]

template<class graph_t >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist ( const mrpt::poses::CPose2D p1,
const mrpt::poses::CPose2D p2 
)
inlinestatic

Definition at line 926 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose2D::phi(), mrpt::square(), mrpt::math::wrapToPi(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y().

Here is the call graph for this function:

◆ auxEuclid2Dist() [2/2]

template<class graph_t >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist ( const mrpt::poses::CPose3D p1,
const mrpt::poses::CPose3D p2 
)
inlinestatic

Definition at line 932 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3D::pitch(), mrpt::poses::CPose3D::roll(), mrpt::square(), mrpt::math::wrapToPi(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y(), and mrpt::poses::CPose3D::yaw().

Here is the call graph for this function:

◆ auxMaha2Dist() [1/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const CPosePDFGaussianInf p 
)
inlinestatic

Definition at line 879 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPosePDFGaussianInf::cov_inv, mrpt::math::multiply_HtCH_scalar(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ auxMaha2Dist() [2/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const CPose3DPDFGaussianInf p 
)
inlinestatic

Definition at line 885 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3DPDFGaussianInf::cov_inv, mrpt::math::multiply_HtCH_scalar(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ auxMaha2Dist() [3/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const CPosePDFGaussian p 
)
inlinestatic

Definition at line 893 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPosePDFGaussian::cov, mrpt::math::MatrixBase< Scalar, Derived >::inverse_LLt(), mrpt::math::multiply_HCHt_scalar(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ auxMaha2Dist() [4/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const CPose3DPDFGaussian p 
)
inlinestatic

Definition at line 900 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3DPDFGaussian::cov, mrpt::math::MatrixBase< Scalar, Derived >::inverse_LLt(), mrpt::math::multiply_HtCH_scalar(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ auxMaha2Dist() [5/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const mrpt::poses::CPose2D p 
)
inlinestatic

Definition at line 911 of file CNetworkOfPoses_impl.h.

References mrpt::square(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ auxMaha2Dist() [6/6]

template<class graph_t >
template<class VEC >
static double mrpt::graphs::detail::graph_ops< graph_t >::auxMaha2Dist ( VEC &  err,
const mrpt::poses::CPose3D p 
)
inlinestatic

Definition at line 917 of file CNetworkOfPoses_impl.h.

References mrpt::square(), and mrpt::math::wrapToPiInPlace().

Here is the call graph for this function:

◆ graph_edge_sqerror()

template<class graph_t >
static double mrpt::graphs::detail::graph_ops< graph_t >::graph_edge_sqerror ( const graph_t *  g,
const typename mrpt::graphs::CDirectedGraph< typename graph_t::constraint_t >::edges_map_t::const_iterator &  itEdge,
bool  ignoreCovariances 
)
inlinestatic

Definition at line 948 of file CNetworkOfPoses_impl.h.

References ASSERTMSG_, mrpt::format(), MRPT_END, MRPT_START, and mrpt::poses::UNINITIALIZED_POSE.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::getEdgeSquareError().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graph_of_poses_collapse_dup_edges()

template<class graph_t >
static size_t mrpt::graphs::detail::graph_ops< graph_t >::graph_of_poses_collapse_dup_edges ( graph_t *  g)
inlinestatic

Definition at line 713 of file CNetworkOfPoses_impl.h.

References MRPT_END, and MRPT_START.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::collapseDuplicatedEdges().

Here is the caller graph for this function:

◆ graph_of_poses_dijkstra_init()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::graph_of_poses_dijkstra_init ( graph_t *  g,
std::map< TNodeID, size_t > *  topological_distances = nullptr 
)
inlinestatic

Definition at line 764 of file CNetworkOfPoses_impl.h.

References ASSERTMSG_, mrpt::format(), MRPT_END, and MRPT_START.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::dijkstra_nodes_estimate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load_graph_of_poses_from_text_file()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file ( graph_t *  g,
const std::string &  fil 
)
inlinestatic

Definition at line 693 of file CNetworkOfPoses_impl.h.

References THROW_EXCEPTION_FMT.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::loadFromTextFile().

Here is the caller graph for this function:

◆ load_graph_of_poses_from_text_stream()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream ( graph_t *  g,
std::istream &  f,
const std::string &  fil = std::string("(none)") 
)
inlinestatic

◆ read_graph_of_poses_from_binary_file()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::read_graph_of_poses_from_binary_file ( graph_t *  g,
mrpt::serialization::CArchive in 
)
inlinestatic

Definition at line 223 of file CNetworkOfPoses_impl.h.

References ASSERT_EQUAL_, mrpt::typemeta::TTypeName< T >::get(), and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.

Referenced by mrpt::graphs::operator>>().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_graph_of_poses_to_binary_file()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::save_graph_of_poses_to_binary_file ( const graph_t *  g,
mrpt::serialization::CArchive out 
)
inlinestatic

Definition at line 206 of file CNetworkOfPoses_impl.h.

References mrpt::typemeta::TTypeName< T >::get(), and out.

Referenced by mrpt::graphs::operator<<().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ save_graph_of_poses_to_ostream()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::save_graph_of_poses_to_ostream ( const graph_t *  g,
std::ostream &  f 
)
inlinestatic

Definition at line 167 of file CNetworkOfPoses_impl.h.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::writeAsText().

Here is the caller graph for this function:

◆ save_graph_of_poses_to_text_file()

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::save_graph_of_poses_to_text_file ( const graph_t *  g,
const std::string &  fil 
)
inlinestatic

Definition at line 192 of file CNetworkOfPoses_impl.h.

References THROW_EXCEPTION_FMT.

Referenced by mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS >::saveToTextFile().

Here is the caller graph for this function:

◆ write_EDGE_line() [1/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const CPosePDFGaussianInf edge,
std::ostream &  f 
)
inlinestatic

Definition at line 95 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPosePDFGaussianInf::cov_inv, mrpt::poses::CPosePDFGaussianInf::mean, mrpt::poses::CPose2D::phi(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y().

Here is the call graph for this function:

◆ write_EDGE_line() [2/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const CPose3DPDFGaussianInf edge,
std::ostream &  f 
)
inlinestatic

Definition at line 107 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3DPDFGaussianInf::cov_inv, mrpt::poses::CPose3DPDFGaussianInf::mean, mrpt::poses::CPose3D::pitch(), mrpt::poses::CPose3D::roll(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y(), and mrpt::poses::CPose3D::yaw().

Here is the call graph for this function:

◆ write_EDGE_line() [3/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const CPosePDFGaussian edge,
std::ostream &  f 
)
inlinestatic

Definition at line 132 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPosePDFGaussianInf::copyFrom().

Here is the call graph for this function:

◆ write_EDGE_line() [4/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const CPose3DPDFGaussian edge,
std::ostream &  f 
)
inlinestatic

Definition at line 140 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3DPDFGaussianInf::copyFrom().

Here is the call graph for this function:

◆ write_EDGE_line() [5/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const mrpt::poses::CPose2D edge,
std::ostream &  f 
)
inlinestatic

Definition at line 148 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPosePDFGaussianInf::cov_inv, mrpt::poses::CPosePDFGaussianInf::mean, and mrpt::math::MatrixBase< Scalar, Derived >::setIdentity().

Here is the call graph for this function:

◆ write_EDGE_line() [6/6]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line ( const TPairNodeIDs edgeIDs,
const mrpt::poses::CPose3D edge,
std::ostream &  f 
)
inlinestatic

Definition at line 157 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3DPDFGaussianInf::cov_inv, mrpt::poses::CPose3DPDFGaussianInf::mean, and mrpt::math::MatrixBase< Scalar, Derived >::setIdentity().

Here is the call graph for this function:

◆ write_VERTEX_line() [1/2]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line ( const TNodeID  id,
const mrpt::poses::CPose2D p,
std::ostream &  f 
)
inlinestatic

Definition at line 78 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose2D::phi(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y().

Here is the call graph for this function:

◆ write_VERTEX_line() [2/2]

template<class graph_t >
static void mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line ( const TNodeID  id,
const mrpt::poses::CPose3D p,
std::ostream &  f 
)
inlinestatic

Definition at line 85 of file CNetworkOfPoses_impl.h.

References mrpt::poses::CPose3D::pitch(), mrpt::poses::CPose3D::roll(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::x(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS, DIM >::y(), and mrpt::poses::CPose3D::yaw().

Here is the call graph for this function:



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