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
 | 
						|
 | 
						|
 |