Made FactorGraph eliminate functions const

release/4.3a0
Richard Roberts 2012-11-26 19:21:00 +00:00
parent 60f29fde15
commit a5ab9ca32d
5 changed files with 9 additions and 9 deletions

View File

@ -153,7 +153,7 @@ namespace gtsam {
template<class FACTOR> template<class FACTOR>
std::pair<typename FactorGraph<FACTOR>::sharedConditional, FactorGraph<FACTOR> > std::pair<typename FactorGraph<FACTOR>::sharedConditional, FactorGraph<FACTOR> >
FactorGraph<FACTOR>::eliminate(const std::vector<KeyType>& variables, const Eliminate& eliminateFcn, FactorGraph<FACTOR>::eliminate(const std::vector<KeyType>& variables, const Eliminate& eliminateFcn,
boost::optional<const VariableIndex&> variableIndex_) boost::optional<const VariableIndex&> variableIndex_) const
{ {
const VariableIndex& variableIndex = const VariableIndex& variableIndex =
variableIndex_ ? *variableIndex_ : VariableIndex(*this); variableIndex_ ? *variableIndex_ : VariableIndex(*this);

View File

@ -199,12 +199,12 @@ class VariableIndex;
*/ */
std::pair<sharedConditional, FactorGraph<FactorType> > eliminate( std::pair<sharedConditional, FactorGraph<FactorType> > eliminate(
const std::vector<KeyType>& variables, const Eliminate& eliminateFcn, const std::vector<KeyType>& variables, const Eliminate& eliminateFcn,
boost::optional<const VariableIndex&> variableIndex = boost::none); boost::optional<const VariableIndex&> variableIndex = boost::none) const;
/** Eliminate a single variable, by calling FactorGraph::eliminate. */ /** Eliminate a single variable, by calling FactorGraph::eliminate. */
std::pair<sharedConditional, FactorGraph<FactorType> > eliminateOne( std::pair<sharedConditional, FactorGraph<FactorType> > eliminateOne(
KeyType variable, const Eliminate& eliminateFcn, KeyType variable, const Eliminate& eliminateFcn,
boost::optional<const VariableIndex&> variableIndex = boost::none) { boost::optional<const VariableIndex&> variableIndex = boost::none) const {
std::vector<size_t> variables(1, variable); std::vector<size_t> variables(1, variable);
return eliminate(variables, eliminateFcn, variableIndex); return eliminate(variables, eliminateFcn, variableIndex);
} }

View File

@ -72,14 +72,14 @@ namespace gtsam {
/* ************************************************************************* */ /* ************************************************************************* */
std::pair<SymbolicFactorGraph::sharedConditional, SymbolicFactorGraph> std::pair<SymbolicFactorGraph::sharedConditional, SymbolicFactorGraph>
SymbolicFactorGraph::eliminate(const std::vector<Index>& variables) SymbolicFactorGraph::eliminate(const std::vector<Index>& variables) const
{ {
return FactorGraph<IndexFactor>::eliminate(variables, EliminateSymbolic); return FactorGraph<IndexFactor>::eliminate(variables, EliminateSymbolic);
} }
/* ************************************************************************* */ /* ************************************************************************* */
std::pair<SymbolicFactorGraph::sharedConditional, SymbolicFactorGraph> std::pair<SymbolicFactorGraph::sharedConditional, SymbolicFactorGraph>
SymbolicFactorGraph::eliminateOne(Index variable) SymbolicFactorGraph::eliminateOne(Index variable) const
{ {
return FactorGraph<IndexFactor>::eliminateOne(variable, EliminateSymbolic); return FactorGraph<IndexFactor>::eliminateOne(variable, EliminateSymbolic);
} }

View File

@ -83,10 +83,10 @@ namespace gtsam {
* FactorGraph<GaussianFactor>::eliminate with EliminateSymbolic as the eliminate * FactorGraph<GaussianFactor>::eliminate with EliminateSymbolic as the eliminate
* function argument. * function argument.
*/ */
std::pair<sharedConditional, SymbolicFactorGraph> eliminate(const std::vector<Index>& variables); std::pair<sharedConditional, SymbolicFactorGraph> eliminate(const std::vector<Index>& variables) const;
/** Eliminate a single variable, by calling SymbolicFactorGraph::eliminate. */ /** Eliminate a single variable, by calling SymbolicFactorGraph::eliminate. */
std::pair<sharedConditional, SymbolicFactorGraph> eliminateOne(Index variable); std::pair<sharedConditional, SymbolicFactorGraph> eliminateOne(Index variable) const;
/// @} /// @}
/// @name Standard Interface /// @name Standard Interface

View File

@ -145,11 +145,11 @@ namespace gtsam {
* FactorGraph<GaussianFactor>::eliminate with EliminateQR as the eliminate * FactorGraph<GaussianFactor>::eliminate with EliminateQR as the eliminate
* function argument. * function argument.
*/ */
std::pair<sharedConditional, GaussianFactorGraph> eliminate(const std::vector<Index>& variables, const Eliminate& function = EliminateQR) { std::pair<sharedConditional, GaussianFactorGraph> eliminate(const std::vector<Index>& variables, const Eliminate& function = EliminateQR) const {
return Base::eliminate(variables, function); } return Base::eliminate(variables, function); }
/** Eliminate a single variable, by calling GaussianFactorGraph::eliminate. */ /** Eliminate a single variable, by calling GaussianFactorGraph::eliminate. */
std::pair<sharedConditional, GaussianFactorGraph> eliminateOne(Index variable, const Eliminate& function = EliminateQR) { std::pair<sharedConditional, GaussianFactorGraph> eliminateOne(Index variable, const Eliminate& function = EliminateQR) const {
return Base::eliminateOne(variable, function); } return Base::eliminateOne(variable, function); }
/** Permute the variables in the factors */ /** Permute the variables in the factors */