/* ---------------------------------------------------------------------------- * GTSAM Copyright 2010, Georgia Tech Research Corporation, * Atlanta, Georgia 30332-0415 * All Rights Reserved * Authors: Frank Dellaert, et al. (see THANKS for the full author list) * See LICENSE for the license information * -------------------------------------------------------------------------- */ /** * @file GenericMultifrontalSolver-inl.h * @brief * @author Richard Roberts * @created Oct 21, 2010 */ #pragma once #include #include #include #include #include #include namespace gtsam { /* ************************************************************************* */ template GenericMultifrontalSolver::GenericMultifrontalSolver(const FactorGraph& factorGraph) : junctionTree_(factorGraph) {} /* ************************************************************************* */ template typename JUNCTIONTREE::BayesTree::shared_ptr GenericMultifrontalSolver::eliminate() const { typename JUNCTIONTREE::BayesTree::shared_ptr bayesTree(new typename JUNCTIONTREE::BayesTree); bayesTree->insert(junctionTree_.eliminate()); return bayesTree; } /* ************************************************************************* */ template typename FACTOR::shared_ptr GenericMultifrontalSolver::marginal(Index j) const { return eliminate()->marginal(j); } }