GaussianHybridFactorGraph inherits from HybridFactorGraph

release/4.3a0
Varun Agrawal 2022-05-29 14:51:30 -04:00
parent 3274cb12a4
commit 6c36b2c355
2 changed files with 12 additions and 5 deletions

View File

@ -19,6 +19,7 @@
#pragma once #pragma once
#include <gtsam/hybrid/HybridFactor.h> #include <gtsam/hybrid/HybridFactor.h>
#include <gtsam/hybrid/HybridFactorGraph.h>
#include <gtsam/inference/EliminateableFactorGraph.h> #include <gtsam/inference/EliminateableFactorGraph.h>
#include <gtsam/inference/FactorGraph.h> #include <gtsam/inference/FactorGraph.h>
#include <gtsam/inference/Ordering.h> #include <gtsam/inference/Ordering.h>
@ -71,10 +72,10 @@ struct EliminationTraits<GaussianHybridFactorGraph> {
* Everything inside needs to be hybrid factor or hybrid conditional. * Everything inside needs to be hybrid factor or hybrid conditional.
*/ */
class GaussianHybridFactorGraph class GaussianHybridFactorGraph
: public FactorGraph<HybridFactor>, : public HybridFactorGraph,
public EliminateableFactorGraph<GaussianHybridFactorGraph> { public EliminateableFactorGraph<GaussianHybridFactorGraph> {
public: public:
using Base = FactorGraph<HybridFactor>; using Base = HybridFactorGraph;
using This = GaussianHybridFactorGraph; ///< this class using This = GaussianHybridFactorGraph; ///< this class
using BaseEliminateable = using BaseEliminateable =
EliminateableFactorGraph<This>; ///< for elimination EliminateableFactorGraph<This>; ///< for elimination
@ -99,8 +100,13 @@ class GaussianHybridFactorGraph
/// @} /// @}
using FactorGraph::add; using Base::empty;
using FactorGraph::push_back; using Base::reserve;
using Base::size;
using Base::operator[];
using Base::add;
using Base::push_back;
using Base::resize;
/// Add a Jacobian factor to the factor graph. /// Add a Jacobian factor to the factor graph.
void add(JacobianFactor&& factor); void add(JacobianFactor&& factor);

View File

@ -76,8 +76,9 @@ class HybridFactorGraph : public FactorGraph<HybridFactor> {
using Base::empty; using Base::empty;
using Base::reserve; using Base::reserve;
using Base::size; using Base::size;
using FactorGraph::add;
using Base::operator[]; using Base::operator[];
using Base::add;
using Base::push_back;
using Base::resize; using Base::resize;
/** /**