Go to the documentation of this file.
50 const KeySet newFactorKeys = newFactors.
keys();
52 for (
auto& k : newFactorKeys) {
53 if (!allDiscrete.
exists(k)) {
54 newKeysDiscreteLast.push_back(k);
58 std::copy(allDiscrete.begin(), allDiscrete.end(),
59 std::back_inserter(newKeysDiscreteLast));
65 index,
KeyVector(newKeysDiscreteLast.begin(), newKeysDiscreteLast.end()),
74 const std::optional<Ordering>&
ordering,
78 const KeySet newFactorKeys = newFactors.
keys();
80 KeyVector keyVector(newFactorKeys.begin(), newFactorKeys.end());
104 elimination_ordering,
function, std::cref(index));
107 bayesTree->prune(*maxNrLeaves);
111 this->
roots_.insert(this->
roots_.end(), bayesTree->roots().begin(),
112 bayesTree->roots().end());
113 this->
nodes_.insert(bayesTree->nodes().begin(), bayesTree->nodes().end());
118 const std::optional<size_t>& maxNrLeaves,
119 const std::optional<Ordering>&
ordering,
static Ordering ColamdConstrainedLast(const FACTOR_GRAPH &graph, const KeyVector &constrainLast, bool forceOrder=false)
FactorGraphType::Eliminate Eliminate
bool exists(const VALUE &e) const
const GaussianFactorGraph factors
static Ordering GetOrdering(HybridGaussianFactorGraph &factors, const HybridGaussianFactorGraph &newFactors)
Helper method to get an ordering given the existing factors and any new factors added.
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
void removeTop(const KeyVector &keys, BayesNetType *bn, Cliques *orphans)
void updateInternal(const HybridGaussianFactorGraph &newFactors, HybridBayesTree::Cliques *orphans, const std::optional< size_t > &maxNrLeaves={}, const std::optional< Ordering > &ordering={}, const HybridBayesTree::Eliminate &function=HybridBayesTree::EliminationTraitsType::DefaultEliminate)
Internal method that performs the ISAM update.
HybridBayesTreeClique ::BayesNetType BayesNetType
Hybrid Bayes Tree, the result of eliminating a HybridJunctionTree.
static enum @1096 ordering
Linearized Hybrid factor graph that uses type erasure.
std::shared_ptr< Clique > sharedClique
Shared pointer to a clique.
Incremental update functionality (iSAM) for BayesTree.
void update(const HybridGaussianFactorGraph &newFactors, const std::optional< size_t > &maxNrLeaves={}, const std::optional< Ordering > &ordering={}, const HybridBayesTree::Eliminate &function=HybridBayesTree::EliminationTraitsType::DefaultEliminate)
Perform update step with new factors.
std::shared_ptr< This > shared_ptr
gtsam
Author(s):
autogenerated on Fri Nov 1 2024 03:32:43