diff --git a/gtsam/hybrid/GaussianMixture.cpp b/gtsam/hybrid/GaussianMixture.cpp index bc674966c..66971b69f 100644 --- a/gtsam/hybrid/GaussianMixture.cpp +++ b/gtsam/hybrid/GaussianMixture.cpp @@ -50,7 +50,7 @@ GaussianMixture GaussianMixture::FromConditionalList( } /* *******************************************************************************/ -GaussianMixture::Sum GaussianMixture::addTo( +GaussianMixture::Sum GaussianMixture::add( const GaussianMixture::Sum &sum) const { using Y = GaussianFactorGraph; auto add = [](const Y &graph1, const Y &graph2) { @@ -58,20 +58,21 @@ GaussianMixture::Sum GaussianMixture::addTo( result.push_back(graph2); return result; }; - const Sum wrapped = wrappedConditionals(); + const Sum wrapped = asGraph(); return sum.empty() ? wrapped : sum.apply(wrapped, add); } /* *******************************************************************************/ -GaussianMixture::Sum GaussianMixture::wrappedConditionals() const { - auto wrap = [](const GaussianFactor::shared_ptr &factor) { +GaussianMixture::Sum GaussianMixture::asGraph() const { + auto lambda = [](const GaussianFactor::shared_ptr &factor) { GaussianFactorGraph result; result.push_back(factor); return result; }; - return {conditionals_, wrap}; + return {conditionals_, lambda}; } +/* TODO(fan): this (for Testable) is not implemented! */ bool GaussianMixture::equals(const HybridFactor &lf, double tol) const { return false; } diff --git a/gtsam/hybrid/GaussianMixture.h b/gtsam/hybrid/GaussianMixture.h index 4412e741c..4379ea1ca 100644 --- a/gtsam/hybrid/GaussianMixture.h +++ b/gtsam/hybrid/GaussianMixture.h @@ -13,6 +13,7 @@ * @file GaussianMixture.h * @brief A hybrid conditional in the Conditional Linear Gaussian scheme * @author Fan Jiang + * @author Varun Agrawal * @date Mar 12, 2022 */ @@ -55,10 +56,10 @@ class GaussianMixture : public HybridFactor, const Conditionals &conditionals(); /* *******************************************************************************/ - Sum addTo(const Sum &sum) const; + Sum add(const Sum &sum) const; /* *******************************************************************************/ - Sum wrappedConditionals() const; + Sum asGraph() const; static This FromConditionalList( const KeyVector &continuousFrontals, const KeyVector &continuousParents, @@ -71,4 +72,4 @@ class GaussianMixture : public HybridFactor, const std::string &s = "GaussianMixture\n", const KeyFormatter &formatter = DefaultKeyFormatter) const override; }; -} // namespace gtsam \ No newline at end of file +} // namespace gtsam diff --git a/gtsam/hybrid/GaussianMixtureFactor.cpp b/gtsam/hybrid/GaussianMixtureFactor.cpp index 3963e675e..c85383322 100644 --- a/gtsam/hybrid/GaussianMixtureFactor.cpp +++ b/gtsam/hybrid/GaussianMixtureFactor.cpp @@ -62,7 +62,7 @@ const GaussianMixtureFactor::Factors &GaussianMixtureFactor::factors() { } /* *******************************************************************************/ -GaussianMixtureFactor::Sum GaussianMixtureFactor::addTo( +GaussianMixtureFactor::Sum GaussianMixtureFactor::add( const GaussianMixtureFactor::Sum &sum) const { using Y = GaussianFactorGraph; auto add = [](const Y &graph1, const Y &graph2) { diff --git a/gtsam/hybrid/GaussianMixtureFactor.h b/gtsam/hybrid/GaussianMixtureFactor.h index 57a0cca03..1a3c582ae 100644 --- a/gtsam/hybrid/GaussianMixtureFactor.h +++ b/gtsam/hybrid/GaussianMixtureFactor.h @@ -56,7 +56,7 @@ class GaussianMixtureFactor : public HybridFactor { const std::vector &factors); /* *******************************************************************************/ - Sum addTo(const Sum &sum) const; + Sum add(const Sum &sum) const; /* *******************************************************************************/ Sum wrappedFactors() const; diff --git a/gtsam/hybrid/HybridFactor.cpp b/gtsam/hybrid/HybridFactor.cpp index a5ce8bd4e..a0c213a17 100644 --- a/gtsam/hybrid/HybridFactor.cpp +++ b/gtsam/hybrid/HybridFactor.cpp @@ -76,4 +76,4 @@ void HybridFactor::print( HybridFactor::~HybridFactor() = default; -} // namespace gtsam \ No newline at end of file +} // namespace gtsam diff --git a/gtsam/hybrid/HybridFactorGraph.cpp b/gtsam/hybrid/HybridFactorGraph.cpp index ee6a5dd82..5ec562dc0 100644 --- a/gtsam/hybrid/HybridFactorGraph.cpp +++ b/gtsam/hybrid/HybridFactorGraph.cpp @@ -286,12 +286,12 @@ EliminateHybrid(const HybridFactorGraph &factors, const Ordering &frontalKeys) { if (f->isHybrid_) { auto cgmf = boost::dynamic_pointer_cast(f); if (cgmf) { - sum = cgmf->addTo(sum); + sum = cgmf->add(sum); } auto gm = boost::dynamic_pointer_cast(f); if (gm) { - sum = gm->asMixture()->addTo(sum); + sum = gm->asMixture()->add(sum); } } else if (f->isContinuous_) { diff --git a/gtsam/hybrid/HybridGaussianFactor.h b/gtsam/hybrid/HybridGaussianFactor.h index 86c87a0ec..4a7939cd4 100644 --- a/gtsam/hybrid/HybridGaussianFactor.h +++ b/gtsam/hybrid/HybridGaussianFactor.h @@ -24,7 +24,7 @@ namespace gtsam { /** - * A HybridGaussianFactor is a wrapper for GaussianFactor so that we do not have + * A HybridGaussianFactor is a layer over GaussianFactor so that we do not have * a diamond inheritance. */ class HybridGaussianFactor : public HybridFactor { diff --git a/gtsam/hybrid/tests/Switching.h b/gtsam/hybrid/tests/Switching.h index f29b8d9d5..74d682372 100644 --- a/gtsam/hybrid/tests/Switching.h +++ b/gtsam/hybrid/tests/Switching.h @@ -1,3 +1,21 @@ +/* ---------------------------------------------------------------------------- + + * 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 Switching.h + * @date Mar 11, 2022 + * @author Varun Agrawal + * @author Fan Jiang + */ + #include #include #include @@ -65,4 +83,4 @@ inline std::pair> makeBinaryOrdering( return {new_order, levels}; } -} // namespace gtsam \ No newline at end of file +} // namespace gtsam diff --git a/gtsam/hybrid/tests/testHybridConditional.cpp b/gtsam/hybrid/tests/testHybridFactorGraph.cpp similarity index 99% rename from gtsam/hybrid/tests/testHybridConditional.cpp rename to gtsam/hybrid/tests/testHybridFactorGraph.cpp index 3d96ebd6a..d8ff617b0 100644 --- a/gtsam/hybrid/tests/testHybridConditional.cpp +++ b/gtsam/hybrid/tests/testHybridFactorGraph.cpp @@ -10,7 +10,7 @@ * -------------------------------------------------------------------------- */ /* - * @file testHybridConditional.cpp + * @file testHybridFactorGraph.cpp * @date Mar 11, 2022 * @author Fan Jiang */