gtsam/gtsam/symbolic/SymbolicFactor.cpp

52 lines
1.7 KiB
C++

/* ----------------------------------------------------------------------------
* 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 SymbolicFactor.cpp
* @author Richard Roberts
* @date Oct 17, 2010
*/
#include <gtsam/base/FastVector.h>
#include <gtsam/inference/Ordering.h>
#include <gtsam/symbolic/SymbolicFactor.h>
#include <gtsam/symbolic/SymbolicConditional.h>
#include <gtsam/symbolic/SymbolicFactorGraph.h>
#include <gtsam/symbolic/SymbolicFactor-inst.h>
using namespace std;
namespace gtsam {
/* ************************************************************************* */
std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
EliminateSymbolic(const SymbolicFactorGraph& factors, const Ordering& keys)
{
return internal::EliminateSymbolic(factors, keys);
}
/* ************************************************************************* */
bool SymbolicFactor::equals(const This& other, double tol) const
{
return Base::equals(other, tol);
}
/* ************************************************************************* */
std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
SymbolicFactor::eliminate(const Ordering& keys) const
{
SymbolicFactorGraph graph;
graph += *this; // TODO: Is there a way to avoid copying this factor?
return EliminateSymbolic(graph, keys);
}
} // gtsam