Removing getCovariance returning MatrixXs
In wolf, by default the solver is not computing the whole covariance matrix of the estimation. It has to be called explicitly to the solver defining which blocks are desired to be computed. Then, they are stored in Problem
in std::map<std::pair<StateBlockPtr, StateBlockPtr>, Eigen::MatrixXs> covariances_
;
Then, eventually when asking for a specific covariance block, this information is not stored.
In Problem
, LandmarkBase
and FrameBase
, there are 2 kind of covariance getters:
MatrixXs getXXXCovariance(const XXXPtr& xxx_ptr)
bool getXXXCovariance(const XXXPtr& xxx_ptr, MatrixXs& cov)
The first one, if the covariance block hasn't been computed returns an uninitialized matrix without returning any information about what happened. According to #145 (closed), we agreed on removing this first getters for covariance blocks implemented in the current MR.