| 
									
										
										
										
											2009-12-29 13:57:05 +08:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * @file    GaussianISAM | 
					
						
							|  |  |  |  * @brief   Full non-linear ISAM. | 
					
						
							|  |  |  |  * @author  Michael Kaess | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // \callgraph
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "ISAM2.h"
 | 
					
						
							|  |  |  | #include "GaussianConditional.h"
 | 
					
						
							|  |  |  | #include "GaussianFactor.h"
 | 
					
						
							| 
									
										
										
										
											2010-01-19 13:33:44 +08:00
										 |  |  | #include "simulated2D.h"
 | 
					
						
							| 
									
										
										
										
											2010-01-18 16:05:33 +08:00
										 |  |  | #include "planarSLAM.h"
 | 
					
						
							| 
									
										
										
										
											2009-12-29 13:57:05 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace gtsam { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-19 13:33:44 +08:00
										 |  |  | 	typedef ISAM2<GaussianConditional, simulated2D::Config> GaussianISAM2; | 
					
						
							| 
									
										
										
										
											2009-12-29 13:57:05 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// recursively optimize this conditional and all subtrees
 | 
					
						
							|  |  |  | 	void optimize2(const GaussianISAM2::sharedClique& clique, VectorConfig& result); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// optimize the BayesTree, starting from the root
 | 
					
						
							|  |  |  | 	VectorConfig optimize2(const GaussianISAM2& bayesTree); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 16:05:33 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// todo: copy'n'paste to avoid template hell
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	typedef ISAM2<GaussianConditional, planarSLAM::Config> GaussianISAM2_P; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// recursively optimize this conditional and all subtrees
 | 
					
						
							|  |  |  | //	void optimize2(const GaussianISAM2_P::sharedClique& clique, VectorConfig& result);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// optimize the BayesTree, starting from the root
 | 
					
						
							|  |  |  | 	VectorConfig optimize2(const GaussianISAM2_P& bayesTree); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-29 13:57:05 +08:00
										 |  |  | }/// namespace gtsam
 |