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 #if GTSAM_HYBRID_TIMING
108 gttic_(HybridBayesTreePrune);
111 #if GTSAM_HYBRID_TIMING
112 gttoc_(HybridBayesTreePrune);
117 this->
roots_.insert(this->
roots_.end(), bayesTree->roots().begin(),
119 this->
nodes_.insert(bayesTree->nodes().begin(),
bayesTree->nodes().end());
124 const std::optional<size_t>& maxNrLeaves,
125 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.
static const DiscreteBayesTree bayesTree
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 Wed Mar 19 2025 03:01:48