From b71cff9387a6efd0bc926b76ad57cb11801dac66 Mon Sep 17 00:00:00 2001
From: andreas <andreas@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Mon, 7 Jun 2010 14:59:25 +0000
Subject: [PATCH] git-svn-id:
 https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2352
 5a81b35b-ba03-0410-adc8-b2c5c5119f08

---
 modules/gui/pymod/export_overlay.cc         |  4 ++--
 modules/gui/src/data_viewer/mask_overlay.cc | 14 ++++++++++++++
 modules/gui/src/data_viewer/mask_overlay.hh |  2 ++
 modules/img/base/pymod/export_mask.cc       |  3 +++
 modules/img/base/src/CMakeLists.txt         |  4 +++-
 5 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/modules/gui/pymod/export_overlay.cc b/modules/gui/pymod/export_overlay.cc
index d5293ddd0..4a19bceeb 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 a10082a34..6e1ae0990 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 e274f3157..36feb893d 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 6db4cf05e..3385d8ffc 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 0d0e7e47a..97ea2ed0b 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)
-- 
GitLab