Added wrapping for NonlinearFactor to allow for access to keys from an individual key
parent
b2debfbc3a
commit
cbc5ee6c18
22
gtsam.h
22
gtsam.h
|
@ -662,6 +662,15 @@ class NonlinearFactorGraph {
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class NonlinearFactor {
|
||||||
|
// NonlinearFactor(); // FIXME: don't use this - creates an abstract class
|
||||||
|
void print(string s) const;
|
||||||
|
void equals(const gtsam::NonlinearFactor& other, double tol) const;
|
||||||
|
gtsam::KeyVector keys() const;
|
||||||
|
size_t size() const;
|
||||||
|
size_t dim() const;
|
||||||
|
};
|
||||||
|
|
||||||
class Values {
|
class Values {
|
||||||
Values();
|
Values();
|
||||||
size_t size() const;
|
size_t size() const;
|
||||||
|
@ -730,6 +739,7 @@ class Graph {
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
void remove(size_t i);
|
void remove(size_t i);
|
||||||
size_t nrFactors() const;
|
size_t nrFactors() const;
|
||||||
|
gtsam::NonlinearFactor* at(size_t i) const;
|
||||||
|
|
||||||
// NonlinearFactorGraph
|
// NonlinearFactorGraph
|
||||||
double error(const pose2SLAM::Values& values) const;
|
double error(const pose2SLAM::Values& values) const;
|
||||||
|
@ -780,6 +790,7 @@ class Graph {
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
void remove(size_t i);
|
void remove(size_t i);
|
||||||
size_t nrFactors() const;
|
size_t nrFactors() const;
|
||||||
|
gtsam::NonlinearFactor* at(size_t i) const;
|
||||||
|
|
||||||
// NonlinearFactorGraph
|
// NonlinearFactorGraph
|
||||||
double error(const pose3SLAM::Values& values) const;
|
double error(const pose3SLAM::Values& values) const;
|
||||||
|
@ -827,6 +838,7 @@ class Graph {
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
void remove(size_t i);
|
void remove(size_t i);
|
||||||
size_t nrFactors() const;
|
size_t nrFactors() const;
|
||||||
|
gtsam::NonlinearFactor* at(size_t i) const;
|
||||||
|
|
||||||
// NonlinearFactorGraph
|
// NonlinearFactorGraph
|
||||||
double error(const planarSLAM::Values& values) const;
|
double error(const planarSLAM::Values& values) const;
|
||||||
|
@ -860,6 +872,9 @@ class Odometry {
|
||||||
// Simulated2D
|
// Simulated2D
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
|
|
||||||
|
// FIXME: Simulated* domains are not actually installed, so this should be removed
|
||||||
|
// from the toolbox
|
||||||
|
|
||||||
#include <tests/simulated2D.h>
|
#include <tests/simulated2D.h>
|
||||||
namespace simulated2D {
|
namespace simulated2D {
|
||||||
|
|
||||||
|
@ -935,7 +950,14 @@ class Values {
|
||||||
class Graph {
|
class Graph {
|
||||||
Graph();
|
Graph();
|
||||||
|
|
||||||
|
// FactorGraph
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
|
bool equals(const visualSLAM::Graph& fg, double tol) const;
|
||||||
|
size_t size() const;
|
||||||
|
bool empty() const;
|
||||||
|
void remove(size_t i);
|
||||||
|
size_t nrFactors() const;
|
||||||
|
gtsam::NonlinearFactor* at(size_t i) const;
|
||||||
|
|
||||||
double error(const visualSLAM::Values& values) const;
|
double error(const visualSLAM::Values& values) const;
|
||||||
gtsam::Ordering* orderingCOLAMD(const visualSLAM::Values& values) const;
|
gtsam::Ordering* orderingCOLAMD(const visualSLAM::Values& values) const;
|
||||||
|
|
|
@ -157,8 +157,10 @@ template<class CONDITIONAL, class CLIQUE> class BayesTree;
|
||||||
operator const std::vector<sharedFactor>&() const { return factors_; }
|
operator const std::vector<sharedFactor>&() const { return factors_; }
|
||||||
|
|
||||||
/** Get a specific factor by index */
|
/** Get a specific factor by index */
|
||||||
const sharedFactor operator[](size_t i) const { assert(i<factors_.size()); return factors_[i]; }
|
const sharedFactor at(size_t i) const { assert(i<factors_.size()); return factors_[i]; }
|
||||||
sharedFactor& operator[](size_t i) { assert(i<factors_.size()); return factors_[i]; }
|
sharedFactor& at(size_t i) { assert(i<factors_.size()); return factors_[i]; }
|
||||||
|
const sharedFactor operator[](size_t i) const { return at(i); }
|
||||||
|
sharedFactor& operator[](size_t i) { return at(i); }
|
||||||
|
|
||||||
/** STL begin, so we can use BOOST_FOREACH */
|
/** STL begin, so we can use BOOST_FOREACH */
|
||||||
const_iterator begin() const { return factors_.begin();}
|
const_iterator begin() const { return factors_.begin();}
|
||||||
|
|
Loading…
Reference in New Issue