⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwt__plot__spectrogram_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<a name="l00170"></a>00170     {<a name="l00171"></a>00171         <span class="keywordflow">if</span> ( on )<a name="l00172"></a>00172             d_data-&gt;displayMode |= mode;<a name="l00173"></a>00173         <span class="keywordflow">else</span><a name="l00174"></a>00174             d_data-&gt;displayMode &amp;= ~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-&gt;displayMode &amp; 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> &amp;colorMap)<a name="l00203"></a>00203 {<a name="l00204"></a>00204     <span class="keyword">delete</span> d_data-&gt;colorMap;<a name="l00205"></a>00205     d_data-&gt;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> &amp;<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-&gt;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 &amp;pen)<a name="l00231"></a>00231 {<a name="l00232"></a>00232     <span class="keywordflow">if</span> ( pen != d_data-&gt;defaultContourPen )<a name="l00233"></a>00233     {<a name="l00234"></a>00234         d_data-&gt;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-&gt;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-&gt;data-&gt;range();<a name="l00262"></a>00262     <span class="keyword">const</span> QColor c(d_data-&gt;colorMap-&gt;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-&gt;conrecAttributes &amp; 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-&gt;conrecAttributes |= attribute;<a name="l00284"></a>00284     <span class="keywordflow">else</span><a name="l00285"></a>00285         d_data-&gt;conrecAttributes &amp;= ~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-&gt;conrecAttributes &amp; 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 &amp;levels)<a name="l00314"></a>00314 {<a name="l00315"></a>00315     d_data-&gt;contourLevels = levels;<a name="l00316"></a>00316 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00317"></a>00317 <span class="preprocessor"></span>    qSort(d_data-&gt;contourLevels);<a name="l00318"></a>00318 <span class="preprocessor">#else</span><a name="l00319"></a>00319 <span class="preprocessor"></span>    qHeapSort(d_data-&gt;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-&gt;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> &amp;data)<a name="l00343"></a>00343 {<a name="l00344"></a>00344     <span class="keyword">delete</span> d_data-&gt;data;<a name="l00345"></a>00345     d_data-&gt;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> &amp;<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-&gt;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-&gt;data-&gt;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 &amp;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-&gt;data-&gt;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> &amp;xMap, <span class="keyword">const</span> <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &amp;yMap, <a name="l00402"></a>00402     <span class="keyword">const</span> QwtDoubleRect &amp;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-&gt;data-&gt;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>() &gt; 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>() &gt; 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>() &gt; 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>() &gt; 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 + -