📄 qwt__plot__spectrogram_8cpp-source.html
字号:
<a name="l00170"></a>00170 {<a name="l00171"></a>00171 <span class="keywordflow">if</span> ( on )<a name="l00172"></a>00172 d_data->displayMode |= mode;<a name="l00173"></a>00173 <span class="keywordflow">else</span><a name="l00174"></a>00174 d_data->displayMode &= ~mode;<a name="l00175"></a>00175 }<a name="l00176"></a>00176 <a name="l00177"></a>00177 <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00178"></a>00178 }<a name="l00179"></a>00179 <a name="l00186"></a><a class="code" href="class_qwt_plot_spectrogram.html#292ec25eb59adaedf90eef45e98f4d38">00186</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_plot_spectrogram.html#292ec25eb59adaedf90eef45e98f4d38">QwtPlotSpectrogram::testDisplayMode</a>(<a class="code" href="class_qwt_plot_spectrogram.html#7f4904fe68b442d0f93040ea1fa1d062">DisplayMode</a> mode)<span class="keyword"> const</span><a name="l00187"></a>00187 <span class="keyword"></span>{<a name="l00188"></a>00188 <span class="keywordflow">return</span> (d_data->displayMode & mode);<a name="l00189"></a>00189 }<a name="l00190"></a>00190 <a name="l00202"></a><a class="code" href="class_qwt_plot_spectrogram.html#cafcf790efcc9488acdfb941c1532c59">00202</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_spectrogram.html#cafcf790efcc9488acdfb941c1532c59">QwtPlotSpectrogram::setColorMap</a>(<span class="keyword">const</span> <a class="code" href="class_qwt_color_map.html">QwtColorMap</a> &colorMap)<a name="l00203"></a>00203 {<a name="l00204"></a>00204 <span class="keyword">delete</span> d_data->colorMap;<a name="l00205"></a>00205 d_data->colorMap = <a class="code" href="class_qwt_plot_spectrogram.html#ad8de9bc57b7e3e7366a67d55ad8e012">colorMap</a>.<a class="code" href="class_qwt_color_map.html#97c746ff74f5fe96867dde5bde3e23f5">copy</a>();<a name="l00206"></a>00206 <a name="l00207"></a>00207 <a class="code" href="class_qwt_plot_raster_item.html#547ce4d8d031b230226cfbd509ef65b5">invalidateCache</a>();<a name="l00208"></a>00208 <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00209"></a>00209 }<a name="l00210"></a>00210 <a name="l00215"></a><a class="code" href="class_qwt_plot_spectrogram.html#ad8de9bc57b7e3e7366a67d55ad8e012">00215</a> <span class="keyword">const</span> <a class="code" href="class_qwt_color_map.html">QwtColorMap</a> &<a class="code" href="class_qwt_plot_spectrogram.html#ad8de9bc57b7e3e7366a67d55ad8e012">QwtPlotSpectrogram::colorMap</a>()<span class="keyword"> const</span><a name="l00216"></a>00216 <span class="keyword"></span>{<a name="l00217"></a>00217 <span class="keywordflow">return</span> *d_data->colorMap;<a name="l00218"></a>00218 }<a name="l00219"></a>00219 <a name="l00230"></a><a class="code" href="class_qwt_plot_spectrogram.html#fa3dea62acc8e5607e84bff8f50804b8">00230</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_spectrogram.html#fa3dea62acc8e5607e84bff8f50804b8">QwtPlotSpectrogram::setDefaultContourPen</a>(<span class="keyword">const</span> QPen &pen)<a name="l00231"></a>00231 {<a name="l00232"></a>00232 <span class="keywordflow">if</span> ( pen != d_data->defaultContourPen )<a name="l00233"></a>00233 {<a name="l00234"></a>00234 d_data->defaultContourPen = pen;<a name="l00235"></a>00235 <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00236"></a>00236 }<a name="l00237"></a>00237 }<a name="l00238"></a>00238 <a name="l00243"></a><a class="code" href="class_qwt_plot_spectrogram.html#0b5964a44f4c0ed0139681c6873ada73">00243</a> QPen <a class="code" href="class_qwt_plot_spectrogram.html#0b5964a44f4c0ed0139681c6873ada73">QwtPlotSpectrogram::defaultContourPen</a>()<span class="keyword"> const</span><a name="l00244"></a>00244 <span class="keyword"></span>{<a name="l00245"></a>00245 <span class="keywordflow">return</span> d_data->defaultContourPen;<a name="l00246"></a>00246 }<a name="l00247"></a>00247 <a name="l00259"></a><a class="code" href="class_qwt_plot_spectrogram.html#9c5c16fcda0422739c5393e42be5af37">00259</a> QPen <a class="code" href="class_qwt_plot_spectrogram.html#9c5c16fcda0422739c5393e42be5af37">QwtPlotSpectrogram::contourPen</a>(<span class="keywordtype">double</span> level)<span class="keyword"> const</span><a name="l00260"></a>00260 <span class="keyword"></span>{<a name="l00261"></a>00261 <span class="keyword">const</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> intensityRange = d_data->data->range();<a name="l00262"></a>00262 <span class="keyword">const</span> QColor c(d_data->colorMap->rgb(intensityRange, level));<a name="l00263"></a>00263 <a name="l00264"></a>00264 <span class="keywordflow">return</span> QPen(c);<a name="l00265"></a>00265 }<a name="l00266"></a>00266 <a name="l00276"></a><a class="code" href="class_qwt_plot_spectrogram.html#9cac5e8fbab6e98382e5ec68ac9e4fd8">00276</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_spectrogram.html#9cac5e8fbab6e98382e5ec68ac9e4fd8">QwtPlotSpectrogram::setConrecAttribute</a>(<a name="l00277"></a>00277 <a class="code" href="class_qwt_raster_data.html#8be376c4015dcb4adc207316bccf1140">QwtRasterData::ConrecAttribute</a> attribute, <span class="keywordtype">bool</span> on)<a name="l00278"></a>00278 {<a name="l00279"></a>00279 <span class="keywordflow">if</span> ( <span class="keywordtype">bool</span>(d_data->conrecAttributes & attribute) == on )<a name="l00280"></a>00280 <span class="keywordflow">return</span>;<a name="l00281"></a>00281 <a name="l00282"></a>00282 <span class="keywordflow">if</span> ( on )<a name="l00283"></a>00283 d_data->conrecAttributes |= attribute;<a name="l00284"></a>00284 <span class="keywordflow">else</span><a name="l00285"></a>00285 d_data->conrecAttributes &= ~attribute;<a name="l00286"></a>00286 <a name="l00287"></a>00287 <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00288"></a>00288 }<a name="l00289"></a>00289 <a name="l00299"></a><a class="code" href="class_qwt_plot_spectrogram.html#b25b1bf7c653aae8b0b7121c1b5855f0">00299</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_plot_spectrogram.html#b25b1bf7c653aae8b0b7121c1b5855f0">QwtPlotSpectrogram::testConrecAttribute</a>(<a name="l00300"></a>00300 <a class="code" href="class_qwt_raster_data.html#8be376c4015dcb4adc207316bccf1140">QwtRasterData::ConrecAttribute</a> attribute)<span class="keyword"> const</span><a name="l00301"></a>00301 <span class="keyword"></span>{ <a name="l00302"></a>00302 <span class="keywordflow">return</span> d_data->conrecAttributes & attribute;<a name="l00303"></a>00303 }<a name="l00304"></a>00304 <a name="l00313"></a><a class="code" href="class_qwt_plot_spectrogram.html#6703dd9e8806258cd8544f90a735e459">00313</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_spectrogram.html#6703dd9e8806258cd8544f90a735e459">QwtPlotSpectrogram::setContourLevels</a>(<span class="keyword">const</span> QwtValueList &levels)<a name="l00314"></a>00314 {<a name="l00315"></a>00315 d_data->contourLevels = levels;<a name="l00316"></a>00316 <span class="preprocessor">#if QT_VERSION >= 0x040000</span><a name="l00317"></a>00317 <span class="preprocessor"></span> qSort(d_data->contourLevels);<a name="l00318"></a>00318 <span class="preprocessor">#else</span><a name="l00319"></a>00319 <span class="preprocessor"></span> qHeapSort(d_data->contourLevels);<a name="l00320"></a>00320 <span class="preprocessor">#endif</span><a name="l00321"></a>00321 <span class="preprocessor"></span> <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00322"></a>00322 }<a name="l00323"></a>00323 <a name="l00331"></a><a class="code" href="class_qwt_plot_spectrogram.html#235c93eb3ca7e6d4a669330c39fdb0f1">00331</a> QwtValueList <a class="code" href="class_qwt_plot_spectrogram.html#235c93eb3ca7e6d4a669330c39fdb0f1">QwtPlotSpectrogram::contourLevels</a>()<span class="keyword"> const</span><a name="l00332"></a>00332 <span class="keyword"></span>{<a name="l00333"></a>00333 <span class="keywordflow">return</span> d_data->contourLevels;<a name="l00334"></a>00334 }<a name="l00335"></a>00335 <a name="l00342"></a><a class="code" href="class_qwt_plot_spectrogram.html#72c5c1424b3dd6a391c7944994e30978">00342</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_spectrogram.html#72c5c1424b3dd6a391c7944994e30978">QwtPlotSpectrogram::setData</a>(<span class="keyword">const</span> <a class="code" href="class_qwt_raster_data.html">QwtRasterData</a> &data)<a name="l00343"></a>00343 {<a name="l00344"></a>00344 <span class="keyword">delete</span> d_data->data;<a name="l00345"></a>00345 d_data->data = <a class="code" href="class_qwt_plot_spectrogram.html#459af4973da43510b27d57494770fb14">data</a>.<a class="code" href="class_qwt_raster_data.html#6abfdbd4707ca4095ed6b51584a5c504">copy</a>();<a name="l00346"></a>00346 <a name="l00347"></a>00347 <a class="code" href="class_qwt_plot_raster_item.html#547ce4d8d031b230226cfbd509ef65b5">invalidateCache</a>();<a name="l00348"></a>00348 <a class="code" href="class_qwt_plot_item.html#d956fdbce5b0721abccce6d09fe4d5ce">itemChanged</a>();<a name="l00349"></a>00349 }<a name="l00350"></a>00350 <a name="l00355"></a><a class="code" href="class_qwt_plot_spectrogram.html#459af4973da43510b27d57494770fb14">00355</a> <span class="keyword">const</span> <a class="code" href="class_qwt_raster_data.html">QwtRasterData</a> &<a class="code" href="class_qwt_plot_spectrogram.html#459af4973da43510b27d57494770fb14">QwtPlotSpectrogram::data</a>()<span class="keyword"> const</span><a name="l00356"></a>00356 <span class="keyword"></span>{<a name="l00357"></a>00357 <span class="keywordflow">return</span> *d_data->data;<a name="l00358"></a>00358 }<a name="l00359"></a>00359 <a name="l00364"></a><a class="code" href="class_qwt_plot_spectrogram.html#fb7eb7696bacd9235c5aeece2a652659">00364</a> QwtDoubleRect <a class="code" href="class_qwt_plot_spectrogram.html#fb7eb7696bacd9235c5aeece2a652659">QwtPlotSpectrogram::boundingRect</a>()<span class="keyword"> const</span><a name="l00365"></a>00365 <span class="keyword"></span>{<a name="l00366"></a>00366 <span class="keywordflow">return</span> d_data->data->boundingRect();<a name="l00367"></a>00367 }<a name="l00368"></a>00368 <a name="l00378"></a><a class="code" href="class_qwt_plot_spectrogram.html#4e59ddce72db5df3d0be3986e74ab1f7">00378</a> QSize <a class="code" href="class_qwt_plot_spectrogram.html#4e59ddce72db5df3d0be3986e74ab1f7">QwtPlotSpectrogram::rasterHint</a>(<span class="keyword">const</span> QwtDoubleRect &rect)<span class="keyword"> const</span><a name="l00379"></a>00379 <span class="keyword"></span>{<a name="l00380"></a>00380 <span class="keywordflow">return</span> d_data->data->rasterHint(rect);<a name="l00381"></a>00381 }<a name="l00382"></a>00382 <a name="l00400"></a><a class="code" href="class_qwt_plot_spectrogram.html#698a7039b51fa259c39bd93a64743eea">00400</a> QImage <a class="code" href="class_qwt_plot_spectrogram.html#698a7039b51fa259c39bd93a64743eea">QwtPlotSpectrogram::renderImage</a>(<a name="l00401"></a>00401 <span class="keyword">const</span> <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &xMap, <span class="keyword">const</span> <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &yMap, <a name="l00402"></a>00402 <span class="keyword">const</span> QwtDoubleRect &area)<span class="keyword"> const</span><a name="l00403"></a>00403 <span class="keyword"></span>{<a name="l00404"></a>00404 <span class="keywordflow">if</span> ( area.isEmpty() )<a name="l00405"></a>00405 <span class="keywordflow">return</span> QImage();<a name="l00406"></a>00406 <a name="l00407"></a>00407 QRect rect = <a class="code" href="class_qwt_plot_item.html#ce79adb7c901ef5d729dba35265096c2">transform</a>(xMap, yMap, area);<a name="l00408"></a>00408 <a name="l00409"></a>00409 <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> xxMap = xMap;<a name="l00410"></a>00410 <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> yyMap = yMap;<a name="l00411"></a>00411 <a name="l00412"></a>00412 <span class="keyword">const</span> QSize res = d_data->data->rasterHint(area);<a name="l00413"></a>00413 <span class="keywordflow">if</span> ( res.isValid() )<a name="l00414"></a>00414 {<a name="l00415"></a>00415 <span class="comment">/*</span><a name="l00416"></a>00416 <span class="comment"> It is useless to render an image with a higher resolution</span><a name="l00417"></a>00417 <span class="comment"> than the data offers. Of course someone will have to</span><a name="l00418"></a>00418 <span class="comment"> scale this image later into the size of the given rect, but f.e.</span><a name="l00419"></a>00419 <span class="comment"> in case of postscript this will done on the printer.</span><a name="l00420"></a>00420 <span class="comment"> */</span><a name="l00421"></a>00421 rect.setSize(rect.size().boundedTo(res));<a name="l00422"></a>00422 <a name="l00423"></a>00423 <span class="keywordtype">int</span> px1 = rect.x();<a name="l00424"></a>00424 <span class="keywordtype">int</span> px2 = rect.x() + rect.width();<a name="l00425"></a>00425 <span class="keywordflow">if</span> ( xMap.<a class="code" href="class_qwt_scale_map.html#c1ca2f9b4643d27fde693cc98bca0cd7">p1</a>() > xMap.<a class="code" href="class_qwt_scale_map.html#cf404215292b10bd46b1089d2452b8e9">p2</a>() )<a name="l00426"></a>00426 qSwap(px1, px2);<a name="l00427"></a>00427 <a name="l00428"></a>00428 <span class="keywordtype">double</span> sx1 = area.x();<a name="l00429"></a>00429 <span class="keywordtype">double</span> sx2 = area.x() + area.width();<a name="l00430"></a>00430 <span class="keywordflow">if</span> ( xMap.<a class="code" href="class_qwt_scale_map.html#38b6a7040cd15a427f7631afa20cbad8">s1</a>() > xMap.<a class="code" href="class_qwt_scale_map.html#644fe199eecf30fcd1803be554cd21f7">s2</a>() )<a name="l00431"></a>00431 qSwap(sx1, sx2);<a name="l00432"></a>00432 <a name="l00433"></a>00433 <span class="keywordtype">int</span> py1 = rect.y();<a name="l00434"></a>00434 <span class="keywordtype">int</span> py2 = rect.y() + rect.height();<a name="l00435"></a>00435 <span class="keywordflow">if</span> ( yMap.<a class="code" href="class_qwt_scale_map.html#c1ca2f9b4643d27fde693cc98bca0cd7">p1</a>() > yMap.<a class="code" href="class_qwt_scale_map.html#cf404215292b10bd46b1089d2452b8e9">p2</a>() )<a name="l00436"></a>00436 qSwap(py1, py2);<a name="l00437"></a>00437 <a name="l00438"></a>00438 <span class="keywordtype">double</span> sy1 = area.y();<a name="l00439"></a>00439 <span class="keywordtype">double</span> sy2 = area.y() + area.height();<a name="l00440"></a>00440 <span class="keywordflow">if</span> ( yMap.<a class="code" href="class_qwt_scale_map.html#38b6a7040cd15a427f7631afa20cbad8">s1</a>() > yMap.<a class="code" href="class_qwt_scale_map.html#644fe199eecf30fcd1803be554cd21f7">s2</a>() )<a name="l00441"></a>00441 qSwap(sy1, sy2);<a name="l00442"></a>00442 <a name="l00443"></a>00443 xxMap.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(px1, px2);<a name="l00444"></a>00444 xxMap.<a class="code" href="class_qwt_scale_map.html#aa33bc8e1aed7aa17d345053194e7094">setScaleInterval</a>(sx1, sx2);<a name="l00445"></a>00445 yyMap.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(py1, py2);<a name="l00446"></a>00446 yyMap.<a class="code" href="class_qwt_scale_map.html#aa33bc8e1aed7aa17d345053194e7094">setScaleInterval</a>(sy1, sy2); <a name="l00447"></a>00447 }<a name="l00448"></a>00448
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -