63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
/**
|
|
* @file serialization.h
|
|
*
|
|
* @brief Global functions for performing serialization, designed for use with matlab
|
|
*
|
|
* @date Jun 12, 2013
|
|
* @author Alex Cunningham
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <gtsam/nonlinear/NonlinearFactorGraph.h>
|
|
|
|
namespace gtsam {
|
|
|
|
// Serialize/Deserialize a NonlinearFactorGraph
|
|
std::string serializeGraph(const NonlinearFactorGraph& graph);
|
|
|
|
NonlinearFactorGraph::shared_ptr deserializeGraph(const std::string& serialized_graph);
|
|
|
|
std::string serializeGraphXML(const NonlinearFactorGraph& graph,
|
|
const std::string& name = "graph");
|
|
|
|
NonlinearFactorGraph::shared_ptr deserializeGraphXML(const std::string& serialized_graph,
|
|
const std::string& name = "graph");
|
|
|
|
|
|
// Serialize/Deserialize a Values
|
|
std::string serializeValues(const Values& values);
|
|
|
|
Values::shared_ptr deserializeValues(const std::string& serialized_values);
|
|
|
|
std::string serializeValuesXML(const Values& values, const std::string& name = "values");
|
|
|
|
Values::shared_ptr deserializeValuesXML(const std::string& serialized_values,
|
|
const std::string& name = "values");
|
|
|
|
// Serialize to/from files
|
|
// serialize functions return true if successful
|
|
// Filename arguments include path
|
|
|
|
// Serialize
|
|
bool serializeGraphToFile(const NonlinearFactorGraph& graph, const std::string& fname);
|
|
bool serializeGraphToXMLFile(const NonlinearFactorGraph& graph,
|
|
const std::string& fname, const std::string& name = "graph");
|
|
|
|
bool serializeValuesToFile(const Values& values, const std::string& fname);
|
|
bool serializeValuesToXMLFile(const Values& values,
|
|
const std::string& fname, const std::string& name = "values");
|
|
|
|
// Deserialize
|
|
NonlinearFactorGraph::shared_ptr deserializeGraphFromFile(const std::string& fname);
|
|
NonlinearFactorGraph::shared_ptr deserializeGraphFromXMLFile(const std::string& fname,
|
|
const std::string& name = "graph");
|
|
|
|
Values::shared_ptr deserializeValuesFromFile(const std::string& fname);
|
|
Values::shared_ptr deserializeValuesFromXMLFile(const std::string& fname,
|
|
const std::string& name = "values");
|
|
|
|
} // \namespace gtsam
|
|
|
|
|