diff --git a/gtsam.h b/gtsam.h index 0fd782309..14e3d175f 100644 --- a/gtsam.h +++ b/gtsam.h @@ -919,6 +919,7 @@ virtual class JacobianFactor : gtsam::GaussianFactor { Vector b, const gtsam::noiseModel::Diagonal* model); JacobianFactor(const gtsam::GaussianFactor& factor); void print(string s) const; + void printKeys(string s) const; bool equals(const gtsam::GaussianFactor& lf, double tol) const; bool empty() const; size_t size() const; @@ -942,6 +943,7 @@ virtual class HessianFactor : gtsam::GaussianFactor { HessianFactor(const gtsam::GaussianFactor& factor); size_t size() const; void print(string s) const; + void printKeys(string s) const; bool equals(const gtsam::GaussianFactor& lf, double tol) const; double error(const gtsam::VectorValues& c) const; gtsam::GaussianFactor* negate() const; @@ -1088,6 +1090,7 @@ class NonlinearFactorGraph { virtual class NonlinearFactor { void print(string s) const; + void printKeys(string s) const; void equals(const gtsam::NonlinearFactor& other, double tol) const; gtsam::KeyVector keys() const; size_t size() const; diff --git a/gtsam/inference/Factor-inl.h b/gtsam/inference/Factor-inl.h index 6636b646c..b2099aa3e 100644 --- a/gtsam/inference/Factor-inl.h +++ b/gtsam/inference/Factor-inl.h @@ -58,10 +58,16 @@ namespace gtsam { template void Factor::print(const std::string& s, const IndexFormatter& formatter) const { + printKeys(s,formatter); + } + + /* ************************************************************************* */ + template + void Factor::printKeys(const std::string& s, const IndexFormatter& formatter) const { std::cout << s << " "; BOOST_FOREACH(KEY key, keys_) std::cout << " " << formatter(key); std::cout << std::endl; - } + } /* ************************************************************************* */ template diff --git a/gtsam/inference/Factor.h b/gtsam/inference/Factor.h index 950f6e65f..4c31664d7 100644 --- a/gtsam/inference/Factor.h +++ b/gtsam/inference/Factor.h @@ -187,6 +187,10 @@ public: void print(const std::string& s = "Factor", const IndexFormatter& formatter = DefaultIndexFormatter) const; + /// print only keys + void printKeys(const std::string& s = "Factor", + const IndexFormatter& formatter = DefaultIndexFormatter) const; + /// check equality bool equals(const This& other, double tol = 1e-9) const;