diff --git a/gtsam/discrete/DiscreteFactorGraph.h b/gtsam/discrete/DiscreteFactorGraph.h index 38091829f..6856493f7 100644 --- a/gtsam/discrete/DiscreteFactorGraph.h +++ b/gtsam/discrete/DiscreteFactorGraph.h @@ -101,29 +101,12 @@ public: /// @} - // Add single key decision-tree factor. - template - void add(const DiscreteKey& j, SOURCE table) { - DiscreteKeys keys; - keys.push_back(j); - emplace_shared(keys, table); + /** Add a decision-tree factor */ + template + void add(Args&&... args) { + emplace_shared(std::forward(args)...); } - - // Add binary key decision-tree factor. - template - void add(const DiscreteKey& j1, const DiscreteKey& j2, SOURCE table) { - DiscreteKeys keys; - keys.push_back(j1); - keys.push_back(j2); - emplace_shared(keys, table); - } - - // Add shared discreteFactor immediately from arguments. - template - void add(const DiscreteKeys& keys, SOURCE table) { - emplace_shared(keys, table); - } - + /** Return the set of variables involved in the factors (set union) */ KeySet keys() const;