Print full factors in HybridNonlinearFactor

release/4.3a0
Varun Agrawal 2025-03-12 17:54:39 -04:00
parent fbe893eb2c
commit 41b42ff6ef
1 changed files with 4 additions and 2 deletions

View File

@ -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<sharedFactor, double>& v) {
auto valueFormatter = [&keyFormatter](const std::pair<sharedFactor, double>& 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");
}