gtsam  4.0.0
gtsam
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 
23 #include <gtsam/inference/ClusterTree.h>
24 
25 namespace gtsam {
26 
27  // Forward declarations
28  template<class BAYESNET, class GRAPH> class EliminationTree;
29 
49  template<class BAYESTREE, class GRAPH>
50  class JunctionTree : public EliminatableClusterTree<BAYESTREE, GRAPH> {
51 
52  public:
53 
55  typedef boost::shared_ptr<This> shared_ptr;
57 
58  protected:
59 
62 
64  template<class ETREE>
65  static This FromEliminationTree(const ETREE& eliminationTree) { return This(eliminationTree); }
66 
68  template<class ETREE_BAYESNET, class ETREE_GRAPH>
70 
72 
73  private:
74 
75  // Private default constructor (used in static construction methods)
76  JunctionTree() {}
77 
78  };
79 
80 }
A cluster-tree that eliminates to a Bayes tree.
Definition: BayesTree.h:33
EliminatableClusterTree< BAYESTREE, GRAPH > Base
Our base class.
Definition: JunctionTree.h:56
JunctionTree< BAYESTREE, GRAPH > This
This class.
Definition: JunctionTree.h:54
boost::shared_ptr< This > shared_ptr
Shared pointer to this class.
Definition: JunctionTree.h:55
An elimination tree is a data structure used intermediately during elimination.
Definition: EliminationTree.h:51
static This FromEliminationTree(const ETREE &eliminationTree)
Build the junction tree from an elimination tree.
Definition: JunctionTree.h:65
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Definition: JunctionTree.h:50