Merge pull request #762 from borglab/feature/wrapper-interface-updates

release/4.3a0
Varun Agrawal 2021-05-05 11:12:58 -04:00 committed by GitHub
commit ab92779b25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 26 deletions

View File

@ -10,11 +10,11 @@
namespace gtsam { namespace gtsam {
// Actually a FastList<Key>
#include <gtsam/inference/Key.h> #include <gtsam/inference/Key.h>
const KeyFormatter DefaultKeyFormatter; const KeyFormatter DefaultKeyFormatter;
// Actually a FastList<Key>
class KeyList { class KeyList {
KeyList(); KeyList();
KeyList(const gtsam::KeyList& other); KeyList(const gtsam::KeyList& other);
@ -1284,31 +1284,26 @@ class SymbolicBayesTree {
gtsam::SymbolicBayesNet* jointBayesNet(size_t key1, size_t key2) const; gtsam::SymbolicBayesNet* jointBayesNet(size_t key1, size_t key2) const;
}; };
// class SymbolicBayesTreeClique { class SymbolicBayesTreeClique {
// SymbolicBayesTreeClique(); SymbolicBayesTreeClique();
// SymbolicBayesTreeClique(CONDITIONAL* conditional); // SymbolicBayesTreeClique(gtsam::sharedConditional* conditional);
// SymbolicBayesTreeClique(const pair<typename ConditionalType::shared_ptr, typename ConditionalType::FactorType::shared_ptr>& result) : Base(result) {}
// bool equals(const gtsam::SymbolicBayesTreeClique& other, double tol) const;
// bool equals(const This& other, double tol) const; void print(string s = "",
// void print(string s = "", const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter) const;
// const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter) const; size_t numCachedSeparatorMarginals() const;
// void printTree() const; // Default indent of "" // gtsam::sharedConditional* conditional() const;
// void printTree(string indent) const; bool isRoot() const;
// size_t numCachedSeparatorMarginals() const; size_t treeSize() const;
// gtsam::SymbolicBayesTreeClique* parent() const;
// CONDITIONAL* conditional() const;
// bool isRoot() const;
// size_t treeSize() const;
// const std::list<derived_ptr>& children() const { return children_; }
// derived_ptr parent() const { return parent_.lock(); }
//
// // TODO: need wrapped versions graphs, BayesNet // // TODO: need wrapped versions graphs, BayesNet
// BayesNet<ConditionalType> shortcut(derived_ptr root, Eliminate function) const; // BayesNet<ConditionalType> shortcut(derived_ptr root, Eliminate function) const;
// FactorGraph<FactorType> marginal(derived_ptr root, Eliminate function) const; // FactorGraph<FactorType> marginal(derived_ptr root, Eliminate function) const;
// FactorGraph<FactorType> joint(derived_ptr C2, derived_ptr root, Eliminate function) const; // FactorGraph<FactorType> joint(derived_ptr C2, derived_ptr root, Eliminate function) const;
// //
// void deleteCachedShortcuts(); void deleteCachedShortcuts();
// }; };
#include <gtsam/inference/VariableIndex.h> #include <gtsam/inference/VariableIndex.h>
class VariableIndex { class VariableIndex {
@ -1554,7 +1549,7 @@ class Sampler {
#include <gtsam/linear/VectorValues.h> #include <gtsam/linear/VectorValues.h>
class VectorValues { class VectorValues {
//Constructors //Constructors
VectorValues(); VectorValues();
VectorValues(const gtsam::VectorValues& other); VectorValues(const gtsam::VectorValues& other);
@ -2160,7 +2155,7 @@ virtual class NonlinearFactor {
bool active(const gtsam::Values& c) const; bool active(const gtsam::Values& c) const;
gtsam::GaussianFactor* linearize(const gtsam::Values& c) const; gtsam::GaussianFactor* linearize(const gtsam::Values& c) const;
gtsam::NonlinearFactor* clone() const; gtsam::NonlinearFactor* clone() const;
// gtsam::NonlinearFactor* rekey(const gtsam::KeyVector& newKeys) const; //TODO: Conversion from KeyVector to std::vector does not happen gtsam::NonlinearFactor* rekey(const gtsam::KeyVector& newKeys) const;
}; };
#include <gtsam/nonlinear/NonlinearFactor.h> #include <gtsam/nonlinear/NonlinearFactor.h>
@ -2778,11 +2773,17 @@ virtual class GeneralSFMFactor2 : gtsam::NoiseModelFactor {
}; };
#include <gtsam/slam/SmartProjectionFactor.h> #include <gtsam/slam/SmartProjectionFactor.h>
/// Linearization mode: what factor to linearize to
enum LinearizationMode { HESSIAN, IMPLICIT_SCHUR, JACOBIAN_Q, JACOBIAN_SVD };
/// How to manage degeneracy
enum DegeneracyMode { IGNORE_DEGENERACY, ZERO_ON_DEGENERACY, HANDLE_INFINITY };
class SmartProjectionParams { class SmartProjectionParams {
SmartProjectionParams(); SmartProjectionParams();
// TODO(frank): make these work: void setLinearizationMode(gtsam::LinearizationMode linMode);
// void setLinearizationMode(LinearizationMode linMode); void setDegeneracyMode(gtsam::DegeneracyMode degMode);
// void setDegeneracyMode(DegeneracyMode degMode);
void setRankTolerance(double rankTol); void setRankTolerance(double rankTol);
void setEnableEPI(bool enableEPI); void setEnableEPI(bool enableEPI);
void setLandmarkDistanceThreshold(bool landmarkDistanceThreshold); void setLandmarkDistanceThreshold(bool landmarkDistanceThreshold);

View File

@ -13,6 +13,7 @@
#include <pybind11/eigen.h> #include <pybind11/eigen.h>
#include <pybind11/stl_bind.h> #include <pybind11/stl_bind.h>
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include <pybind11/operators.h>
#include <pybind11/functional.h> #include <pybind11/functional.h>
#include <pybind11/iostream.h> #include <pybind11/iostream.h>
#include "gtsam/config.h" #include "gtsam/config.h"