Factors in a non-key frame or null frame
In the context of a factor:
-
Linking means adding
shared_from_thisto the parent's list of children (Feature) and keep its pointer. Also, for the other "constrained" wolf nodes (Landmark,Frame,...). -
Registering means notifying
Problemabout the existence ofthis, to update the solver.
Then, in two cases the factor shouldn't be registered:
- It is not indirectly linked to
Problem: this->feature->capture->frame->trajectory->problem any of these nodes isnullptr. - The frame is not a key-frame, this frame is not estimated (not in the solver).
For solving 1, the related issue #233 (closed) would be enough.
For solving 2, some work has to be done in:
-
FactorBase::setProblem()checking if the frame is key before callinggetProblem()->notifyFactor(shared_from_this(),ADD). -
FrameBase::setKey()/setAux()notifying the addition of the factors of this frame. (Analogously,FrameBase::setNonEstimated()should notify the removal of the factors).
Edited by Joan Vallvé Navarro