53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
|  | /*
 | ||
|  |  * SymbolicFactorGraph.cpp | ||
|  |  * | ||
|  |  *  Created on: Oct 29, 2009 | ||
|  |  *      Author: Frank Dellaert | ||
|  |  */ | ||
|  | 
 | ||
|  | #include <iostream>
 | ||
|  | #include <fstream>
 | ||
|  | #include <boost/format.hpp>
 | ||
|  | #include <boost/foreach.hpp>
 | ||
|  | #include "Ordering.h"
 | ||
|  | #include "SymbolicFactorGraph.h"
 | ||
|  | #include "SymbolicBayesNet.h"
 | ||
|  | #include "inference-inl.h"
 | ||
|  | 
 | ||
|  | using namespace std; | ||
|  | 
 | ||
|  | namespace gtsam { | ||
|  | 
 | ||
|  | 	// Explicitly instantiate so we don't have to include everywhere
 | ||
|  | 	template class FactorGraph<SymbolicFactor>; | ||
|  | 
 | ||
|  | 	/* ************************************************************************* */ | ||
|  |   boost::shared_ptr<SymbolicConditional> | ||
|  |   SymbolicFactorGraph::eliminateOne(const Symbol& key){ | ||
|  | 		return gtsam::eliminateOne<SymbolicFactor,SymbolicConditional>(*this, key); | ||
|  |   } | ||
|  | 
 | ||
|  | 	/* ************************************************************************* */ | ||
|  | 	SymbolicBayesNet | ||
|  | 	SymbolicFactorGraph::eliminate(const Ordering& ordering) | ||
|  | 	{ | ||
|  | 		SymbolicBayesNet bayesNet; | ||
|  | 
 | ||
|  | 		BOOST_FOREACH(const Symbol& key, ordering) { | ||
|  | 			SymbolicConditional::shared_ptr conditional = | ||
|  | 					gtsam::eliminateOne<SymbolicFactor,SymbolicConditional>(*this,key); | ||
|  | 			bayesNet.push_back(conditional); | ||
|  | 		} | ||
|  | 		return bayesNet; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/* ************************************************************************* */ | ||
|  | 	SymbolicBayesNet | ||
|  | 	SymbolicFactorGraph::eliminateFrontals(const Ordering& ordering) | ||
|  | 	{ | ||
|  | 		return eliminate(ordering); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/* ************************************************************************* */ | ||
|  | } |