gtsam/linear/GaussianJunctionTree.h

42 lines
1.0 KiB
C
Raw Normal View History

/*
* GaussianJunctionTree.h
* Created on: Jul 12, 2010
* @author Kai Ni
* @author Frank Dellaert
* @brief: the Gaussian junction tree
*/
#pragma once
#include <gtsam/inference/JunctionTree.h>
#include <gtsam/linear/GaussianConditional.h>
#include <gtsam/linear/GaussianFactorGraph.h>
namespace gtsam {
/* ************************************************************************* */
/**
* GaussianJunctionTree that does the optimization
*/
class GaussianJunctionTree: public JunctionTree<GaussianFactorGraph> {
public:
typedef JunctionTree<GaussianFactorGraph> Base;
typedef Base::sharedClique sharedClique;
protected:
// back-substitute in topological sort order (parents first)
2010-10-09 06:04:47 +08:00
void btreeBackSubstitue(const boost::shared_ptr<const BayesTree::Clique>& current, VectorConfig& config) const;
public :
GaussianJunctionTree() : Base() {}
// constructor
2010-10-09 06:04:47 +08:00
GaussianJunctionTree(const GaussianFactorGraph& fg) : Base(fg) {}
// optimize the linear graph
2010-10-09 06:04:47 +08:00
VectorConfig optimize() const;
}; // GaussianJunctionTree
} // namespace gtsam