Skip to content

Commit 00e12bc

Browse files
committedOct 9, 2017
- Increases the number of segments for QgsMapToolAddEllipse
1 parent 34433ae commit 00e12bc

File tree

5 files changed

+7
-4
lines changed

5 files changed

+7
-4
lines changed
 

‎src/app/qgsmaptooladdellipse.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void QgsMapToolAddEllipse::deactivate()
6666
}
6767

6868
mParentTool->clearCurve();
69-
mParentTool->addCurve( mEllipse.toLineString() );
69+
mParentTool->addCurve( mEllipse.toLineString( segments() ) );
7070
clean();
7171

7272
QgsMapToolCapture::deactivate();

‎src/app/qgsmaptooladdellipse.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
#include "qgsmaptoolcapture.h"
2020
#include "qgsellipse.h"
21+
#include "qgssettings.h"
2122

2223
class QgsGeometryRubberBand;
2324

@@ -49,6 +50,8 @@ class QgsMapToolAddEllipse: public QgsMapToolCapture
4950
QgsGeometryRubberBand *mTempRubberBand = nullptr;
5051
//! Ellipse
5152
QgsEllipse mEllipse;
53+
//! convenient method to return the number of segments
54+
unsigned int segments( ) { return QgsSettings().value( QStringLiteral( "/qgis/digitizing/offset_quad_seg" ), 8 ).toInt() * 12; }
5255

5356
private:
5457
//! convenient method to clean members

‎src/app/qgsmaptoolellipsecenter2points.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void QgsMapToolEllipseCenter2Points::cadCanvasMoveEvent( QgsMapMouseEvent *e )
7373
case 2:
7474
{
7575
mEllipse = QgsEllipse().fromCenter2Points( mPoints.at( 0 ), mPoints.at( 1 ), mapPoint );
76-
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
76+
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
7777
}
7878
break;
7979
default:

‎src/app/qgsmaptoolellipsecenterpoint.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ void QgsMapToolEllipseCenterPoint::cadCanvasMoveEvent( QgsMapMouseEvent *e )
5656
if ( mTempRubberBand )
5757
{
5858
mEllipse = QgsEllipse().fromCenterPoint( mPoints.at( 0 ), mapPoint );
59-
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
59+
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
6060
}
6161
}

‎src/app/qgsmaptoolellipseextent.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ void QgsMapToolEllipseExtent::cadCanvasMoveEvent( QgsMapMouseEvent *e )
6363
if ( qgsDoubleNear( mCanvas->rotation(), 0.0 ) )
6464
{
6565
mEllipse = QgsEllipse().fromExtent( mPoints.at( 0 ), mapPoint );
66-
mTempRubberBand->setGeometry( mEllipse.toPolygon() );
66+
mTempRubberBand->setGeometry( mEllipse.toPolygon( segments() ) );
6767
}
6868
else
6969
{

0 commit comments

Comments
 (0)
Please sign in to comment.