diff --git a/gtsam/hybrid/MixtureFactor.h b/gtsam/hybrid/MixtureFactor.h index 38905b8a2..220f1bdbf 100644 --- a/gtsam/hybrid/MixtureFactor.h +++ b/gtsam/hybrid/MixtureFactor.h @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -160,10 +161,14 @@ class MixtureFactor : public HybridFactor { factor, continuousValues); } - /// Error for HybridValues is not provided for nonlinear hybrid factor. + /** + * @brief Compute error of factor given hybrid values. + * + * @param values The continuous Values and the discrete assignment. + * @return double The error of this factor. + */ double error(const HybridValues& values) const override { - throw std::runtime_error( - "MixtureFactor::error(HybridValues) not implemented."); + return error(values.nonlinear(), values.discrete()); } /**