Skip to content

Commit ebbb94b

Browse files
raymondnijssennyalldawson
authored andcommitted
wedgebuffer constructed by qgsCircles
(cherry-picked from faaa590)
1 parent 99de233 commit ebbb94b

File tree

1 file changed

+4
-22
lines changed

1 file changed

+4
-22
lines changed

src/core/geometry/qgsgeometry.cpp

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -264,17 +264,8 @@ QgsGeometry QgsGeometry::createWedgeBuffer( const QgsPoint &center, const double
264264
{
265265
std::unique_ptr< QgsCompoundCurve > outerCc = qgis::make_unique< QgsCompoundCurve >();
266266

267-
QgsPointSequence outerPs = QgsPointSequence()
268-
<< QgsPoint( center.x(), center.y() + outerRadius )
269-
<< QgsPoint( center.x() + outerRadius, center.y() )
270-
<< QgsPoint( center.x(), center.y() - outerRadius )
271-
<< QgsPoint( center.x() - outerRadius, center.y() )
272-
<< QgsPoint( center.x(), center.y() + outerRadius );
273-
274-
QgsCircularString *outerCs = new QgsCircularString;
275-
outerCs->setPoints( outerPs );
276-
277-
outerCc->addCurve( outerCs );
267+
QgsCircle outerCircle = QgsCircle( center, outerRadius );
268+
outerCc->addCurve( outerCircle.toCircularString() );
278269

279270
std::unique_ptr< QgsCurvePolygon > cp = qgis::make_unique< QgsCurvePolygon >();
280271
cp->setExteriorRing( outerCc.release() );
@@ -283,17 +274,8 @@ QgsGeometry QgsGeometry::createWedgeBuffer( const QgsPoint &center, const double
283274
{
284275
std::unique_ptr< QgsCompoundCurve > innerCc = qgis::make_unique< QgsCompoundCurve >();
285276

286-
QgsPointSequence innerPs = QgsPointSequence()
287-
<< QgsPoint( center.x(), center.y() + innerRadius )
288-
<< QgsPoint( center.x() + innerRadius, center.y() )
289-
<< QgsPoint( center.x(), center.y() - innerRadius )
290-
<< QgsPoint( center.x() - innerRadius, center.y() )
291-
<< QgsPoint( center.x(), center.y() + innerRadius );
292-
293-
QgsCircularString *innerCs = new QgsCircularString;
294-
innerCs->setPoints( innerPs );
295-
296-
innerCc->addCurve( innerCs );
277+
QgsCircle innerCircle = QgsCircle( center, innerRadius);
278+
innerCc->addCurve( innerCircle.toCircularString() );
297279

298280
cp->setInteriorRings( { innerCc.release() } );
299281
}

0 commit comments

Comments
 (0)