From f8ce3a9c110a3d4be2d38fe9f40c1ee1fc45ee60 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Thu, 7 Jun 2012 13:17:46 +0000 Subject: [PATCH] saveGraph --- gtsam.h | 4 +++- gtsam/nonlinear/NonlinearISAM-inl.h | 6 ++++++ gtsam/nonlinear/NonlinearISAM.h | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gtsam.h b/gtsam.h index 9cfdab742..447b9f7ca 100644 --- a/gtsam.h +++ b/gtsam.h @@ -602,6 +602,7 @@ class GaussianFactorGraph { class GaussianISAM { GaussianISAM(); + void saveGraph(string s) const; gtsam::GaussianFactor* marginalFactor(size_t j) const; gtsam::GaussianBayesNet* marginalBayesNet(size_t key) const; Matrix marginalCovariance(size_t key) const; @@ -933,11 +934,12 @@ class Graph { class ISAM { ISAM(); ISAM(int reorderInterval); + void print(string s) const; + void saveGraph(string s) const; visualSLAM::Values estimate() const; Matrix marginalCovariance(size_t key) const; int reorderInterval() const; int reorderCounter() const; - void print(string s) const; void update(const visualSLAM::Graph& newFactors, const visualSLAM::Values& initialValues); void reorder_relinearize(); void addKey(size_t key); diff --git a/gtsam/nonlinear/NonlinearISAM-inl.h b/gtsam/nonlinear/NonlinearISAM-inl.h index e054ecacb..55181731c 100644 --- a/gtsam/nonlinear/NonlinearISAM-inl.h +++ b/gtsam/nonlinear/NonlinearISAM-inl.h @@ -28,6 +28,12 @@ using namespace std; using namespace gtsam; +/* ************************************************************************* */ +template +void NonlinearISAM::saveGraph(const std::string& s) const { + isam_.saveGraph(s); +} + /* ************************************************************************* */ template void NonlinearISAM::update(const Factors& newFactors, diff --git a/gtsam/nonlinear/NonlinearISAM.h b/gtsam/nonlinear/NonlinearISAM.h index 16547770b..54dc92a23 100644 --- a/gtsam/nonlinear/NonlinearISAM.h +++ b/gtsam/nonlinear/NonlinearISAM.h @@ -93,6 +93,9 @@ public: /** prints out all contents of the system */ void print(const std::string& s="") const; + /** saves the Tree to a text file in GraphViz format */ + void saveGraph(const std::string& s) const; + /// @} /// @name Advanced Interface /// @{