diff --git a/python/gtsam/__init__.py b/python/gtsam/__init__.py index df9839fb0..3e2899db0 100644 --- a/python/gtsam/__init__.py +++ b/python/gtsam/__init__.py @@ -1,2 +1,3 @@ +import registernumpyeigen import noiseModel import geometry diff --git a/python/gtsam/registernumpyeigen/.gitignore b/python/gtsam/registernumpyeigen/.gitignore new file mode 100644 index 000000000..7ed4e4844 --- /dev/null +++ b/python/gtsam/registernumpyeigen/.gitignore @@ -0,0 +1 @@ +/libregisternumpyeigen_python.so diff --git a/python/gtsam/registernumpyeigen/__init__.py b/python/gtsam/registernumpyeigen/__init__.py new file mode 100644 index 000000000..ac6856e8c --- /dev/null +++ b/python/gtsam/registernumpyeigen/__init__.py @@ -0,0 +1 @@ +from libregisternumpyeigen_python import * \ No newline at end of file diff --git a/python/handwritten/geometry_python.cpp b/python/handwritten/geometry_python.cpp index 9e6a9e55c..61f1e3ee7 100644 --- a/python/handwritten/geometry_python.cpp +++ b/python/handwritten/geometry_python.cpp @@ -47,30 +47,6 @@ bool (Pose3::*equals_0)(const gtsam::Pose3&, double) const = &Pose3::equals; BOOST_PYTHON_MODULE(libgeometry_python) { -// NOTE: Don't know if it's really necessary to register the matrices convertion here. -import_array(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); - -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); - class_("Point3") .def(init<>()) .def(init()) diff --git a/python/handwritten/noiseModel_python.cpp b/python/handwritten/noiseModel_python.cpp index f33bc0e8b..34ec8393f 100644 --- a/python/handwritten/noiseModel_python.cpp +++ b/python/handwritten/noiseModel_python.cpp @@ -74,30 +74,6 @@ struct BaseWrap : Base, wrapper BOOST_PYTHON_MODULE(libnoiseModel_python) { -// NOTE: Don't know if it's really necessary to register the matrices convertion here. -import_array(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); - -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); -NumpyEigenConverter::register_converter(); - class_("Base") .def("print", pure_virtual(&Base::print)) ; diff --git a/python/handwritten/registernumpyeigen_python.cpp b/python/handwritten/registernumpyeigen_python.cpp new file mode 100644 index 000000000..cb8980494 --- /dev/null +++ b/python/handwritten/registernumpyeigen_python.cpp @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------------- + + * 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 + + * -------------------------------------------------------------------------- */ + +/** + * @file libregisternumpyeigen_python.cpp + * @brief register conversion matrix between numpy and Eigen + * @author Ellon Paiva Mendes (LAAS-CNRS) + **/ + + #include + +#include + +#include +#include + +using namespace boost::python; +using namespace gtsam; + +BOOST_PYTHON_MODULE(libregisternumpyeigen_python) +{ + +import_array(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); + +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); +NumpyEigenConverter::register_converter(); + +}