From bbaacc26c7c1d22f1511e313dddba1b4d8166978 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 19 Apr 2025 23:39:39 -0400 Subject: [PATCH] Wrap BayesTree traversal --- gtsam/linear/linear.i | 17 +++++++++++++++++ gtsam/symbolic/symbolic.i | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gtsam/linear/linear.i b/gtsam/linear/linear.i index 4b6498424..44d0a06a2 100644 --- a/gtsam/linear/linear.i +++ b/gtsam/linear/linear.i @@ -657,6 +657,21 @@ virtual class GaussianBayesNet { }; #include +class GaussianBayesTreeClique { + GaussianBayesTreeClique(); + GaussianBayesTreeClique(const gtsam::GaussianConditional* conditional); + bool equals(const gtsam::GaussianBayesTreeClique& other, double tol) const; + void print(string s = "", const gtsam::KeyFormatter& keyFormatter = + gtsam::DefaultKeyFormatter); + const gtsam::GaussianConditional* conditional() const; + bool isRoot() const; + gtsam::GaussianBayesTreeClique* parent() const; + size_t nrChildren() const; + gtsam::GaussianBayesTreeClique* operator[](size_t j) const; + size_t treeSize() const; + size_t numCachedSeparatorMarginals() const; + void deleteCachedShortcuts(); +}; virtual class GaussianBayesTree { // Standard Constructors and Named Constructors GaussianBayesTree(); @@ -666,6 +681,8 @@ virtual class GaussianBayesTree { gtsam::DefaultKeyFormatter); size_t size() const; bool empty() const; + const GaussianBayesTree::Roots& roots() const; + const gtsam::GaussianBayesTreeClique* operator[](size_t j) const; size_t numCachedSeparatorMarginals() const; string dot(const gtsam::KeyFormatter& keyFormatter = diff --git a/gtsam/symbolic/symbolic.i b/gtsam/symbolic/symbolic.i index 4da59dfa9..dd5289e01 100644 --- a/gtsam/symbolic/symbolic.i +++ b/gtsam/symbolic/symbolic.i @@ -185,6 +185,8 @@ class SymbolicBayesTreeClique { const gtsam::SymbolicConditional* conditional() const; bool isRoot() const; gtsam::SymbolicBayesTreeClique* parent() const; + size_t nrChildren() const; + gtsam::SymbolicBayesTreeClique* operator[](size_t j) const; size_t treeSize() const; size_t numCachedSeparatorMarginals() const; void deleteCachedShortcuts(); @@ -204,7 +206,7 @@ class SymbolicBayesTree { // Standard Interface bool empty() const; size_t size() const; - + const SymbolicBayesTree::Roots& roots() const; const gtsam::SymbolicBayesTreeClique* operator[](size_t j) const; void saveGraph(string s,