26 template<
class BAYESTREE>
28 Cliques& orphans,
const Eliminate&
function) {
31 const KeySet newFactorKeys = newFactors.keys();
33 KeyVector keyVector(newFactorKeys.begin(), newFactorKeys.end());
34 this->removeTop(keyVector, bn, orphans);
38 FactorGraphType factors;
40 factors += newFactors;
44 factors += boost::make_shared<BayesTreeOrphanWrapper<Clique> >(orphan);
49 KeyVector(newFactorKeys.begin(), newFactorKeys.end()));
52 auto bayesTree = factors.eliminateMultifrontal(ordering,
function, index);
55 this->roots_.insert(this->roots_.end(), bayesTree->roots().begin(),
56 bayesTree->roots().end());
57 this->nodes_.insert(bayesTree->nodes().begin(), bayesTree->nodes().end());
61 template<
class BAYESTREE>
63 const Eliminate&
function) {
65 this->update_internal(newFactors, orphans,
function);
void update(const FactorGraphType &newFactors, const Eliminate &function=EliminationTraitsType::DefaultEliminate)
update the Bayes tree with a set of new factors, typically derived from measurements
Definition: ISAM-inst.h:62
boost::shared_ptr< Clique > sharedClique
Shared pointer to a clique.
Definition: BayesTree.h:72
The VariableIndex class computes and stores the block column structure of a factor graph.
Definition: VariableIndex.h:43
Definition: FastList.h:38
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:56
Incremental update functionality (iSAM) for BayesTree.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
static Ordering ColamdConstrainedLast(const FACTOR_GRAPH &graph, const KeyVector &constrainLast, bool forceOrder=false)
Compute a fill-reducing ordering using constrained COLAMD from a factor graph (see details for note o...
Definition: Ordering.h:101
void update_internal(const FactorGraphType &newFactors, Cliques &orphans, const Eliminate &function=EliminationTraitsType::DefaultEliminate)
update_internal provides access to list of orphans for drawing purposes
Definition: ISAM-inst.h:27
Definition: Ordering.h:34