From 22aaf47e3d6f9539b91c7e8d60eb1259c9bc70db Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Tue, 6 Aug 2013 18:16:25 +0000 Subject: [PATCH] Turns out GaussianConditional-inl.h was needed after all --- gtsam/linear/GaussianConditional-inl.h | 48 ++++++++++++++++++++++++++ gtsam/linear/GaussianConditional.h | 2 ++ 2 files changed, 50 insertions(+) create mode 100644 gtsam/linear/GaussianConditional-inl.h diff --git a/gtsam/linear/GaussianConditional-inl.h b/gtsam/linear/GaussianConditional-inl.h new file mode 100644 index 000000000..f9a925d23 --- /dev/null +++ b/gtsam/linear/GaussianConditional-inl.h @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + + * 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 GaussianConditional-inl.h + * @brief Conditional Gaussian Base class + * @author Christian Potthast + */ + +// \callgraph + +#pragma once + +#include +#include + +namespace gtsam { + + /* ************************************************************************* */ + template + GaussianConditional::GaussianConditional(Index key, const Vector& d, + const Matrix& R, const PARENTS& parents, const SharedDiagonal& sigmas, const typename PARENTS::value_type*) : + BaseFactor(boost::join( + boost::assign::cref_list_of<1,typename PARENTS::value_type>(std::make_pair(key, R)), + parents), d, sigmas), + BaseConditional(1) {} + + /* ************************************************************************* */ + template + GaussianConditional::GaussianConditional(const TERMS& terms, + size_t nrFrontals, const Vector& d, const SharedDiagonal& sigmas) : + BaseFactor(terms, d, sigmas), BaseConditional(nrFrontals) {} + + /* ************************************************************************* */ + template + GaussianConditional::GaussianConditional( + const KEYS& keys, size_t nrFrontals, const VerticalBlockMatrix& augmentedMatrix, const SharedDiagonal& sigmas) : + BaseFactor(keys, augmentedMatrix, sigmas), BaseConditional(nrFrontals) {} + +} // gtsam diff --git a/gtsam/linear/GaussianConditional.h b/gtsam/linear/GaussianConditional.h index 7a99fc413..a6532f291 100644 --- a/gtsam/linear/GaussianConditional.h +++ b/gtsam/linear/GaussianConditional.h @@ -152,3 +152,5 @@ namespace gtsam { } // gtsam +#include +