Something went wrong on our end
-
andreas authored
git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1904 5a81b35b-ba03-0410-adc8-b2c5c5119f08
andreas authoredgit-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1904 5a81b35b-ba03-0410-adc8-b2c5c5119f08
export_overlay.cc 4.21 KiB
//------------------------------------------------------------------------------
// 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&>())
;*/
}