diff --git a/include/ceres/covariance.h b/include/ceres/covariance.h index 5db0afb96..99825c425 100644 --- a/include/ceres/covariance.h +++ b/include/ceres/covariance.h @@ -426,7 +426,7 @@ class CERES_EXPORT Covariance { // the sizes of the individual parameter blocks. The covariance // matrix will be a row-major matrix. bool GetCovarianceMatrix(const std::vector& parameter_blocks, - double* covariance_matrix); + double* covariance_matrix) const; // Return the covariance matrix corresponding to parameter_blocks // in the tangent space if a local parameterization is associated @@ -445,7 +445,7 @@ class CERES_EXPORT Covariance { // blocks. The covariance matrix will be a row-major matrix. bool GetCovarianceMatrixInTangentSpace( const std::vector& parameter_blocks, - double* covariance_matrix); + double* covariance_matrix) const; private: std::unique_ptr impl_; diff --git a/internal/ceres/covariance.cc b/internal/ceres/covariance.cc index ee2959585..825607840 100644 --- a/internal/ceres/covariance.cc +++ b/internal/ceres/covariance.cc @@ -82,7 +82,7 @@ bool Covariance::GetCovarianceBlockInTangentSpace( bool Covariance::GetCovarianceMatrix( const vector& parameter_blocks, - double* covariance_matrix) { + double* covariance_matrix) const { return impl_->GetCovarianceMatrixInTangentOrAmbientSpace(parameter_blocks, true, // ambient covariance_matrix); @@ -90,7 +90,7 @@ bool Covariance::GetCovarianceMatrix( bool Covariance::GetCovarianceMatrixInTangentSpace( const std::vector& parameter_blocks, - double *covariance_matrix) { + double *covariance_matrix) const { return impl_->GetCovarianceMatrixInTangentOrAmbientSpace(parameter_blocks, false, // tangent covariance_matrix);