58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 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
 | |
| 
 | |
|  * -------------------------------------------------------------------------- */
 | |
| 
 | |
| /**
 | |
|  * @brief wraps BetweenFactor for several values to python
 | |
|  * @author Andrew Melim
 | |
|  * @author Ellon Paiva Mendes (LAAS-CNRS)
 | |
|  **/
 | |
| 
 | |
| #include <boost/python.hpp>
 | |
| 
 | |
| #define NO_IMPORT_ARRAY
 | |
| #include <numpy_eigen/NumpyEigenConverter.hpp>
 | |
| 
 | |
| #include "gtsam/slam/BetweenFactor.h"
 | |
| #include "gtsam/geometry/Point2.h"
 | |
| #include "gtsam/geometry/Rot2.h"
 | |
| #include "gtsam/geometry/Pose2.h"
 | |
| #include "gtsam/geometry/Point3.h"
 | |
| #include "gtsam/geometry/Rot3.h"
 | |
| #include "gtsam/geometry/Pose3.h"
 | |
| 
 | |
| using namespace boost::python;
 | |
| using namespace gtsam;
 | |
| 
 | |
| using namespace std;
 | |
| 
 | |
| // template<class T>
 | |
| // void exportBetweenFactor(const std::string& name){
 | |
| //   class_<T>(name, init<>())
 | |
| //   .def(init<Key, Key, T, SharedNoiseModel>())
 | |
| //   ;
 | |
| // }
 | |
| 
 | |
| #define BETWEENFACTOR(T) \
 | |
|   class_< BetweenFactor<T>, bases<NonlinearFactor>, boost::shared_ptr< BetweenFactor<T> > >("BetweenFactor"#T) \
 | |
|   .def(init<Key,Key,T,noiseModel::Base::shared_ptr>()) \
 | |
|   .def("measured", &BetweenFactor<T>::measured, return_internal_reference<>()) \
 | |
| ;
 | |
| 
 | |
| void exportBetweenFactors()
 | |
| {
 | |
|   BETWEENFACTOR(Point2)
 | |
|   BETWEENFACTOR(Rot2)
 | |
|   BETWEENFACTOR(Pose2)
 | |
|   BETWEENFACTOR(Point3)
 | |
|   BETWEENFACTOR(Rot3)
 | |
|   BETWEENFACTOR(Pose3)
 | |
| }
 |