From fa7bde7529fefc4dde1a0b9aede2ceba344a3905 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sun, 4 Jun 2023 23:00:32 +0100 Subject: [PATCH] wrap operator[] in DiscreteBayesTree --- gtsam/symbolic/symbolic.i | 49 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/gtsam/symbolic/symbolic.i b/gtsam/symbolic/symbolic.i index 839e75672..c05f35895 100644 --- a/gtsam/symbolic/symbolic.i +++ b/gtsam/symbolic/symbolic.i @@ -138,6 +138,22 @@ class SymbolicBayesNet { }; #include + +class SymbolicBayesTreeClique { + SymbolicBayesTreeClique(); + SymbolicBayesTreeClique(const gtsam::SymbolicConditional* conditional); + bool equals(const gtsam::SymbolicBayesTreeClique& other, double tol) const; + void print(string s = "", const gtsam::KeyFormatter& keyFormatter = + gtsam::DefaultKeyFormatter); + const gtsam::SymbolicConditional* conditional() const; + bool isRoot() const; + gtsam::SymbolicBayesTreeClique* parent() const; + size_t treeSize() const; + size_t numCachedSeparatorMarginals() const; + void deleteCachedShortcuts(); +}; + + class SymbolicBayesTree { // Constructors SymbolicBayesTree(); @@ -149,9 +165,14 @@ class SymbolicBayesTree { bool equals(const gtsam::SymbolicBayesTree& other, double tol) const; // Standard Interface - // size_t findParentClique(const gtsam::IndexVector& parents) const; - size_t size(); - void saveGraph(string s) const; + bool empty() const; + size_t size() const; + + const gtsam::SymbolicBayesTreeClique* operator[](size_t j) const; + + void saveGraph(string s, + const gtsam::KeyFormatter& keyFormatter = + gtsam::DefaultKeyFormatter) const; void clear(); void deleteCachedShortcuts(); size_t numCachedSeparatorMarginals() const; @@ -164,26 +185,4 @@ class SymbolicBayesTree { gtsam::DefaultKeyFormatter) const; }; -class SymbolicBayesTreeClique { - SymbolicBayesTreeClique(); - // SymbolicBayesTreeClique(gtsam::sharedConditional* conditional); - - bool equals(const gtsam::SymbolicBayesTreeClique& other, double tol) const; - void print(string s = "", const gtsam::KeyFormatter& keyFormatter = - gtsam::DefaultKeyFormatter) const; - size_t numCachedSeparatorMarginals() const; - // gtsam::sharedConditional* conditional() const; - bool isRoot() const; - size_t treeSize() const; - gtsam::SymbolicBayesTreeClique* parent() const; - - // // TODO: need wrapped versions graphs, BayesNet - // BayesNet shortcut(derived_ptr root, Eliminate function) - // const; FactorGraph marginal(derived_ptr root, Eliminate - // function) const; FactorGraph joint(derived_ptr C2, derived_ptr - // root, Eliminate function) const; - // - void deleteCachedShortcuts(); -}; - } // namespace gtsam