diff --git a/modules/gui/pymod/export_overlay.cc b/modules/gui/pymod/export_overlay.cc index d5293ddd01be9df97d9afc52ec3fb0aa4a9c0f45..4a19bceeb30e06a5e9e0737b64b53c0210dc7fd1 100644 --- a/modules/gui/pymod/export_overlay.cc +++ b/modules/gui/pymod/export_overlay.cc @@ -118,8 +118,8 @@ void export_overlay() .def("ClearMask",&MaskOverlay::ClearMask) .def("GetShift",&MaskOverlay::GetShift) .def("ClearShift",&MaskOverlay::ClearShift) - // .def("SetShift",&MaskOverlay::SetShift) - // .def("ApplyShiftToMask",&MaskOverlay::ApplyShiftToMask) + .def("SetShift",&MaskOverlay::SetShift) + .def("ApplyShiftToMask",&MaskOverlay::ApplyShiftToMask) ; /* class_<Gauss2DOverlay,bases<Overlay>,boost::noncopyable>("Gauss2DOverlay",init<const alg::ParamsGauss2D&>()) diff --git a/modules/gui/src/data_viewer/mask_overlay.cc b/modules/gui/src/data_viewer/mask_overlay.cc index a10082a3408b0988c2c38bda0230b6440d7916ff..6e1ae09906d3574d1ac7ebd47498fd08f49be9bb 100644 --- a/modules/gui/src/data_viewer/mask_overlay.cc +++ b/modules/gui/src/data_viewer/mask_overlay.cc @@ -214,5 +214,19 @@ void MaskOverlay::ClearMask() add_mode_=false; } +void MaskOverlay::SetShift(geom::Vec2 shift) +{ + shift_=shift; +} + +void MaskOverlay::ApplyShiftToMask() +{ + for(std::vector<geom::Polygon2>::iterator it=polygons_.begin();it!=polygons_.end();++it){ + (*it)=(*it)+shift_; + } + new_poly_=new_poly_+shift_; + shift_=geom::Vec2(0.0,0.0); +} + }}} //ns diff --git a/modules/gui/src/data_viewer/mask_overlay.hh b/modules/gui/src/data_viewer/mask_overlay.hh index e274f315756060af5001d610e550b42f410a1e83..36feb893d9d0d71893568fab4273c96314636ca0 100644 --- a/modules/gui/src/data_viewer/mask_overlay.hh +++ b/modules/gui/src/data_viewer/mask_overlay.hh @@ -56,6 +56,8 @@ public: void ClearMask(); void ClearShift(){shift_=geom::Vec2();} geom::Vec2 GetShift(){return shift_;} + void SetShift(geom::Vec2 shift); + void ApplyShiftToMask(); protected: std::vector<geom::Polygon2> polygons_; diff --git a/modules/img/base/pymod/export_mask.cc b/modules/img/base/pymod/export_mask.cc index 6db4cf05e80dd066460fed2215a83c58444a0396..3385d8ffc69061639aa221442dc24f9d3da4d988 100644 --- a/modules/img/base/pymod/export_mask.cc +++ b/modules/img/base/pymod/export_mask.cc @@ -26,6 +26,7 @@ using namespace boost::python; #include <ost/img/mask.hh> +#include <ost/img/mask_info_convert.hh> namespace ost { namespace img { @@ -100,5 +101,7 @@ void export_Mask() def("Mask",mask2); def("Mask",mask3); def("Mask",mask4); + def("InfoToMask",InfoToMask); + def("MaskToInfo",MaskToInfo); } diff --git a/modules/img/base/src/CMakeLists.txt b/modules/img/base/src/CMakeLists.txt index 0d0e7e47a5b42c6e028275471a66928d34d54c2c..97ea2ed0b32297cf7e5298ec975d221a956da806 100644 --- a/modules/img/base/src/CMakeLists.txt +++ b/modules/img/base/src/CMakeLists.txt @@ -29,6 +29,7 @@ extent_mask.cc spherical_mask.cc mask_op.cc circle_mask.cc +mask_info_convert.cc image_list.cc physical_units.cc progress.cc @@ -86,6 +87,7 @@ spherical_mask.hh mask_op.hh mask.hh circle_mask.hh +mask_info_convert.hh image_list.hh physical_units.hh progress.hh @@ -105,4 +107,4 @@ module(NAME img SOURCES "${OST_IMG_SOURCES}" HEADERS ${OST_IMG_RASTER_IMAGE_HEADERS} IN_DIR raster_image ${OST_IMG_IMAGE_STATE_HEADERS} IN_DIR image_state ${OST_IMG_HEADERS} - DEPENDS_ON geom base) + DEPENDS_ON geom base info)