Added printKeys() to factor for more compact printing

release/4.3a0
Alex Cunningham 2012-08-10 18:13:45 +00:00
parent 2e4697e7e1
commit b6e7709052
3 changed files with 14 additions and 1 deletions

View File

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

View File

@ -58,10 +58,16 @@ namespace gtsam {
template<typename KEY>
void Factor<KEY>::print(const std::string& s,
const IndexFormatter& formatter) const {
printKeys(s,formatter);
}
/* ************************************************************************* */
template<typename KEY>
void Factor<KEY>::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<typename KEY>

View File

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