diff --git a/cpp/NonlinearConstraint-inl.h b/cpp/NonlinearConstraint-inl.h index c02ba2a0c..0b59f6c19 100644 --- a/cpp/NonlinearConstraint-inl.h +++ b/cpp/NonlinearConstraint-inl.h @@ -26,7 +26,9 @@ NonlinearConstraint::NonlinearConstraint(const LagrangeKey& lagrange_key size_t dim_lagrange, bool isEquality) : NonlinearFactor(noiseModel::Constrained::All(dim_lagrange)), - lagrange_key_(lagrange_key), p_(dim_lagrange), isEquality_(isEquality) {} + lagrange_key_(lagrange_key), p_(dim_lagrange), isEquality_(isEquality) { + this->keys_.push_back(lagrange_key_); +} /* ************************************************************************* */ template @@ -49,6 +51,7 @@ NonlinearConstraint1::NonlinearConstraint1( NonlinearConstraint(lagrange_key, dim_constraint, isEquality), g_(boost::bind(g, _1)), G_(boost::bind(gradG, _1)), key_(key) { + this->keys_.push_back(key); } /* ************************************************************************* */ @@ -63,6 +66,7 @@ NonlinearConstraint1::NonlinearConstraint1( NonlinearConstraint(lagrange_key, dim_constraint, isEquality), g_(g), G_(gradG), key_(key) { + this->keys_.push_back(key); } /* ************************************************************************* */ @@ -143,6 +147,8 @@ NonlinearConstraint2::NonlinearConstraint2( g_(boost::bind(g, _1)), G1_(boost::bind(G1, _1)), G2_(boost::bind(G2, _1)), key1_(key1), key2_(key2) { + this->keys_.push_back(key1); + this->keys_.push_back(key2); } /* ************************************************************************* */ @@ -160,6 +166,8 @@ NonlinearConstraint2::NonlinearConstraint2( g_(g), G1_(G1), G2_(G2), key1_(key1), key2_(key2) { + this->keys_.push_back(key1); + this->keys_.push_back(key2); } /* ************************************************************************* */