diff --git a/modules/base/src/log.cc b/modules/base/src/log.cc index 7e3c537980e856dab90333773b492d70b9eeab84..ec77c8525bcdf7d17fa82dd05a8f13acbe722e4c 100644 --- a/modules/base/src/log.cc +++ b/modules/base/src/log.cc @@ -18,6 +18,7 @@ //------------------------------------------------------------------------------ #include <iostream> + #include <ost/log.hh> namespace ost { diff --git a/modules/base/src/log.hh b/modules/base/src/log.hh index 796de9dcb41b3eba2ae2df7270e1572fd08abefb..ac86280a2159f650f5c36ab326afa4bbd83cc21d 100644 --- a/modules/base/src/log.hh +++ b/modules/base/src/log.hh @@ -58,11 +58,11 @@ private: std::ostream null_; }; -#define PUSH_VERBOSITY(n) Logger::Instance().PushVerbosityLevel(n) -#define POP_VERBOSITY(n) Logger::Instance().PopVerbosityLevel() +#define PUSH_VERBOSITY(n) ::ost::Logger::Instance().PushVerbosityLevel(n) +#define POP_VERBOSITY(n) ::ost::Logger::Instance().PopVerbosityLevel() -#define LOG_ERROR(m) Logger::Instance()(Logger::QUIET) << m; -#define LOGN_ERROR(m) Logger::Instance()(Logger::QUIET) << m << std::endl; +#define LOG_ERROR(m) ::ost::Logger::Instance()(::ost::Logger::QUIET) << m; +#define LOGN_ERROR(m) ::ost::Logger::Instance()(::ost::Logger::QUIET) << m << std::endl; #define LOG_MESSAGE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::NORMAL) {(::ost::Logger::Instance()(::ost::Logger::NORMAL)) << m ;} #define LOGN_MESSAGE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::NORMAL) {(::ost::Logger::Instance()(::ost::Logger::NORMAL)) << m << std::endl;} @@ -70,8 +70,8 @@ private: #define LOG_VERBOSE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::VERBOSE) {(::ost::Logger::Instance()(::ost::Logger::VERBOSE)) << m ;} #define LOGN_VERBOSE(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::VERBOSE) {(::ost::Logger::Instance()(::ost::Logger::VERBOSE)) << m << std::endl;} -#define LOG_DEBUG(m) if(Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m ;} -#define LOGN_DEBUG(m) if(Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m << std::endl;} +#define LOG_DEBUG(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m ;} +#define LOGN_DEBUG(m) if(::ost::Logger::Instance().GetLogLevel()>=::ost::Logger::DEBUG) {(::ost::Logger::Instance()(::ost::Logger::DEBUG)) << m << std::endl;} #ifdef NDEBUG diff --git a/modules/gui/pymod/CMakeLists.txt b/modules/gui/pymod/CMakeLists.txt index d3cad752d59ff0696b638b6943e7f4ace59e3b22..c62fe901cc7a30482eb5b41da8aa60413efd1393 100644 --- a/modules/gui/pymod/CMakeLists.txt +++ b/modules/gui/pymod/CMakeLists.txt @@ -62,6 +62,7 @@ if (ENABLE_IMG) list(APPEND OST_GUI_PYMOD_SOURCES data_viewer_proxy.cc export_data_viewer.cc + export_overlay.cc ) endif() diff --git a/modules/gui/pymod/export_overlay.cc b/modules/gui/pymod/export_overlay.cc new file mode 100644 index 0000000000000000000000000000000000000000..21019aa74ac545ed4dd06b4bb22cb2a5a3b35645 --- /dev/null +++ b/modules/gui/pymod/export_overlay.cc @@ -0,0 +1,127 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2010 by the OpenStructure authors +// Copyright (C) 2003-2010 by the IPLT authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ + + +/* + Author: Ansgar Philippsen +*/ + +#include <boost/python.hpp> +#include <ost/gui/data_viewer/overlay.hh> +#include <ost/gui/data_viewer/null_overlay.hh> +#include <ost/gui/data_viewer/pointlist_overlay.hh> +#include <ost/gui/data_viewer/draw_overlay.hh> +#include <ost/gui/data_viewer/mask_overlay.hh> + +using namespace boost::python; +using namespace ost; +using namespace ost::img; +using namespace ost::img::gui; +namespace { + +void plo_add1(PointlistOverlay& plo, const Point& p) +{ + plo.Add(p); +} + + +void plo_add2(PointlistOverlay& plo, const PointList& p) +{ + plo.Add(p); +} + +/*void plo_add3(PointlistOverlay& plo, const Point& p, double scale) +{ + plo.Add(p,scale); +} + +void plo_add4(PointlistOverlay& plo, const PointList& p, double scale) +{ + plo.Add(p,scale); +} +*/ +QColor qcolor_from_pyobj(boost::python::object& obj) +{ +return QColor(boost::python::extract<int>(obj.attr("red")()), + boost::python::extract<int>(obj.attr("green")()), + boost::python::extract<int>(obj.attr("blue")())); +} + +/*void set_active_color(PointlistOverlayBase& plo,boost::python::object& obj) +{ + QColor color=qcolor_from_pyobj(obj); + plo.SetActiveColor(color); +} +void set_passive_color(PointlistOverlayBase& plo,boost::python::object& obj) +{ + QColor color=qcolor_from_pyobj(obj); + plo.SetPassiveColor(color); +}*/ + +}//ns + +void export_overlay() +{ + class_<Overlay, OverlayPtr, boost::noncopyable>("Overlay",no_init) + .def("GetName",&Overlay::GetName) + .def("SetName",&Overlay::SetName) + ; + + class_<NullOverlay,bases<Overlay>,boost::noncopyable>("NullOverlay",init<>()) + ; + + class_<PointlistOverlayBase,bases<Overlay>,boost::noncopyable>("PointlistOverlayBase",init<const String&>()) + .def("SetSymbolSize",&PointlistOverlayBase::SetSymbolSize) + .def("GetSymbolSize",&PointlistOverlayBase::GetSymbolSize) + .def("SetSymbolShape",&PointlistOverlayBase::SetSymbolShape) + .def("GetSymbolShape",&PointlistOverlayBase::GetSymbolShape) + .def("SetCrosshair",&PointlistOverlayBase::SetCrosshair) + .def("GetCrosshair",&PointlistOverlayBase::GetCrosshair) + // .def("SetActiveColor",set_active_color) + // .def("SetPassiveColor",set_passive_color) + ; + + class_<PointlistOverlay,bases<PointlistOverlayBase>,boost::noncopyable>("PointlistOverlay",init<optional<const String&> >()) + .def(init<const PointList&,optional<const String&> >()) + .def("Add",plo_add1) + .def("Add",plo_add2) + // .def("Add",plo_add3) + // .def("Add",plo_add4) + .def("Remove",&PointlistOverlay::Remove) + .def("Clear",&PointlistOverlay::Clear) + ; + + class_<DrawOverlay,bases<Overlay>,boost::noncopyable>("DrawOverlay",init<ImageHandle>()) + ; + + class_<MaskOverlay,bases<Overlay>,boost::noncopyable>("MaskOverlay",init<>()) + .def(init<const MaskPtr&>()) + .def("SetMask",&MaskOverlay::SetMask) + .def("GetMask",&MaskOverlay::GetMask) + .def("ClearMask",&MaskOverlay::ClearMask) + .def("GetShift",&MaskOverlay::GetShift) + .def("ClearShift",&MaskOverlay::ClearShift) + // .def("SetShift",&MaskOverlay::SetShift) + // .def("ApplyShiftToMask",&MaskOverlay::ApplyShiftToMask) + ; + +/* class_<Gauss2DOverlay,bases<Overlay>,boost::noncopyable>("Gauss2DOverlay",init<const alg::ParamsGauss2D&>()) + ;*/ +} diff --git a/modules/gui/pymod/wrap_gui.cc b/modules/gui/pymod/wrap_gui.cc index 19bc5a37a46854985df382e86862f2782eedb931..4034dfe1cbead9baa952f1d6d2cacea11536191d 100644 --- a/modules/gui/pymod/wrap_gui.cc +++ b/modules/gui/pymod/wrap_gui.cc @@ -49,6 +49,7 @@ void export_Input(); #ifdef OST_IMG_ENABLED void export_data_viewer(); +void export_overlay(); #endif #include <boost/python/to_python_converter.hpp> @@ -125,5 +126,6 @@ BOOST_PYTHON_MODULE(_gui) #if OST_IMG_ENABLED export_data_viewer(); + export_overlay(); #endif }