Added wrapper files

release/4.3a0
Frank Dellaert 2021-10-04 21:56:06 -04:00
parent e08800c4dc
commit e022084a06
4 changed files with 51 additions and 0 deletions

24
gtsam/discrete/discrete.i Normal file
View File

@ -0,0 +1,24 @@
//*************************************************************************
// basis
//*************************************************************************
namespace gtsam {
// typedef pair<size_t, size_t> DiscreteKey;
#include <gtsam/discrete/DiscreteFactor.h>
class DiscreteFactor {
};
#include <gtsam/discrete/DecisionTreeFactor.h>
class DecisionTreeFactor {
DecisionTreeFactor();
};
#include <gtsam/discrete/DiscreteFactorGraph.h>
class DiscreteFactorGraph {
DiscreteFactorGraph();
};
} // namespace gtsam

View File

@ -54,6 +54,7 @@ set(ignore
set(interface_headers
${PROJECT_SOURCE_DIR}/gtsam/gtsam.i
${PROJECT_SOURCE_DIR}/gtsam/base/base.i
${PROJECT_SOURCE_DIR}/gtsam/discrete/discrete.i
${PROJECT_SOURCE_DIR}/gtsam/geometry/geometry.i
${PROJECT_SOURCE_DIR}/gtsam/linear/linear.i
${PROJECT_SOURCE_DIR}/gtsam/nonlinear/nonlinear.i

View File

@ -0,0 +1,14 @@
/* Please refer to:
* https://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html
* These are required to save one copy operation on Python calls.
*
* NOTES
* =================
*
* `PYBIND11_MAKE_OPAQUE` will mark the type as "opaque" for the pybind11
* automatic STL binding, such that the raw objects can be accessed in Python.
* Without this they will be automatically converted to a Python object, and all
* mutations on Python side will not be reflected on C++.
*/
#include <pybind11/stl.h>

View File

@ -0,0 +1,12 @@
/* Please refer to:
* https://pybind11.readthedocs.io/en/stable/advanced/cast/stl.html
* These are required to save one copy operation on Python calls.
*
* NOTES
* =================
*
* `py::bind_vector` and similar machinery gives the std container a Python-like
* interface, but without the `<pybind11/stl.h>` copying mechanism. Combined
* with `PYBIND11_MAKE_OPAQUE` this allows the types to be modified with Python,
* and saves one copy operation.
*/