@@ -62,6 +62,7 @@ void QgsCircularStringV2::clear()
62
62
mZ .clear ();
63
63
mM .clear ();
64
64
mWkbType = QgsWKBTypes::Unknown;
65
+ clearCache ();
65
66
}
66
67
67
68
QgsRectangle QgsCircularStringV2::calculateBoundingBox () const
@@ -216,6 +217,7 @@ bool QgsCircularStringV2::fromWkb( QgsConstWkbPtr wkbPtr )
216
217
{
217
218
return false ;
218
219
}
220
+ clearCache ();
219
221
mWkbType = type;
220
222
221
223
// type
@@ -418,6 +420,8 @@ void QgsCircularStringV2::points( QList<QgsPointV2>& pts ) const
418
420
419
421
void QgsCircularStringV2::setPoints ( const QList<QgsPointV2>& points )
420
422
{
423
+ clearCache ();
424
+
421
425
if ( points.size () < 1 )
422
426
{
423
427
mWkbType = QgsWKBTypes::Unknown;
@@ -609,6 +613,8 @@ void QgsCircularStringV2::draw( QPainter& p ) const
609
613
610
614
void QgsCircularStringV2::transform ( const QgsCoordinateTransform& ct, QgsCoordinateTransform::TransformDirection d )
611
615
{
616
+ clearCache ();
617
+
612
618
double * zArray = mZ .data ();
613
619
614
620
bool hasZ = is3D ();
@@ -630,6 +636,8 @@ void QgsCircularStringV2::transform( const QgsCoordinateTransform& ct, QgsCoordi
630
636
631
637
void QgsCircularStringV2::transform ( const QTransform& t )
632
638
{
639
+ clearCache ();
640
+
633
641
int nPoints = numPoints ();
634
642
for ( int i = 0 ; i < nPoints; ++i )
635
643
{
@@ -788,6 +796,7 @@ void QgsCircularStringV2::deleteVertex( int i )
788
796
{
789
797
mM .remove ( i );
790
798
}
799
+ clearCache ();
791
800
}
792
801
793
802
double QgsCircularStringV2::closestSegment ( const QgsPointV2& pt, QgsPointV2& segmentPt, QgsVertexId& vertexAfter, bool * leftOf, double epsilon ) const
@@ -975,6 +984,7 @@ void QgsCircularStringV2::insertVertexBetween( int after, int before, int pointO
975
984
{
976
985
mM .insert ( before, ( mM [after] + mM [before] ) / 2.0 );
977
986
}
987
+ clearCache ();
978
988
}
979
989
980
990
double QgsCircularStringV2::vertexAngle ( QgsVertexId vId ) const
@@ -1053,6 +1063,7 @@ bool QgsCircularStringV2::addZValue( double zValue )
1053
1063
if ( QgsWKBTypes::hasZ ( mWkbType ) )
1054
1064
return false ;
1055
1065
1066
+ clearCache ();
1056
1067
mWkbType = QgsWKBTypes::addZ ( mWkbType );
1057
1068
1058
1069
int nPoints = numPoints ();
@@ -1070,6 +1081,7 @@ bool QgsCircularStringV2::addMValue( double mValue )
1070
1081
if ( QgsWKBTypes::hasM ( mWkbType ) )
1071
1082
return false ;
1072
1083
1084
+ clearCache ();
1073
1085
mWkbType = QgsWKBTypes::addM ( mWkbType );
1074
1086
1075
1087
int nPoints = numPoints ();
@@ -1087,6 +1099,8 @@ bool QgsCircularStringV2::dropZValue()
1087
1099
if ( !QgsWKBTypes::hasZ ( mWkbType ) )
1088
1100
return false ;
1089
1101
1102
+ clearCache ();
1103
+
1090
1104
mWkbType = QgsWKBTypes::dropZ ( mWkbType );
1091
1105
mZ .clear ();
1092
1106
return true ;
@@ -1097,6 +1111,8 @@ bool QgsCircularStringV2::dropMValue()
1097
1111
if ( !QgsWKBTypes::hasM ( mWkbType ) )
1098
1112
return false ;
1099
1113
1114
+ clearCache ();
1115
+
1100
1116
mWkbType = QgsWKBTypes::dropM ( mWkbType );
1101
1117
mM .clear ();
1102
1118
return true ;
0 commit comments