diff --git a/include/core/feature/feature_base.h b/include/core/feature/feature_base.h index 8964df7929c472347ea2144d41b4df7d4b991fea..1eb9bd33853b8201f971060689344d14c0fd1174 100644 --- a/include/core/feature/feature_base.h +++ b/include/core/feature/feature_base.h @@ -101,10 +101,6 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature static std::shared_ptr<classType> emplace(CaptureBasePtr _cpt_ptr, T&&... all); -// protected: -// -// Eigen::MatrixXd computeSqrtUpper(const Eigen::MatrixXd& _M) const; - private: void setCapture(CaptureBasePtr _cap_ptr){capture_ptr_ = _cap_ptr;} FactorBasePtr addFactor(FactorBasePtr _co_ptr); diff --git a/src/feature/feature_base.cpp b/src/feature/feature_base.cpp index 68ddcba42276979d2c3017f2b32fb1b4a4b8bbcd..df5d1f1e7aa0f214adab2e0f74dc496623e7cf48 100644 --- a/src/feature/feature_base.cpp +++ b/src/feature/feature_base.cpp @@ -134,28 +134,6 @@ void FeatureBase::setProblem(ProblemPtr _problem) fac->setProblem(_problem); } -//Eigen::MatrixXd FeatureBase::computeSqrtUpper(const Eigen::MatrixXd & _info) const -//{ -// // impose symmetry -// Eigen::MatrixXd info = _info.selfadjointView<Eigen::Upper>(); -// -// // Normal Cholesky factorization -// Eigen::LLT<Eigen::MatrixXd> llt_of_info(info); -// Eigen::MatrixXd R = llt_of_info.matrixU(); -// -// // Good factorization -// if (info.isApprox(R.transpose() * R, Constants::EPS)) -// return R; -// -// // Not good factorization: SelfAdjointEigenSolver -// Eigen::SelfAdjointEigenSolver<Eigen::MatrixXd> es(info); -// Eigen::VectorXd eval = es.eigenvalues().real().cwiseMax(Constants::EPS); -// -// R = eval.cwiseSqrt().asDiagonal() * es.eigenvectors().real().transpose(); -// -// return R; -//} - void FeatureBase::link(CaptureBasePtr _cpt_ptr) { assert(!is_removing_ && "linking a removed feature");