Minor updates: cachedShortcut is now protected. DeleteCachedShortcuts() are now called on the resulting orphans in the removeTop() instead of the whole tree.
parent
6f1ea87a00
commit
e42dc5cdc9
|
|
@ -575,9 +575,6 @@ namespace gtsam {
|
|||
void BayesTree<CONDITIONAL,CLIQUE>::removeTop(const CONTAINER& keys,
|
||||
BayesNet<CONDITIONAL>& bn, typename BayesTree<CONDITIONAL,CLIQUE>::Cliques& orphans) {
|
||||
|
||||
//TODO: Improve this
|
||||
deleteCachedShorcuts(this->root_);
|
||||
|
||||
// process each key of the new factor
|
||||
BOOST_FOREACH(const Index& key, keys) {
|
||||
|
||||
|
|
@ -590,6 +587,11 @@ namespace gtsam {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Delete cachedShorcuts for each orphan subtree
|
||||
//TODO: Consider Improving
|
||||
BOOST_FOREACH(sharedClique& orphan, orphans)
|
||||
deleteCachedShorcuts(orphan);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
|||
|
|
@ -75,14 +75,14 @@ namespace gtsam {
|
|||
|
||||
/// @}
|
||||
|
||||
/// This stores the Cached Shortcut value
|
||||
mutable boost::optional<BayesNet<ConditionalType> > cachedShortcut_;
|
||||
|
||||
public:
|
||||
sharedConditional conditional_;
|
||||
derived_weak_ptr parent_;
|
||||
std::list<derived_ptr> children_;
|
||||
|
||||
/// This stores the Cached Shortcut value
|
||||
mutable boost::optional<BayesNet<ConditionalType> > cachedShortcut_;
|
||||
|
||||
/// @name Testable
|
||||
/// @{
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ namespace gtsam {
|
|||
/** The arrow operator accesses the conditional */
|
||||
const ConditionalType* operator->() const { return conditional_.get(); }
|
||||
|
||||
///TODO: comment
|
||||
/** return the const reference of children */
|
||||
const std::list<derived_ptr>& children() const { return children_; }
|
||||
|
||||
/// @}
|
||||
|
|
@ -124,7 +124,7 @@ namespace gtsam {
|
|||
/** The arrow operator accesses the conditional */
|
||||
ConditionalType* operator->() { return conditional_.get(); }
|
||||
|
||||
/** return the const reference of children */
|
||||
/** return the reference of children non-const version*/
|
||||
std::list<derived_ptr>& children() { return children_; }
|
||||
|
||||
/** Construct shared_ptr from a conditional, leaving parent and child pointers uninitialized */
|
||||
|
|
|
|||
Loading…
Reference in New Issue