30
30
#include " qgslogger.h"
31
31
32
32
QgsRectangle::QgsRectangle ( double newxmin, double newymin, double newxmax, double newymax )
33
- : xmin ( newxmin )
34
- , ymin ( newymin )
35
- , xmax ( newxmax )
36
- , ymax ( newymax )
33
+ : mXmin ( newxmin )
34
+ , mYmin ( newymin )
35
+ , mXmax ( newxmax )
36
+ , mYmax ( newymax )
37
37
{
38
38
normalize ();
39
39
}
@@ -45,36 +45,36 @@ QgsRectangle::QgsRectangle( const QgsPoint &p1, const QgsPoint &p2 )
45
45
46
46
QgsRectangle::QgsRectangle ( QRectF const &qRectF )
47
47
{
48
- xmin = qRectF.topLeft ().x ();
49
- ymin = qRectF.topLeft ().y ();
50
- xmax = qRectF.bottomRight ().x ();
51
- ymax = qRectF.bottomRight ().y ();
48
+ mXmin = qRectF.topLeft ().x ();
49
+ mYmin = qRectF.topLeft ().y ();
50
+ mXmax = qRectF.bottomRight ().x ();
51
+ mYmax = qRectF.bottomRight ().y ();
52
52
}
53
53
54
54
QgsRectangle::QgsRectangle ( const QgsRectangle &r )
55
55
{
56
- xmin = r.xMinimum ();
57
- ymin = r.yMinimum ();
58
- xmax = r.xMaximum ();
59
- ymax = r.yMaximum ();
56
+ mXmin = r.xMinimum ();
57
+ mYmin = r.yMinimum ();
58
+ mXmax = r.xMaximum ();
59
+ mYmax = r.yMaximum ();
60
60
}
61
61
62
62
63
63
void QgsRectangle::set ( const QgsPoint &p1, const QgsPoint &p2 )
64
64
{
65
- xmin = p1.x ();
66
- xmax = p2.x ();
67
- ymin = p1.y ();
68
- ymax = p2.y ();
65
+ mXmin = p1.x ();
66
+ mXmax = p2.x ();
67
+ mYmin = p1.y ();
68
+ mYmax = p2.y ();
69
69
normalize ();
70
70
}
71
71
72
72
void QgsRectangle::set ( double xmin_, double ymin_, double xmax_, double ymax_ )
73
73
{
74
- xmin = xmin_;
75
- ymin = ymin_;
76
- xmax = xmax_;
77
- ymax = ymax_;
74
+ mXmin = xmin_;
75
+ mYmin = ymin_;
76
+ mXmax = xmax_;
77
+ mYmax = ymax_;
78
78
normalize ();
79
79
}
80
80
@@ -83,23 +83,23 @@ void QgsRectangle::normalize()
83
83
if ( isNull () )
84
84
return ;
85
85
86
- if ( xmin > xmax )
86
+ if ( mXmin > mXmax )
87
87
{
88
- std::swap ( xmin, xmax );
88
+ std::swap ( mXmin , mXmax );
89
89
}
90
- if ( ymin > ymax )
90
+ if ( mYmin > mYmax )
91
91
{
92
- std::swap ( ymin, ymax );
92
+ std::swap ( mYmin , mYmax );
93
93
}
94
94
} // QgsRectangle::normalize()
95
95
96
96
97
97
void QgsRectangle::setMinimal ()
98
98
{
99
- xmin = std::numeric_limits<double >::max ();
100
- ymin = std::numeric_limits<double >::max ();
101
- xmax = -std::numeric_limits<double >::max ();
102
- ymax = -std::numeric_limits<double >::max ();
99
+ mXmin = std::numeric_limits<double >::max ();
100
+ mYmin = std::numeric_limits<double >::max ();
101
+ mXmax = -std::numeric_limits<double >::max ();
102
+ mYmax = -std::numeric_limits<double >::max ();
103
103
}
104
104
105
105
void QgsRectangle::scale ( double scaleFactor, const QgsPoint *cp )
@@ -113,8 +113,8 @@ void QgsRectangle::scale( double scaleFactor, const QgsPoint *cp )
113
113
}
114
114
else
115
115
{
116
- centerX = xmin + width () / 2 ;
117
- centerY = ymin + height () / 2 ;
116
+ centerX = mXmin + width () / 2 ;
117
+ centerY = mYmin + height () / 2 ;
118
118
}
119
119
scale ( scaleFactor, centerX, centerY );
120
120
}
@@ -123,18 +123,18 @@ void QgsRectangle::scale( double scaleFactor, double centerX, double centerY )
123
123
{
124
124
double newWidth = width () * scaleFactor;
125
125
double newHeight = height () * scaleFactor;
126
- xmin = centerX - newWidth / 2.0 ;
127
- xmax = centerX + newWidth / 2.0 ;
128
- ymin = centerY - newHeight / 2.0 ;
129
- ymax = centerY + newHeight / 2.0 ;
126
+ mXmin = centerX - newWidth / 2.0 ;
127
+ mXmax = centerX + newWidth / 2.0 ;
128
+ mYmin = centerY - newHeight / 2.0 ;
129
+ mYmax = centerY + newHeight / 2.0 ;
130
130
}
131
131
132
132
void QgsRectangle::grow ( double delta )
133
133
{
134
- xmin -= delta;
135
- xmax += delta;
136
- ymin -= delta;
137
- ymax += delta;
134
+ mXmin -= delta;
135
+ mXmax += delta;
136
+ mYmin -= delta;
137
+ mYmax += delta;
138
138
}
139
139
140
140
void QgsRectangle::include ( const QgsPoint &p )
@@ -151,7 +151,7 @@ void QgsRectangle::include( const QgsPoint &p )
151
151
152
152
QgsRectangle QgsRectangle::buffer ( double width )
153
153
{
154
- return QgsRectangle ( xmin - width, ymin - width, xmax + width, ymax + width );
154
+ return QgsRectangle ( mXmin - width, mYmin - width, mXmax + width, mYmax + width );
155
155
}
156
156
157
157
QgsRectangle QgsRectangle::intersect ( const QgsRectangle *rect ) const
@@ -163,35 +163,35 @@ QgsRectangle QgsRectangle::intersect( const QgsRectangle *rect ) const
163
163
return intersection;
164
164
}
165
165
166
- intersection.setXMinimum ( xmin > rect->xMinimum () ? xmin : rect->xMinimum () );
167
- intersection.setXMaximum ( xmax < rect->xMaximum () ? xmax : rect->xMaximum () );
168
- intersection.setYMinimum ( ymin > rect->yMinimum () ? ymin : rect->yMinimum () );
169
- intersection.setYMaximum ( ymax < rect->yMaximum () ? ymax : rect->yMaximum () );
166
+ intersection.setXMinimum ( mXmin > rect->xMinimum () ? mXmin : rect->xMinimum () );
167
+ intersection.setXMaximum ( mXmax < rect->xMaximum () ? mXmax : rect->xMaximum () );
168
+ intersection.setYMinimum ( mYmin > rect->yMinimum () ? mYmin : rect->yMinimum () );
169
+ intersection.setYMaximum ( mYmax < rect->yMaximum () ? mYmax : rect->yMaximum () );
170
170
return intersection;
171
171
}
172
172
173
173
bool QgsRectangle::intersects ( const QgsRectangle &rect ) const
174
174
{
175
- double x1 = ( xmin > rect.xmin ? xmin : rect.xmin );
176
- double x2 = ( xmax < rect.xmax ? xmax : rect.xmax );
175
+ double x1 = ( mXmin > rect.mXmin ? mXmin : rect.mXmin );
176
+ double x2 = ( mXmax < rect.mXmax ? mXmax : rect.mXmax );
177
177
if ( x1 > x2 )
178
178
return false ;
179
- double y1 = ( ymin > rect.ymin ? ymin : rect.ymin );
180
- double y2 = ( ymax < rect.ymax ? ymax : rect.ymax );
179
+ double y1 = ( mYmin > rect.mYmin ? mYmin : rect.mYmin );
180
+ double y2 = ( mYmax < rect.mYmax ? mYmax : rect.mYmax );
181
181
if ( y1 > y2 )
182
182
return false ;
183
183
return true ;
184
184
}
185
185
186
186
bool QgsRectangle::contains ( const QgsRectangle &rect ) const
187
187
{
188
- return ( rect.xmin >= xmin && rect.xmax <= xmax && rect.ymin >= ymin && rect.ymax <= ymax );
188
+ return ( rect.mXmin >= mXmin && rect.mXmax <= mXmax && rect.mYmin >= mYmin && rect.mYmax <= mYmax );
189
189
}
190
190
191
191
bool QgsRectangle::contains ( const QgsPoint &p ) const
192
192
{
193
- return xmin <= p.x () && p.x () <= xmax &&
194
- ymin <= p.y () && p.y () <= ymax ;
193
+ return mXmin <= p.x () && p.x () <= mXmax &&
194
+ mYmin <= p.y () && p.y () <= mYmax ;
195
195
}
196
196
197
197
void QgsRectangle::combineExtentWith ( const QgsRectangle &rect )
@@ -200,11 +200,11 @@ void QgsRectangle::combineExtentWith( const QgsRectangle &rect )
200
200
*this = rect;
201
201
else
202
202
{
203
- xmin = ( ( xmin < rect.xMinimum () ) ? xmin : rect.xMinimum () );
204
- xmax = ( ( xmax > rect.xMaximum () ) ? xmax : rect.xMaximum () );
203
+ mXmin = ( ( mXmin < rect.xMinimum () ) ? mXmin : rect.xMinimum () );
204
+ mXmax = ( ( mXmax > rect.xMaximum () ) ? mXmax : rect.xMaximum () );
205
205
206
- ymin = ( ( ymin < rect.yMinimum () ) ? ymin : rect.yMinimum () );
207
- ymax = ( ( ymax > rect.yMaximum () ) ? ymax : rect.yMaximum () );
206
+ mYmin = ( ( mYmin < rect.yMinimum () ) ? mYmin : rect.yMinimum () );
207
+ mYmax = ( ( mYmax > rect.yMaximum () ) ? mYmax : rect.yMaximum () );
208
208
}
209
209
210
210
}
@@ -215,32 +215,32 @@ void QgsRectangle::combineExtentWith( double x, double y )
215
215
*this = QgsRectangle ( x, y, x, y );
216
216
else
217
217
{
218
- xmin = ( ( xmin < x ) ? xmin : x );
219
- xmax = ( ( xmax > x ) ? xmax : x );
218
+ mXmin = ( ( mXmin < x ) ? mXmin : x );
219
+ mXmax = ( ( mXmax > x ) ? mXmax : x );
220
220
221
- ymin = ( ( ymin < y ) ? ymin : y );
222
- ymax = ( ( ymax > y ) ? ymax : y );
221
+ mYmin = ( ( mYmin < y ) ? mYmin : y );
222
+ mYmax = ( ( mYmax > y ) ? mYmax : y );
223
223
}
224
224
}
225
225
226
226
bool QgsRectangle::isEmpty () const
227
227
{
228
- return xmax <= xmin || ymax <= ymin ;
228
+ return mXmax <= mXmin || mYmax <= mYmin ;
229
229
}
230
230
231
231
bool QgsRectangle::isNull () const
232
232
{
233
233
// rectangle created QgsRectangle() or with rect.setMinimal() ?
234
- return ( qgsDoubleNear ( xmin , 0.0 ) && qgsDoubleNear ( xmax , 0.0 ) && qgsDoubleNear ( ymin , 0.0 ) && qgsDoubleNear ( ymax , 0.0 ) ) ||
235
- ( qgsDoubleNear ( xmin , std::numeric_limits<double >::max () ) && qgsDoubleNear ( ymin , std::numeric_limits<double >::max () ) &&
236
- qgsDoubleNear ( xmax , -std::numeric_limits<double >::max () ) && qgsDoubleNear ( ymax , -std::numeric_limits<double >::max () ) );
234
+ return ( qgsDoubleNear ( mXmin , 0.0 ) && qgsDoubleNear ( mXmax , 0.0 ) && qgsDoubleNear ( mYmin , 0.0 ) && qgsDoubleNear ( mYmax , 0.0 ) ) ||
235
+ ( qgsDoubleNear ( mXmin , std::numeric_limits<double >::max () ) && qgsDoubleNear ( mYmin , std::numeric_limits<double >::max () ) &&
236
+ qgsDoubleNear ( mXmax , -std::numeric_limits<double >::max () ) && qgsDoubleNear ( mYmax , -std::numeric_limits<double >::max () ) );
237
237
}
238
238
239
239
QString QgsRectangle::asWktCoordinates () const
240
240
{
241
241
QString rep =
242
- qgsDoubleToString ( xmin ) + ' ' + qgsDoubleToString ( ymin ) + " , " +
243
- qgsDoubleToString ( xmax ) + ' ' + qgsDoubleToString ( ymax );
242
+ qgsDoubleToString ( mXmin ) + ' ' + qgsDoubleToString ( mYmin ) + " , " +
243
+ qgsDoubleToString ( mXmax ) + ' ' + qgsDoubleToString ( mYmax );
244
244
245
245
return rep;
246
246
}
@@ -249,19 +249,19 @@ QString QgsRectangle::asWktPolygon() const
249
249
{
250
250
QString rep =
251
251
QStringLiteral ( " POLYGON((" ) +
252
- qgsDoubleToString ( xmin ) + ' ' + qgsDoubleToString ( ymin ) + " , " +
253
- qgsDoubleToString ( xmax ) + ' ' + qgsDoubleToString ( ymin ) + " , " +
254
- qgsDoubleToString ( xmax ) + ' ' + qgsDoubleToString ( ymax ) + " , " +
255
- qgsDoubleToString ( xmin ) + ' ' + qgsDoubleToString ( ymax ) + " , " +
256
- qgsDoubleToString ( xmin ) + ' ' + qgsDoubleToString ( ymin ) +
252
+ qgsDoubleToString ( mXmin ) + ' ' + qgsDoubleToString ( mYmin ) + " , " +
253
+ qgsDoubleToString ( mXmax ) + ' ' + qgsDoubleToString ( mYmin ) + " , " +
254
+ qgsDoubleToString ( mXmax ) + ' ' + qgsDoubleToString ( mYmax ) + " , " +
255
+ qgsDoubleToString ( mXmin ) + ' ' + qgsDoubleToString ( mYmax ) + " , " +
256
+ qgsDoubleToString ( mXmin ) + ' ' + qgsDoubleToString ( mYmin ) +
257
257
QStringLiteral ( " ))" );
258
258
259
259
return rep;
260
260
}
261
261
262
262
QRectF QgsRectangle::toRectF () const
263
263
{
264
- return QRectF ( static_cast < qreal >( xmin ), static_cast < qreal >( ymin ), static_cast < qreal >( xmax - xmin ), static_cast < qreal >( ymax - ymin ) );
264
+ return QRectF ( static_cast < qreal >( mXmin ), static_cast < qreal >( mYmin ), static_cast < qreal >( mXmax - mXmin ), static_cast < qreal >( mYmax - mYmin ) );
265
265
}
266
266
267
267
// Returns a string representation of form xmin,ymin : xmax,ymax. Coordinates will be truncated
@@ -287,10 +287,10 @@ QString QgsRectangle::toString( int precision ) const
287
287
rep = QStringLiteral ( " Empty" );
288
288
else
289
289
rep = QStringLiteral ( " %1,%2 : %3,%4" )
290
- .arg ( xmin , 0 , ' f' , precision )
291
- .arg ( ymin , 0 , ' f' , precision )
292
- .arg ( xmax , 0 , ' f' , precision )
293
- .arg ( ymax , 0 , ' f' , precision );
290
+ .arg ( mXmin , 0 , ' f' , precision )
291
+ .arg ( mYmin , 0 , ' f' , precision )
292
+ .arg ( mXmax , 0 , ' f' , precision )
293
+ .arg ( mYmax , 0 , ' f' , precision );
294
294
295
295
QgsDebugMsgLevel ( QString ( " Extents : %1" ).arg ( rep ), 4 );
296
296
@@ -312,11 +312,11 @@ QString QgsRectangle::asPolygon() const
312
312
// NOTE: a polygon isn't a polygon unless its closed. In the case of
313
313
// a rectangle, that means 5 points (last == first)
314
314
foo
315
- << xmin << ' ' << ymin << " , "
316
- << xmin << ' ' << ymax << " , "
317
- << xmax << ' ' << ymax << " , "
318
- << xmax << ' ' << ymin << " , "
319
- << xmin << ' ' << ymin ;
315
+ << mXmin << ' ' << mYmin << " , "
316
+ << mXmin << ' ' << mYmax << " , "
317
+ << mXmax << ' ' << mYmax << " , "
318
+ << mXmax << ' ' << mYmin << " , "
319
+ << mXmin << ' ' << mYmin ;
320
320
321
321
return rep;
322
322
@@ -342,10 +342,10 @@ QgsRectangle &QgsRectangle::operator=( const QgsRectangle &r )
342
342
{
343
343
if ( &r != this )
344
344
{
345
- xmax = r.xMaximum ();
346
- xmin = r.xMinimum ();
347
- ymax = r.yMaximum ();
348
- ymin = r.yMinimum ();
345
+ mXmax = r.xMaximum ();
346
+ mXmin = r.xMinimum ();
347
+ mYmax = r.yMaximum ();
348
+ mYmin = r.yMinimum ();
349
349
}
350
350
351
351
return *this ;
@@ -366,11 +366,11 @@ void QgsRectangle::unionRect( const QgsRectangle &r )
366
366
367
367
bool QgsRectangle::isFinite () const
368
368
{
369
- if ( qIsInf ( xmin ) || qIsInf ( ymin ) || qIsInf ( xmax ) || qIsInf ( ymax ) )
369
+ if ( qIsInf ( mXmin ) || qIsInf ( mYmin ) || qIsInf ( mXmax ) || qIsInf ( mYmax ) )
370
370
{
371
371
return false ;
372
372
}
373
- if ( qIsNaN ( xmin ) || qIsNaN ( ymin ) || qIsNaN ( xmax ) || qIsNaN ( ymax ) )
373
+ if ( qIsNaN ( mXmin ) || qIsNaN ( mYmin ) || qIsNaN ( mXmax ) || qIsNaN ( mYmax ) )
374
374
{
375
375
return false ;
376
376
}
@@ -380,12 +380,12 @@ bool QgsRectangle::isFinite() const
380
380
void QgsRectangle::invert ()
381
381
{
382
382
double tmp;
383
- tmp = xmin ;
384
- xmin = ymin ;
385
- ymin = tmp;
386
- tmp = xmax ;
387
- xmax = ymax ;
388
- ymax = tmp;
383
+ tmp = mXmin ;
384
+ mXmin = mYmin ;
385
+ mYmin = tmp;
386
+ tmp = mXmax ;
387
+ mXmax = mYmax ;
388
+ mYmax = tmp;
389
389
}
390
390
391
391
QDataStream &operator <<( QDataStream &out, const QgsRectangle &rectangle )
0 commit comments