Skip to content

Commit f429563

Browse files
author
jef
committed
fix msvc warning (std::vector=>QVector)
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@9091 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent cf884a1 commit f429563

File tree

2 files changed

+188
-190
lines changed

2 files changed

+188
-190
lines changed

src/core/raster/qgscolortable.cpp

+120-121
Original file line numberDiff line numberDiff line change
@@ -23,191 +23,190 @@
2323
/* compare ramps */
2424
bool compareRampSort ( const RAMP &a, const RAMP &b)
2525
{
26-
if ( a.min < b.min || a.max < b.max ) return true;
26+
if ( a.min < b.min || a.max < b.max ) return true;
2727

28-
return false;
28+
return false;
2929
}
3030

3131
bool compareRampSearch ( const RAMP &a, const RAMP &b)
3232
{
33-
if( a.max < b.min ) return true;
34-
return false;
33+
if( a.max < b.min ) return true;
34+
return false;
3535
}
3636

3737

3838
QgsColorTable::QgsColorTable ( int interp )
3939
{
40-
QgsDebugMsg("QgsColorTable::QgsColorTable()");
41-
mInterp = interp;
40+
QgsDebugMsg("QgsColorTable::QgsColorTable()");
41+
mInterp = interp;
4242
}
4343

4444
QgsColorTable::~QgsColorTable()
4545
{
4646
}
4747

48-
void QgsColorTable::add ( uint index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 )
48+
void QgsColorTable::add ( int index, unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4 )
4949
{
5050
#ifdef QGISDEBUG
51-
QgsLogger::debug("QgsColorTable::add() index", (int)index, 1, __FILE__, __FUNCTION__, __LINE__);
51+
QgsLogger::debug("QgsColorTable::add() index", (int)index, 1, __FILE__, __FUNCTION__, __LINE__);
5252
#endif
5353

54-
if ( mDiscrete.size() == 0 ) {
55-
mMin = index;
56-
mMax = index;
57-
} else {
58-
if ( index < mMin ) mMin = index;
59-
if ( index > mMax ) mMax = index;
60-
}
61-
62-
if ( mDiscrete.size() <= index ) {
63-
mDiscrete.resize ( index + 1 );
64-
}
65-
66-
mDiscrete[index].c1 = c1;
67-
mDiscrete[index].c2 = c2;
68-
mDiscrete[index].c3 = c3;
69-
mDiscrete[index].c4 = c4;
54+
if ( mDiscrete.size() == 0 ) {
55+
mMin = index;
56+
mMax = index;
57+
} else {
58+
if ( index < mMin ) mMin = index;
59+
if ( index > mMax ) mMax = index;
60+
}
61+
62+
if ( mDiscrete.size() <= index ) {
63+
mDiscrete.resize ( index + 1 );
64+
}
65+
66+
mDiscrete[index].c1 = c1;
67+
mDiscrete[index].c2 = c2;
68+
mDiscrete[index].c3 = c3;
69+
mDiscrete[index].c4 = c4;
7070
}
7171

7272
void QgsColorTable::clear()
7373
{
74-
QgsDebugMsg("QgsColorTable::clear() called ");
75-
mDiscrete.clear();
76-
mRamp.clear();
77-
mMax=0;
78-
mMin=0;
74+
QgsDebugMsg("QgsColorTable::clear() called ");
75+
mDiscrete.clear();
76+
mRamp.clear();
77+
mMax=0;
78+
mMin=0;
7979
}
8080

8181

8282
void QgsColorTable::add ( double min, double max,
83-
unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
83+
unsigned char min_c1, unsigned char min_c2, unsigned char min_c3, unsigned char min_c4,
8484
unsigned char max_c1, unsigned char max_c2, unsigned char max_c3, unsigned char max_c4 )
8585
{
86-
RAMP ramp;
86+
RAMP ramp;
8787
#ifdef QGISDEBUG
88-
QgsLogger::debug("QgsColorTable::add() min", min, 1, __FILE__, __FUNCTION__, __LINE__);
89-
QgsLogger::debug("QgsColorTable::add() max", max, 1, __FILE__, __FUNCTION__, __LINE__);
88+
QgsLogger::debug("QgsColorTable::add() min", min, 1, __FILE__, __FUNCTION__, __LINE__);
89+
QgsLogger::debug("QgsColorTable::add() max", max, 1, __FILE__, __FUNCTION__, __LINE__);
9090
#endif
9191

92-
if ( mRamp.size() == 0 ) {
93-
mMin = min;
94-
mMax = max;
95-
} else {
96-
if ( min < mMin ) mMin = min;
97-
if ( max > mMax ) mMax = max;
98-
}
99-
100-
ramp.min = min;
101-
ramp.max = max;
102-
ramp.min_c1 = min_c1;
103-
ramp.min_c2 = min_c2;
104-
ramp.min_c3 = min_c3;
105-
ramp.min_c4 = min_c4;
106-
ramp.max_c1 = max_c1;
107-
ramp.max_c2 = max_c2;
108-
ramp.max_c3 = max_c3;
109-
ramp.max_c4 = max_c4;
110-
111-
mRamp.push_back ( ramp );
92+
if ( mRamp.size() == 0 ) {
93+
mMin = min;
94+
mMax = max;
95+
} else {
96+
if ( min < mMin ) mMin = min;
97+
if ( max > mMax ) mMax = max;
98+
}
99+
100+
ramp.min = min;
101+
ramp.max = max;
102+
ramp.min_c1 = min_c1;
103+
ramp.min_c2 = min_c2;
104+
ramp.min_c3 = min_c3;
105+
ramp.min_c4 = min_c4;
106+
ramp.max_c1 = max_c1;
107+
ramp.max_c2 = max_c2;
108+
ramp.max_c3 = max_c3;
109+
ramp.max_c4 = max_c4;
110+
111+
mRamp.push_back ( ramp );
112112
}
113113

