#include <Covariances.h>
| Public Types | |
| typedef std::list< std::list < Node * > > | node_lists_t | 
| typedef std::list< std::pair < Node *, Node * > > | node_pair_list_t | 
| Public Member Functions | |
| virtual std::list < Eigen::MatrixXd > | access (const node_pair_list_t &node_pair_list) const | 
| virtual Covariances | clone () const | 
| Covariances (Slam *slam) | |
| virtual std::list < Eigen::MatrixXd > | marginal (const node_lists_t &node_lists) const | 
| virtual Eigen::MatrixXd | marginal (const std::list< Node * > &nodes) const | 
| virtual | ~Covariances () | 
| Private Member Functions | |
| Covariances (Slam &slam) | |
| int | get_dim (Node *node) const | 
| int | get_start (Node *node) const | 
| Private Attributes | |
| CovarianceCache | _cache | 
| std::map< Node *, std::pair < int, int > > | _index | 
| SparseSystem | _R | 
| Slam * | _slam | 
Definition at line 42 of file Covariances.h.
| typedef std::list<std::list<Node*> > isam::Covariances::node_lists_t | 
Definition at line 80 of file Covariances.h.
| typedef std::list<std::pair<Node*, Node*> > isam::Covariances::node_pair_list_t | 
Definition at line 81 of file Covariances.h.
| isam::Covariances::Covariances | ( | Slam & | slam | ) |  [private] | 
Definition at line 42 of file Covariances.cpp.
| isam::Covariances::Covariances | ( | Slam * | slam | ) |  [inline] | 
Create an instance based on a Slam object, that always refers to the latest state of slam.
Definition at line 66 of file Covariances.h.
| virtual isam::Covariances::~Covariances | ( | ) |  [inline, virtual] | 
Definition at line 68 of file Covariances.h.
| list< MatrixXd > isam::Covariances::access | ( | const node_pair_list_t & | node_pair_list | ) | const  [virtual] | 
Calculates individual entries of the covariance matrix (as opposed to marginal_covariance, which calculates blocks containing select variables). Note that a single call with a long list of entries is significantly more efficient than repeatedly calling this function, as intermediate results are being reused.
| entry_list | List of pairs of nodes, indexing entries in the covariance matrix in (column, row) format. | 
Definition at line 107 of file Covariances.cpp.
| virtual Covariances isam::Covariances::clone | ( | ) | const  [inline, virtual] | 
Create a stand-alone copy, useful for calculating covariances in a separate thread. Copies all necessary data structures to work independently of the Slam object.
Definition at line 76 of file Covariances.h.
| int isam::Covariances::get_dim | ( | Node * | node | ) | const  [private] | 
Definition at line 62 of file Covariances.cpp.
| int isam::Covariances::get_start | ( | Node * | node | ) | const  [private] | 
Definition at line 54 of file Covariances.cpp.
| list< MatrixXd > isam::Covariances::marginal | ( | const node_lists_t & | node_lists | ) | const  [virtual] | 
Calculates marginal covariance over a list of lists. Significantly more efficient than calling marginal_covariance multiple times with separate lists, as intermediate results are being reused.
| node_lists | List of list of nodes. | 
Definition at line 70 of file Covariances.cpp.
| virtual Eigen::MatrixXd isam::Covariances::marginal | ( | const std::list< Node * > & | nodes | ) | const  [virtual] | 
Calculates marginal covariance over a list of nodes.
| nodes | List of nodes. return Marginal covariance matrix. | 
| CovarianceCache isam::Covariances::_cache  [mutable, private] | 
Definition at line 51 of file Covariances.h.
| std::map<Node*, std::pair<int, int> > isam::Covariances::_index  [private] | 
Definition at line 49 of file Covariances.h.
| SparseSystem isam::Covariances::_R  [private] | 
Definition at line 48 of file Covariances.h.
| Slam* isam::Covariances::_slam  [private] | 
Definition at line 45 of file Covariances.h.