diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp index cd2d78caa78427ff2b0e684667b79f3a9e7073d8..d47dbbad36a9328df374b4b4d08d453db3eae6e1 100644 --- a/src/processor/processor_motion.cpp +++ b/src/processor/processor_motion.cpp @@ -212,13 +212,12 @@ void ProcessorMotion::processCapture(CaptureBasePtr _incoming_ptr) // update KF state (adding missing StateBlocks) auto proc_state = getState(ts_from_callback); - if (keyframe_from_callback->getStructure() != proc_state.getStructure()) - for (auto ckey : proc_state.getStructure()) - if (!keyframe_from_callback->isInStructure(std::string(1,ckey))) - keyframe_from_callback->addStateBlock(std::string(1,ckey), - FactoryStateBlock::create(std::string(1,ckey), - proc_state[std::string(1,ckey)], - false)); + for (auto pair_ckey_vec : proc_state) + if (!keyframe_from_callback->isInStructure(pair_ckey_vec.first)) + keyframe_from_callback->addStateBlock(pair_ckey_vec.first, + FactoryStateBlock::create(pair_ckey_vec.first, + pair_ckey_vec.second, + false)); keyframe_from_callback->setState(proc_state); // Find the capture acting as the buffer's origin @@ -314,13 +313,12 @@ void ProcessorMotion::processCapture(CaptureBasePtr _incoming_ptr) // update KF state (adding missing StateBlocks) auto proc_state = getState(ts_from_callback); - if (keyframe_from_callback->getStructure() != proc_state.getStructure()) - for (auto ckey : proc_state.getStructure()) - if (!keyframe_from_callback->isInStructure(std::string(1,ckey))) - keyframe_from_callback->addStateBlock(std::string(1,ckey), - FactoryStateBlock::create(std::string(1,ckey), - proc_state[std::string(1,ckey)], - false)); + for (auto pair_ckey_vec : proc_state) + if (!keyframe_from_callback->isInStructure(pair_ckey_vec.first)) + keyframe_from_callback->addStateBlock(pair_ckey_vec.first, + FactoryStateBlock::create(pair_ckey_vec.first, + pair_ckey_vec.second, + false)); keyframe_from_callback->setState(proc_state); auto & capture_existing = last_ptr_;