Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+72
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
**
|
||||
** @RDE_HEADER@
|
||||
** Definition of ellipse drawable
|
||||
** $Id$
|
||||
** $HeadURL$
|
||||
** $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "rubberband_drawable.h"
|
||||
|
||||
#include <arcgis/Map.h>
|
||||
|
||||
|
||||
namespace SituationMap { namespace RB
|
||||
{
|
||||
class DrawableEllipse : public RubberbandDrawable
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
explicit DrawableEllipse( Esri::ArcGISRuntime::MapGraphicsView * );
|
||||
explicit DrawableEllipse( Esri::ArcGISRuntime::MapGraphicsView *, QGraphicsScene * );
|
||||
~DrawableEllipse();
|
||||
|
||||
DrawableEllipse(const RubberbandDrawable &) = delete;
|
||||
DrawableEllipse & operator = (const RubberbandDrawable &) = delete;
|
||||
|
||||
|
||||
inline void setRect(const QPointF & center, qreal radiusX, qreal radiusY, qreal sin, qreal cos, const QPointF & sectorStart = QPointF(), const QPointF & sectorEnd = QPointF() )
|
||||
{
|
||||
// p1,p2 = corner points of unrotated ellipse in scene coordinates
|
||||
_center = RubberbandCoordinate( _mapView, convert(center, _mapView->map()->spatialReference()) );
|
||||
_radiusX = radiusX;
|
||||
_radiusY = radiusY;
|
||||
|
||||
_sinRect = sin;
|
||||
_cosRect = cos;
|
||||
|
||||
_sectorStart = sectorStart;
|
||||
_sectorEnd = sectorEnd;
|
||||
updateGraphic();
|
||||
}
|
||||
|
||||
qreal radiusX() { return _radiusX; }
|
||||
qreal radiusY() { return _radiusY; }
|
||||
|
||||
protected:
|
||||
|
||||
QGraphicsEllipseItem * _elliItem;
|
||||
QGraphicsEllipseItem * _sectItem;
|
||||
RubberbandDrawable::RubberbandCoordinate _center;
|
||||
qreal _radiusX;
|
||||
qreal _radiusY;
|
||||
QPen _elliStyle;
|
||||
qreal _sinRect;
|
||||
qreal _cosRect;
|
||||
QPointF _sectorStart;
|
||||
QPointF _sectorEnd;
|
||||
|
||||
void updateGraphic() override;
|
||||
|
||||
|
||||
void adjustCoordinates() override;
|
||||
void adjustWindow( const QRectF& ) override;
|
||||
|
||||
}; /* DrawableEllipse */
|
||||
|
||||
} } /* namespace SituationMap::RB */
|
||||
Reference in new issue
Block a user