diff --git a/gtsam/sfm/DsfTrackGenerator.h b/gtsam/sfm/DsfTrackGenerator.h index 16dddcbaa..9a0c350bd 100644 --- a/gtsam/sfm/DsfTrackGenerator.h +++ b/gtsam/sfm/DsfTrackGenerator.h @@ -95,7 +95,7 @@ class SfmTrack2d { }; using SfmTrack2dVector = std::vector; - +using NamedSfmMeasurementVector = std::vector; /** diff --git a/gtsam/sfm/sfm.i b/gtsam/sfm/sfm.i index 6c3f1e8eb..155a551bd 100644 --- a/gtsam/sfm/sfm.i +++ b/gtsam/sfm/sfm.i @@ -42,6 +42,16 @@ class NamedSfmMeasurement NamedSfmMeasurement(size_t i, gtsam::Point2 uv); }; +class NamedSfmMeasurementVector { + NamedSfmMeasurementVector(); + NamedSfmMeasurementVector(const gtsam::NamedSfmMeasurementVector& other); + void push_back(const gtsam::NamedSfmMeasurement& measurement); + size_t size() const; + bool empty() const; + void clear(); + gtsam::NamedSfmMeasurement at(const size_t& index) const; +}; + class SfmTrack2d { void addMeasurement(const gtsam::NamedSfmMeasurement &m); @@ -52,7 +62,7 @@ class SfmTrack2d class SfmTrack2dVector { SfmTrack2dVector(); SfmTrack2dVector(const gtsam::SfmTrack2dVector& other); - void push_back(const gtsam::SfmTrack2d& keypoints); + void push_back(const gtsam::SfmTrack2d& track); size_t size() const; bool empty() const; void clear(); diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 3266cf867..21f9f951d 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -54,7 +54,8 @@ set(ignore gtsam::KeyPairDoubleMap gtsam::MatchIndicesMap gtsam::KeypointsList - gtsam::SfmTrack2dVector) + gtsam::SfmTrack2dVector + gtsam::NamedSfmMeasurementVector) set(interface_headers ${PROJECT_SOURCE_DIR}/gtsam/gtsam.i @@ -154,7 +155,8 @@ if(GTSAM_UNSTABLE_BUILD_PYTHON) gtsam::KeyPairDoubleMap gtsam::MatchIndicesMap gtsam::KeypointsList - gtsam::SfmTrack2dVector) + gtsam::SfmTrack2dVector + gtsam::NamedSfmMeasurementVector) pybind_wrap(${GTSAM_PYTHON_UNSTABLE_TARGET} # target diff --git a/python/gtsam/preamble/sfm.h b/python/gtsam/preamble/sfm.h index fe49aadc1..429b794b8 100644 --- a/python/gtsam/preamble/sfm.h +++ b/python/gtsam/preamble/sfm.h @@ -29,4 +29,7 @@ PYBIND11_MAKE_OPAQUE( // PYBIND11_MAKE_OPAQUE( // std::vector); -PYBIND11_MAKE_OPAQUE(gtsam::MatchIndicesMap); \ No newline at end of file +PYBIND11_MAKE_OPAQUE(gtsam::MatchIndicesMap); + +PYBIND11_MAKE_OPAQUE( + std::vector); \ No newline at end of file diff --git a/python/gtsam/specializations/sfm.h b/python/gtsam/specializations/sfm.h index 9eaf0f7fd..1bbb93570 100644 --- a/python/gtsam/specializations/sfm.h +++ b/python/gtsam/specializations/sfm.h @@ -39,4 +39,8 @@ py::bind_vector< ); py::bind_vector< std::vector >( - m_, "SfmTrack2dVector"); \ No newline at end of file + m_, "SfmTrack2dVector"); + +py::bind_vector< + std::vector >( + m_, "NamedSfmMeasurementVector");