- Increases the number of segments for QgsMapToolAddEllipse

This commit is contained in:
lbartoletti 2017-10-09 23:05:16 +02:00
parent 34433ae194
commit 00e12bc303
5 changed files with 7 additions and 4 deletions

View File

@ -66,7 +66,7 @@ void QgsMapToolAddEllipse::deactivate()
}
mParentTool->clearCurve();
mParentTool->addCurve( mEllipse.toLineString() );
mParentTool->addCurve( mEllipse.toLineString( segments() ) );
clean();
QgsMapToolCapture::deactivate();

View File

@ -18,6 +18,7 @@
#include "qgsmaptoolcapture.h"
#include "qgsellipse.h"
#include "qgssettings.h"
class QgsGeometryRubberBand;
@ -49,6 +50,8 @@ class QgsMapToolAddEllipse: public QgsMapToolCapture
QgsGeometryRubberBand *mTempRubberBand = nullptr;
//! Ellipse
QgsEllipse mEllipse;
//! convenient method to return the number of segments
unsigned int segments( ) { return QgsSettings().value( QStringLiteral( "/qgis/digitizing/offset_quad_seg" ), 8 ).toInt() * 12; }
private:
//! convenient method to clean members

View File

@ -73,7 +73,7 @@ void QgsMapToolEllipseCenter2Points::cadCanvasMoveEvent( QgsMapMouseEvent *e )
case 2:
{
mEllipse = QgsEllipse().fromCenter2Points( mPoints.at( 0 ), mPoints.at( 1 ), mapPoint );
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
}
break;
default:

View File

@ -56,6 +56,6 @@ void QgsMapToolEllipseCenterPoint::cadCanvasMoveEvent( QgsMapMouseEvent *e )
if ( mTempRubberBand )
{
mEllipse = QgsEllipse().fromCenterPoint( mPoints.at( 0 ), mapPoint );
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
}
}

View File

@ -63,7 +63,7 @@ void QgsMapToolEllipseExtent::cadCanvasMoveEvent( QgsMapMouseEvent *e )
if ( qgsDoubleNear( mCanvas->rotation(), 0.0 ) )
{
mEllipse = QgsEllipse().fromExtent( mPoints.at( 0 ), mapPoint );
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
}
else
{