void QgsMapToolCapture::setPoints( const QList<QgsPoint>& pointList ) { QList<QgsPointV2> pts; QgsGeometry::convertPointList( pointList, pts ); QgsLineStringV2* line = new QgsLineStringV2(); line->setPoints( pts ); mCaptureCurve.clear(); mCaptureCurve.addCurve( line ); }
int QgsVectorLayerEditUtils::addRing( const QList<QgsPoint>& ring, const QgsFeatureIds& targetFeatureIds, QgsFeatureId* modifiedFeatureId ) { QgsLineStringV2* ringLine = new QgsLineStringV2(); QList< QgsPointV2 > ringPoints; QList<QgsPoint>::const_iterator ringIt = ring.constBegin(); for ( ; ringIt != ring.constEnd(); ++ringIt ) { ringPoints.append( QgsPointV2( ringIt->x(), ringIt->y() ) ); } ringLine->setPoints( ringPoints ); return addRing( ringLine, targetFeatureIds, modifiedFeatureId ); }
QgsLineStringV2* QgsGeometryImport::linestringFromPolyline( const QgsPolyline& polyline ) { QgsLineStringV2* line = new QgsLineStringV2(); QList<QgsPointV2> points; QgsPolyline::const_iterator it = polyline.constBegin(); for ( ; it != polyline.constEnd(); ++it ) { points.append( QgsPointV2( it->x(), it->y() ) ); } line->setPoints( points ); return line; }
QgsLineStringV2* QgsCircularStringV2::curveToLine( double tolerance, SegmentationToleranceType toleranceType ) const { QgsLineStringV2* line = new QgsLineStringV2(); QgsPointSequenceV2 points; int nPoints = numPoints(); for ( int i = 0; i < ( nPoints - 2 ) ; i += 2 ) { segmentize( pointN( i ), pointN( i + 1 ), pointN( i + 2 ), points, tolerance, toleranceType ); } line->setPoints( points ); return line; }