diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp index 225e6f1ed184b3b51959ab4f125c1dbb9066eaec..18b850f102145bed7b2cf49fc42930ebc8a0822e 100644 --- a/src/problem/problem.cpp +++ b/src/problem/problem.cpp @@ -440,6 +440,7 @@ VectorComposite Problem::getState(const StateStructure& _structure) const state.insert(pair_key_vec); } } + // check for empty blocks and fill them with zeros for (const auto& ckey : frame_structure_) { @@ -483,6 +484,15 @@ VectorComposite Problem::getState (const TimeStamp& _ts, const StateStructure& _ state.insert(pair_key_vec); } } + + // check for empty blocks and fill them with zeros + for (const auto& ckey : frame_structure_) + { + const auto& key = string(1,ckey); + if (state.count(key) == 0) + state.emplace(key, stateZero(key).at(key)); + } + return state; }