| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | /* ----------------------------------------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  |  * GTSAM Copyright 2010, Georgia Tech Research Corporation, | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |  * 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  * -------------------------------------------------------------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  |  * @brief exports the python module | 
					
						
							|  |  |  |  * @author Andrew Melim | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |  * @author Ellon Paiva Mendes (LAAS-CNRS) | 
					
						
							|  |  |  |  **/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | #include <boost/python.hpp>
 | 
					
						
							|  |  |  | #include <boost/cstdint.hpp>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-21 04:40:40 +08:00
										 |  |  | #include <numpy_eigen/NumpyEigenConverter.hpp>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // base
 | 
					
						
							| 
									
										
										
										
											2015-11-24 20:28:01 +08:00
										 |  |  | void exportFastVectors(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // geometry
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportPoint2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportPoint3(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportRot2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportRot3(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportPose2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportPose3(); | 
					
						
							| 
									
										
										
										
											2015-11-24 03:36:01 +08:00
										 |  |  | void exportPinholeBaseK(); | 
					
						
							| 
									
										
										
										
											2015-11-23 19:33:33 +08:00
										 |  |  | void exportPinholeCamera(); | 
					
						
							| 
									
										
										
										
											2015-11-23 23:07:07 +08:00
										 |  |  | void exportCal3_S2(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // inference
 | 
					
						
							| 
									
										
										
										
											2015-11-23 22:41:17 +08:00
										 |  |  | void exportSymbol(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // linear
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportNoiseModels(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // nonlinear
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportValues(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportNonlinearFactor(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | void exportNonlinearFactorGraph(); | 
					
						
							|  |  |  | void exportLevenbergMarquardtOptimizer(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportISAM2(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // slam
 | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | void exportPriorFactors(); | 
					
						
							|  |  |  | void exportBetweenFactors(); | 
					
						
							| 
									
										
										
										
											2015-11-24 02:06:24 +08:00
										 |  |  | void exportGenericProjectionFactor(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | // navigation
 | 
					
						
							| 
									
										
										
										
											2016-01-28 05:16:52 +08:00
										 |  |  | void exportImuFactor(); | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | void exportScenario(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | // Utils (or Python wrapper specific functions)
 | 
					
						
							|  |  |  | void registerNumpyEigenConversions(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | //-----------------------------------//
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-25 21:06:49 +08:00
										 |  |  | BOOST_PYTHON_MODULE(_libgtsam_python){ | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  |   // NOTE: We need to call import_array1() instead of import_array() to support both python 2
 | 
					
						
							|  |  |  |   //       and 3. The reason is that BOOST_PYTHON_MODULE puts all its contents in a function
 | 
					
						
							|  |  |  |   //       returning void, and import_array() is a macro that when expanded for python 3, adds
 | 
					
						
							|  |  |  |   //       a 'return __null' statement to that function. For more info check files:
 | 
					
						
							| 
									
										
										
										
											2015-11-28 07:35:39 +08:00
										 |  |  |   //       boost/python/module_init.hpp and numpy/__multiarray_api.h (bottom of the file).
 | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   // Should be the first thing to be done
 | 
					
						
							| 
									
										
										
										
											2015-11-28 07:35:39 +08:00
										 |  |  |   import_array1(); | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   registerNumpyEigenConversions(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-24 20:28:01 +08:00
										 |  |  |   exportFastVectors(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  |   exportPoint2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportPoint3(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  |   exportRot2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportRot3(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  |   exportPose2(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportPose3(); | 
					
						
							| 
									
										
										
										
											2015-11-24 03:36:01 +08:00
										 |  |  |   exportPinholeBaseK(); | 
					
						
							| 
									
										
										
										
											2015-11-23 19:33:33 +08:00
										 |  |  |   exportPinholeCamera(); | 
					
						
							| 
									
										
										
										
											2015-11-23 23:07:07 +08:00
										 |  |  |   exportCal3_S2(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-23 22:41:17 +08:00
										 |  |  |   exportSymbol(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  |   exportNoiseModels(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   exportValues(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportNonlinearFactor(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  |   exportNonlinearFactorGraph(); | 
					
						
							|  |  |  |   exportLevenbergMarquardtOptimizer(); | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportISAM2(); | 
					
						
							| 
									
										
										
										
											2013-11-20 10:30:44 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-20 01:31:38 +08:00
										 |  |  |   exportPriorFactors(); | 
					
						
							|  |  |  |   exportBetweenFactors(); | 
					
						
							| 
									
										
										
										
											2015-11-24 02:06:24 +08:00
										 |  |  |   exportGenericProjectionFactor(); | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-28 05:16:52 +08:00
										 |  |  |   exportImuFactor(); | 
					
						
							| 
									
										
										
										
											2016-01-27 06:15:39 +08:00
										 |  |  |   exportScenario(); | 
					
						
							|  |  |  | } |