gtsam  3.2.1
gtsam
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JunctionTree.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
21 #pragma once
22 
24 
25 namespace gtsam {
26 
27  // Forward declarations
28  template<class BAYESNET, class GRAPH> class EliminationTree;
29 
51  template<class BAYESTREE, class GRAPH>
52  class JunctionTree : public ClusterTree<BAYESTREE, GRAPH> {
53 
54  public:
55 
57  typedef boost::shared_ptr<This> shared_ptr;
59 
60  protected:
61 
64 
66  template<class ETREE>
67  static This FromEliminationTree(const ETREE& eliminationTree) { return This(eliminationTree); }
68 
70  template<class ETREE_BAYESNET, class ETREE_GRAPH>
72 
74 
75  private:
76 
77  // Private default constructor (used in static construction methods)
78  JunctionTree() {}
79 
80  };
81 
82 }
boost::shared_ptr< This > shared_ptr
Shared pointer to this class.
Definition: JunctionTree.h:57
Definition: JunctionTree.h:52
static This FromEliminationTree(const ETREE &eliminationTree)
Build the junction tree from an elimination tree.
Definition: JunctionTree.h:67
ClusterTree< BAYESTREE, GRAPH > Base
Our base class.
Definition: JunctionTree.h:58
JunctionTree< BAYESTREE, GRAPH > This
This class.
Definition: JunctionTree.h:56
An elimination tree is a data structure used intermediately during elimination.
Definition: EliminationTree.h:51
Collects factorgraph fragments defined on variable clusters, arranged in a tree.
A cluster-tree is associated with a factor graph and is defined as in Koller-Friedman: each node k re...
Definition: BayesTree.h:33