template struct mrpt::graphs::detail::graph_ops

Overview

a helper struct with static template functions

See also:

CNetworkOfPoses

#include <mrpt/graphs/CNetworkOfPoses_impl.h>

template <class graph_t>
struct graph_ops
{
    // methods

    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
        );
};