114114
bool QgsColorTable::color ( double value, int *c1, int *c2, int *c3 )
115115
{
116-
if ( mRamp.size() > 0 ) {
117-
std::vector<RAMP>::iterator it;
118-
119-
RAMP ramp;
120-
ramp.min = ramp.max = value;
121-
122-
it = std::lower_bound ( mRamp.begin(), mRamp.end(), ramp, compareRampSearch );
123-
124-
if ( it != mRamp.end() ) { // Found
125-
double k, d;
126-
d = it->max - it->min;
127-
128-
if ( d <= 0 ) {
129-
k = 0;
130-
} else {
131-
k = (value - it->min)/d;
132-
}
133-
134-
*c1 = (int) (it->min_c1 + k * (it->max_c1 - it->min_c1));
135-
*c2 = (int) (it->min_c2 + k * (it->max_c2 - it->min_c2));
136-
*c3 = (int) (it->min_c3 + k * (it->max_c3 - it->min_c3));
137-
138-
return true;
139-
}
140-
} else if ( mDiscrete.size() > 0 ) {
141-
uint index = (uint) value;
142-
if ( index < mDiscrete.size() ) {
143-
*c1 = mDiscrete[index].c1;
144-
*c2 = mDiscrete[index].c2;
145-
*c3 = mDiscrete[index].c3;
146-
return true;
147-
}
116+
if ( mRamp.size() > 0 ) {
117+
QVector<RAMP>::iterator it;
118+
119+
RAMP ramp;
120+
ramp.min = ramp.max = value;
121+
122+
it = qLowerBound ( mRamp.begin(), mRamp.end(), ramp, compareRampSearch );
123+
124+
if ( it != mRamp.end() ) { // Found
125+
double k, d;
126+
d = it->max - it->min;
127+
128+
if ( d <= 0 ) {
129+
k = 0;
130+
} else {
131+
k = (value - it->min)/d;
132+
}
133+
134+
*c1 = (int) (it->min_c1 + k * (it->max_c1 - it->min_c1));
135+
*c2 = (int) (it->min_c2 + k * (it->max_c2 - it->min_c2));
136+
*c3 = (int) (it->min_c3 + k * (it->max_c3 - it->min_c3));
137+
138+
return true;
148139
}
140+
} else if ( mDiscrete.size() > 0 ) {
141+
int index = (uint) value;
142+
if ( index < mDiscrete.size() ) {
143+
*c1 = mDiscrete[index].c1;
144+
*c2 = mDiscrete[index].c2;
145+
*c3 = mDiscrete[index].c3;
146+
return true;
147+
}
148+
}
149149

150-
*c1 = 0; *c2 = 0; *c3 = 0;
151-
return false;
150+
*c1 = 0; *c2 = 0; *c3 = 0;
151+
return false;
152152
}
153153

154154
void QgsColorTable::sort ( void )
155155
{
156-
std::sort ( mRamp.begin(), mRamp.end(), compareRampSort );
156+
qSort ( mRamp.begin(), mRamp.end(), compareRampSort );
157157
}
158158

159159
bool QgsColorTable::defined ( void )
160160
{
161-
if ( mDiscrete.size() > 0 || mRamp.size() > 0 ) {
162-
return true;
163-
}
164-
return false;
161+
if ( mDiscrete.size() > 0 || mRamp.size() > 0 ) {
162+
return true;
163+
}
164+
return false;
165165
}
166166

167167
int QgsColorTable::interpretation ( void )
168168
{
169-
return mInterp;
169+
return mInterp;
170170
}
171171

172172
double QgsColorTable::rmin ( void )
173173
{
174-
return mMin;
174+
return mMin;
175175
}
176176

177177
double QgsColorTable::rmax ( void )
178178
{
179-
return mMax;
179+
return mMax;
180180
}
181181

182182

183183
void QgsColorTable::print ( void )
184184
{
185185
#ifdef QGISDEBUG
186-
QgsLogger::debug("******** Color table ********", 1, __FILE__, __FUNCTION__, __LINE__);
187-
QgsLogger::debug("Discrete table size", (int)mDiscrete.size(), 1, __FILE__, __FUNCTION__, __LINE__);
188-
189-
for ( uint i = 0; i < mDiscrete.size(); i++ ) {
190-
QgsLogger::debug("i", (int)i, 2, __FILE__, __FUNCTION__, __LINE__);
191-
QgsLogger::debug("c1", (int) mDiscrete[i].c1, 2, __FILE__, __FUNCTION__, __LINE__);
192-
QgsLogger::debug("c2", (int) mDiscrete[i].c2, 2, __FILE__, __FUNCTION__, __LINE__);
193-
QgsLogger::debug("c3", (int) mDiscrete[i].c3, 2, __FILE__, __FUNCTION__, __LINE__);
194-
}
195-
196-
QgsLogger::debug("Ramp table size", (int)mRamp.size(), 1, __FILE__, __FUNCTION__, __LINE__);
197-
for ( uint i = 0; i < mRamp.size(); i++ ) {
198-
std::cerr << " min = " << mRamp[i].min << " max = " << mRamp[i].max
199-
<< " min_c1 = " << (int)mRamp[i].min_c1 << " min_c2 = " << (int)mRamp[i].min_c2
200-
<< " min_c3 = " << (int)mRamp[i].min_c3 << " max_c1 = " << (int)mRamp[i].max_c1
201-
<< " max_c2 = " << (int)mRamp[i].max_c2 << " max_c3 = " << (int)mRamp[i].max_c3
202-
<< std::endl;
203-
QgsLogger::debug("min", mRamp[i].min, 2, __FILE__, __FUNCTION__, __LINE__);
204-
QgsLogger::debug("min_c1", (int)mRamp[i].min_c1, 2, __FILE__, __FUNCTION__, __LINE__);
205-
QgsLogger::debug("min_c2", (int)mRamp[i].min_c2, 2, __FILE__, __FUNCTION__, __LINE__);
206-
QgsLogger::debug("min_c3", (int)mRamp[i].min_c3, 2, __FILE__, __FUNCTION__, __LINE__);
207-
QgsLogger::debug("max_c1", (int)mRamp[i].max_c1, 2, __FILE__, __FUNCTION__, __LINE__);
208-
QgsLogger::debug("max_c2", (int)mRamp[i].max_c2, 2, __FILE__, __FUNCTION__, __LINE__);
209-
QgsLogger::debug("max_c3", (int)mRamp[i].max_c3, 2, __FILE__, __FUNCTION__, __LINE__);
210-
}
186+
QgsLogger::debug("******** Color table ********", 1, __FILE__, __FUNCTION__, __LINE__);
187+
QgsLogger::debug("Discrete table size", (int)mDiscrete.size(), 1, __FILE__, __FUNCTION__, __LINE__);
188+
189+
for ( int i = 0; i < mDiscrete.size(); i++ ) {
190+
QgsLogger::debug("i", (int)i, 2, __FILE__, __FUNCTION__, __LINE__);
191+
QgsLogger::debug("c1", (int) mDiscrete[i].c1, 2, __FILE__, __FUNCTION__, __LINE__);
192+
QgsLogger::debug("c2", (int) mDiscrete[i].c2, 2, __FILE__, __FUNCTION__, __LINE__);
193+
QgsLogger::debug("c3", (int) mDiscrete[i].c3, 2, __FILE__, __FUNCTION__, __LINE__);
194+
}
195+
196+
QgsLogger::debug("Ramp table size", (int)mRamp.size(), 1, __FILE__, __FUNCTION__, __LINE__);
197+
for ( int i = 0; i < mRamp.size(); i++ ) {
198+
std::cerr << " min = " << mRamp[i].min << " max = " << mRamp[i].max
199+
<< " min_c1 = " << (int)mRamp[i].min_c1 << " min_c2 = " << (int)mRamp[i].min_c2
200+
<< " min_c3 = " << (int)mRamp[i].min_c3 << " max_c1 = " << (int)mRamp[i].max_c1
201+
<< " max_c2 = " << (int)mRamp[i].max_c2 << " max_c3 = " << (int)mRamp[i].max_c3
202+
<< std::endl;
203+
QgsLogger::debug("min", mRamp[i].min, 2, __FILE__, __FUNCTION__, __LINE__);
204+
QgsLogger::debug("min_c1", (int)mRamp[i].min_c1, 2, __FILE__, __FUNCTION__, __LINE__);
205+
QgsLogger::debug("min_c2", (int)mRamp[i].min_c2, 2, __FILE__, __FUNCTION__, __LINE__);
206+
QgsLogger::debug("min_c3", (int)mRamp[i].min_c3, 2, __FILE__, __FUNCTION__, __LINE__);
207+
QgsLogger::debug("max_c1", (int)mRamp[i].max_c1, 2, __FILE__, __FUNCTION__, __LINE__);
208+
QgsLogger::debug("max_c2", (int)mRamp[i].max_c2, 2, __FILE__, __FUNCTION__, __LINE__);
209+
QgsLogger::debug("max_c3", (int)mRamp[i].max_c3, 2, __FILE__, __FUNCTION__, __LINE__);
210+
}
211211
#endif
212212
}
213-

0 commit comments

Comments
 (0)