Problem::getState/getTimeStamp considering not initialized processors
The implementation of Problem::getState/getTimeStamp()
first implement the case processor_is_motion_list.empty()
(taking last KF state or zeroState) and otherwise, fill the state/timeStamp iterating over the processors. But they could be not initialized yet so returning empty state or 0 timestamp (see related issue #333).
The implementation should be in the opposite order: first iterate over processors and afterwards deal with incomplete or missing state/timestamp.
Also, in case of no KF and a prior has been provided by the user, it is better if getState()
returns this state than zero.
Edited by Joan Vallvé Navarro