RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/maptooladdplane.cpp

44 lines
1.1 KiB
C++
Raw Normal View History

#include "maptooladdplane.h"
#include "mapcanvas.h"
#include "maplayer.h"
2025-02-07 09:16:22 +00:00
#include "mapautoplane.h"
#pragma execution_character_set("utf-8")
void LAMPMainWidget::MapToolAddplane::execute(QMouseEvent *event)
{
QPointF scene_point=this->mMapCanvas->mapToScene(event->pos());
QPointF mkt_point=scene_point*this->mMapCanvas->currentLayer()->resolution();
if( event->type() != QEvent::MouseButtonPress) return;
if(event->button()==Qt::LeftButton){
MapAutoplane*plane=new MapAutoplane(this->mMapCanvas->currentLayer(),mkt_point);
this->addPlane(plane);
}
}
void LAMPMainWidget::MapToolAddplane::setup()
{
}
void LAMPMainWidget::MapToolAddplane::deSetup()
{
}
QString LAMPMainWidget::MapToolAddplane::id()
{
return QString("addplane_tool");
}
void LAMPMainWidget::MapToolAddplane::addPlane(MapAutoplane *plane)
{
this->mMapCanvas->scene()->addItem(plane);
this->planes.append(plane);
}
void LAMPMainWidget::MapToolAddplane::delePlane(MapAutoplane *plane)
{
this->mMapCanvas->scene()->removeItem(plane);
this->planes.removeAll(plane);
}