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 +