Enable/disable processors to call Problem::applyPriorOptions
In the current implementation of "setPrior" functionality see this comment, all prior information is provided by the user except for the TimeStamp
that is taken from the first capture of all processors.
This is implemented in ProcessorBase::captureCallback():
if (getProblem() && !getProblem()->isPriorSet())
getProblem()->applyPriorOptions(_capture_ptr->getTimeStamp());
However, in some cases, a user may want to disable one or some processors to apply the setPrior options set by the user. For example, the IMU sensor shouldn't run alone during too much time.
This implies changes in 2 places:
-
ProcessorBase
adding aset_prior_active
parameter and modifyingcaptureCallback()
. - Modify the initialization of
ProcessorMotion
: It should store (not necessarily integrate) all captures received before first KF is received (in case ofset_prior_active=false
).