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 | |
Covariances (Slam *slam) | |
virtual Covariances | clone () const |
virtual std::list < Eigen::MatrixXd > | marginal (const node_lists_t &node_lists) const |
virtual Eigen::MatrixXd | marginal (const std::list< Node * > &nodes) const |
virtual std::list < Eigen::MatrixXd > | access (const node_pair_list_t &node_pair_list) const |
Definition at line 42 of file Covariances.h.
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.
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.
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.
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. |
Definition at line 101 of file Covariances.cpp.