26 #ifndef __TERRALIB_EDIT_QT_INTERNAL_VERTEXTOOL_H
27 #define __TERRALIB_EDIT_QT_INTERNAL_VERTEXTOOL_H
30 #include "../../../geometry/Envelope.h"
32 #include "../../../maptools/AbstractLayer.h"
33 #include "../../../sam/rtree/Index.h"
34 #include "../../Utils.h"
35 #include "../core/command/AddCommand.h"
36 #include "../core/UndoStackManager.h"
39 #include "../Config.h"
This class implements a concrete tool for vertex operations (move, add, etc.).
void draw(te::gm::Point *virtualVertex=0)
VertexIndex m_currentVertexIndex
bool mouseMoveEvent(QMouseEvent *e)
This event handler can be reimplemented in a concrete tool class to receive mouse move events for the...
void pickFeature(const te::map::AbstractLayerPtr &layer, const QPointF &pos)
bool mousePressEvent(QMouseEvent *e)
This event handler can be reimplemented in a concrete tool class to receive mouse press events for th...
te::sam::rtree::Index< VertexIndex, 8 > m_rtree
te::gm::Envelope buildEnvelope(const QPointF &pos)
std::vector< te::gm::LineString * > m_lines
StageType
Defines the operation stage to this tool.
bool mouseReleaseEvent(QMouseEvent *e)
This event handler can be reimplemented in a concrete tool class to receive mouse release events for ...
void resetVisualizationTool()
void pickFeature(const te::map::AbstractLayerPtr &layer, const te::gm::Envelope &env)
void setStage(StageType stage)
UndoStackManager & m_stack
VertexTool(te::qt::widgets::MapDisplay *display, const te::map::AbstractLayerPtr &layer, bool fixGeometry=false, QObject *parent=0)
It constructs a vertex tool associated with the given map display.
bool mouseDoubleClickEvent(QMouseEvent *e)
This event handler can be reimplemented in a concrete tool class to receive mouse double click events...
An Envelope defines a 2D rectangular region.
A point with x and y coordinate values.
A class that represents an R-tree.
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
#define TEEDITQTEXPORT
You can use this macro in order to export/import classes and functions from this module.