diff --git a/gtsam/hybrid/HybridNonlinearFactor.cpp b/gtsam/hybrid/HybridNonlinearFactor.cpp index 900102e5d..9b0773073 100644 --- a/gtsam/hybrid/HybridNonlinearFactor.cpp +++ b/gtsam/hybrid/HybridNonlinearFactor.cpp @@ -134,10 +134,12 @@ void HybridNonlinearFactor::print(const std::string& s, std::cout << (s.empty() ? "" : s + " "); Base::print("", keyFormatter); std::cout << "\nHybridNonlinearFactor\n"; - auto valueFormatter = [](const std::pair& v) { + auto valueFormatter = [&keyFormatter](const std::pair& v) { auto [factor, val] = v; if (factor) { - return "Nonlinear factor on " + std::to_string(factor->size()) + " keys"; + RedirectCout rd; + factor->print("", keyFormatter); + return rd.str(); } else { return std::string("nullptr"); }