diff --git a/.cproject b/.cproject index 81bf59187..316c5c30c 100644 --- a/.cproject +++ b/.cproject @@ -309,14 +309,6 @@ true true - - make - -j2 - testGaussianFactor.run - true - true - true - make -j2 @@ -343,6 +335,7 @@ make + tests/testBayesTree.run true false @@ -350,6 +343,7 @@ make + testBinaryBayesNet.run true false @@ -397,6 +391,7 @@ make + testSymbolicBayesNet.run true false @@ -404,6 +399,7 @@ make + tests/testSymbolicFactor.run true false @@ -411,6 +407,7 @@ make + testSymbolicFactorGraph.run true false @@ -426,11 +423,20 @@ make + tests/testBayesTree true false true + + make + -j2 + testGaussianFactor.run + true + true + true + make -j5 @@ -519,22 +525,6 @@ false true - - make - -j2 - all - true - true - true - - - make - -j2 - clean - true - true - true - make -j2 @@ -551,6 +541,22 @@ true true + + make + -j2 + all + true + true + true + + + make + -j2 + clean + true + true + true + make -j2 @@ -575,26 +581,26 @@ true true - + make - -j5 - testValues.run + -j2 + all true true true - + make - -j5 - testOrdering.run + -j2 + check true true true - + make - -j5 - testKey.run + -j2 + clean true true true @@ -679,26 +685,26 @@ true true - + make - -j2 - all + -j5 + testValues.run true true true - + make - -j2 - check + -j5 + testOrdering.run true true true - + make - -j2 - clean + -j5 + testKey.run true true true @@ -969,6 +975,7 @@ make + testGraph.run true false @@ -976,6 +983,7 @@ make + testJunctionTree.run true false @@ -983,6 +991,7 @@ make + testSymbolicBayesNetB.run true false @@ -1118,6 +1127,7 @@ make + testErrors.run true false @@ -1163,14 +1173,6 @@ true true - - make - -j2 - testGaussianFactor.run - true - true - true - make -j2 @@ -1251,6 +1253,14 @@ true true + + make + -j2 + testGaussianFactor.run + true + true + true + make -j2 @@ -1581,7 +1591,6 @@ make - testSimulated2DOriented.run true false @@ -1621,7 +1630,6 @@ make - testSimulated2D.run true false @@ -1629,7 +1637,6 @@ make - testSimulated3D.run true false @@ -1821,7 +1828,6 @@ make - tests/testGaussianISAM2 true false @@ -1843,102 +1849,6 @@ true true - - make - -j2 - testRot3.run - true - true - true - - - make - -j2 - testRot2.run - true - true - true - - - make - -j2 - testPose3.run - true - true - true - - - make - -j2 - timeRot3.run - true - true - true - - - make - -j2 - testPose2.run - true - true - true - - - make - -j2 - testCal3_S2.run - true - true - true - - - make - -j2 - testSimpleCamera.run - true - true - true - - - make - -j2 - testHomography2.run - true - true - true - - - make - -j2 - testCalibratedCamera.run - true - true - true - - - make - -j2 - check - true - true - true - - - make - -j2 - clean - true - true - true - - - make - -j2 - testPoint2.run - true - true - true - make -j1 @@ -1955,7 +1865,7 @@ true true - + make -j1 check @@ -2140,6 +2050,7 @@ cpack + -G DEB true false @@ -2147,6 +2058,7 @@ cpack + -G RPM true false @@ -2154,6 +2066,7 @@ cpack + -G TGZ true false @@ -2161,6 +2074,7 @@ cpack + --config CPackSourceConfig.cmake true false @@ -2286,34 +2200,106 @@ true true - + make -j5 - testSpirit.run + check true true true - + make - -j5 - testWrap.run + -j2 + testRot3.run true true true - + make - -j5 - check.wrap + -j2 + testRot2.run true true true - + make - -j5 - wrap + -j2 + testPose3.run + true + true + true + + + make + -j2 + timeRot3.run + true + true + true + + + make + -j2 + testPose2.run + true + true + true + + + make + -j2 + testCal3_S2.run + true + true + true + + + make + -j2 + testSimpleCamera.run + true + true + true + + + make + -j2 + testHomography2.run + true + true + true + + + make + -j2 + testCalibratedCamera.run + true + true + true + + + make + -j2 + check + true + true + true + + + make + -j2 + clean + true + true + true + + + make + -j2 + testPoint2.run true true true @@ -2357,6 +2343,38 @@ false true + + make + -j5 + testSpirit.run + true + true + true + + + make + -j5 + testWrap.run + true + true + true + + + make + -j5 + check.wrap + true + true + true + + + make + -j5 + wrap + true + true + true + diff --git a/gtsam/inference/BayesTree.h b/gtsam/inference/BayesTree.h index 8b6de3fe6..6cd7c67f1 100644 --- a/gtsam/inference/BayesTree.h +++ b/gtsam/inference/BayesTree.h @@ -198,6 +198,9 @@ namespace gtsam { /** Access the root clique (non-const version) */ sharedClique& root() { return root_; } + /** Access the nodes (non-cost version) */ + Nodes& nodes() { return nodes_; } + /** Remove all nodes */ void clear(); diff --git a/gtsam/linear/GaussianISAM.h b/gtsam/linear/GaussianISAM.h index e4ac62704..dbb6afb7e 100644 --- a/gtsam/linear/GaussianISAM.h +++ b/gtsam/linear/GaussianISAM.h @@ -48,20 +48,8 @@ public: /** Override update_internal to also keep track of variable dimensions. */ template void update_internal(const FACTORGRAPH& newFactors, Cliques& orphans) { - - Super::update_internal(newFactors, orphans, &EliminateQR); - - // update dimensions - BOOST_FOREACH(const typename FACTORGRAPH::sharedFactor& factor, newFactors) { - for(typename FACTORGRAPH::FactorType::const_iterator key = factor->begin(); key != factor->end(); ++key) { - if(*key >= dims_.size()) - dims_.resize(*key + 1); - if(dims_[*key] == 0) - dims_[*key] = factor->getDim(key); - else - assert(dims_[*key] == factor->getDim(key)); - } - } + Super::update_internal(newFactors, orphans, &EliminateQR); // TODO: why does this force QR? + update_dimensions(newFactors); } template @@ -70,6 +58,20 @@ public: this->update_internal(newFactors, orphans); } + template + inline void update_dimensions(const FACTORGRAPH& newFactors) { + BOOST_FOREACH(const typename FACTORGRAPH::sharedFactor& factor, newFactors) { + for(typename FACTORGRAPH::FactorType::const_iterator key = factor->begin(); key != factor->end(); ++key) { + if(*key >= dims_.size()) + dims_.resize(*key + 1); + if(dims_[*key] == 0) + dims_[*key] = factor->getDim(key); + else + assert(dims_[*key] == factor->getDim(key)); + } + } + } + void clear() { Super::clear(); dims_.clear();