diff --git a/gtsam/navigation/PreintegrationBase.cpp b/gtsam/navigation/PreintegrationBase.cpp index bb01971e6..b550af134 100644 --- a/gtsam/navigation/PreintegrationBase.cpp +++ b/gtsam/navigation/PreintegrationBase.cpp @@ -297,7 +297,7 @@ Vector9 PreintegrationBase::computeErrorAndJacobians(const Pose3& pose_i, PoseVelocityBias PreintegrationBase::predict(const Pose3& pose_i, const Vector3& vel_i, const imuBias::ConstantBias& bias_i, const Vector3& n_gravity, const Vector3& omegaCoriolis, - const bool use2ndOrderCoriolis) { + const bool use2ndOrderCoriolis) const { // NOTE(frank): parameters are supposed to be constant, below is only provided for compatibility boost::shared_ptr q = boost::make_shared(p()); q->n_gravity = n_gravity; diff --git a/gtsam/navigation/PreintegrationBase.h b/gtsam/navigation/PreintegrationBase.h index 07225dd9a..26b8aca2a 100644 --- a/gtsam/navigation/PreintegrationBase.h +++ b/gtsam/navigation/PreintegrationBase.h @@ -109,8 +109,8 @@ protected: */ NavState deltaXij_; - /// Parameters - boost::shared_ptr p_; + /// Parameters. Declared mutable only for deprecated predict method. + mutable boost::shared_ptr p_; /// Acceleration and gyro bias used for preintegration imuBias::ConstantBias biasHat_; @@ -239,7 +239,7 @@ public: /// @deprecated predict PoseVelocityBias predict(const Pose3& pose_i, const Vector3& vel_i, const imuBias::ConstantBias& bias_i, const Vector3& n_gravity, - const Vector3& omegaCoriolis, const bool use2ndOrderCoriolis = false); + const Vector3& omegaCoriolis, const bool use2ndOrderCoriolis = false) const; private: /** Serialization function */