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

📄 qwt__scale__engine_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00165"></a>00165 <a name="l00166"></a>00166 };<a name="l00167"></a>00167 <a name="l00169"></a><a class="code" href="class_qwt_scale_engine.html#58cb9344a913fa798ac7343d55f3f693">00169</a> <a class="code" href="class_qwt_scale_engine.html#58cb9344a913fa798ac7343d55f3f693">QwtScaleEngine::QwtScaleEngine</a>()<a name="l00170"></a>00170 {<a name="l00171"></a>00171     d_data = <span class="keyword">new</span> PrivateData;<a name="l00172"></a>00172 }<a name="l00173"></a>00173 <a name="l00174"></a>00174 <a name="l00176"></a><a class="code" href="class_qwt_scale_engine.html#b9c21b4550d44d9a82c1865864cb8943">00176</a> <a class="code" href="class_qwt_scale_engine.html#b9c21b4550d44d9a82c1865864cb8943">QwtScaleEngine::~QwtScaleEngine</a> ()<a name="l00177"></a>00177 {<a name="l00178"></a>00178     <span class="keyword">delete</span> d_data;<a name="l00179"></a>00179 }<a name="l00180"></a>00180 <a name="l00187"></a><a class="code" href="class_qwt_scale_engine.html#51447104ab614a157c2bac6a0f0f7dc9">00187</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_engine.html#51447104ab614a157c2bac6a0f0f7dc9">QwtScaleEngine::loMargin</a>()<span class="keyword"> const </span><a name="l00188"></a>00188 <span class="keyword"></span>{ <a name="l00189"></a>00189     <span class="keywordflow">return</span> d_data-&gt;loMargin; <a name="l00190"></a>00190 }<a name="l00191"></a>00191 <a name="l00198"></a><a class="code" href="class_qwt_scale_engine.html#a1e2d260975cef6546a3829213bc5f2f">00198</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_engine.html#a1e2d260975cef6546a3829213bc5f2f">QwtScaleEngine::hiMargin</a>()<span class="keyword"> const </span><a name="l00199"></a>00199 <span class="keyword"></span>{ <a name="l00200"></a>00200     <span class="keywordflow">return</span> d_data-&gt;hiMargin; <a name="l00201"></a>00201 }<a name="l00202"></a>00202 <a name="l00219"></a><a class="code" href="class_qwt_scale_engine.html#d6e83875e5e7a65b005ebb6213e1e869">00219</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_engine.html#d6e83875e5e7a65b005ebb6213e1e869">QwtScaleEngine::setMargins</a>(<span class="keywordtype">double</span> mlo, <span class="keywordtype">double</span> mhi)<a name="l00220"></a>00220 {<a name="l00221"></a>00221     d_data-&gt;loMargin = qwtMax(mlo,0.0);<a name="l00222"></a>00222     d_data-&gt;hiMargin = qwtMax(mhi,0.0);<a name="l00223"></a>00223 }<a name="l00224"></a>00224 <a name="l00233"></a><a class="code" href="class_qwt_scale_engine.html#ff30158c5ccfee78f4c3e01c0fb5f4de">00233</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_engine.html#ff30158c5ccfee78f4c3e01c0fb5f4de">QwtScaleEngine::divideInterval</a>(<a name="l00234"></a>00234     <span class="keywordtype">double</span> intervalSize, <span class="keywordtype">int</span> numSteps)<span class="keyword"> const</span><a name="l00235"></a>00235 <span class="keyword"></span>{<a name="l00236"></a>00236     <span class="keywordflow">if</span> ( numSteps &lt;= 0 )<a name="l00237"></a>00237         <span class="keywordflow">return</span> 0.0;<a name="l00238"></a>00238 <a name="l00239"></a>00239     <span class="keywordtype">double</span> v = <a class="code" href="class_qwt_scale_arithmetic.html#e5f0415105b2a97cccb93f3da9ddaead">QwtScaleArithmetic::divideEps</a>(intervalSize, numSteps);<a name="l00240"></a>00240     <span class="keywordflow">return</span> <a class="code" href="class_qwt_scale_arithmetic.html#5768ab1c30f4fa8f02e3bb83f50fac02">QwtScaleArithmetic::ceil125</a>(v);<a name="l00241"></a>00241 }<a name="l00242"></a>00242 <a name="l00251"></a><a class="code" href="class_qwt_scale_engine.html#fb902375924c862f1058f77bb7a7029e">00251</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_scale_engine.html#fb902375924c862f1058f77bb7a7029e">QwtScaleEngine::contains</a>(<a name="l00252"></a>00252     <span class="keyword">const</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> &amp;interval, <span class="keywordtype">double</span> value)<span class="keyword"> const</span><a name="l00253"></a>00253 <span class="keyword"></span>{<a name="l00254"></a>00254     <span class="keywordflow">if</span> (!interval.<a class="code" href="class_qwt_double_interval.html#311402213e243b809008faaec00507d5">isValid</a>() )<a name="l00255"></a>00255         <span class="keywordflow">return</span> <span class="keyword">false</span>;<a name="l00256"></a>00256     <a name="l00257"></a>00257     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_arithmetic.html#6c6f982022550fba9ccee034f87461ce">QwtScaleArithmetic::compareEps</a>(value, <a name="l00258"></a>00258         interval.<a class="code" href="class_qwt_double_interval.html#2d7d56e81ee75911f176c94f6aaf4b8b">minValue</a>(), interval.<a class="code" href="class_qwt_double_interval.html#b5d610e0d1fc9a5a3bc020dd39326327">width</a>()) &lt; 0 )<a name="l00259"></a>00259     {<a name="l00260"></a>00260         <span class="keywordflow">return</span> <span class="keyword">false</span>;<a name="l00261"></a>00261     }<a name="l00262"></a>00262 <a name="l00263"></a>00263     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_arithmetic.html#6c6f982022550fba9ccee034f87461ce">QwtScaleArithmetic::compareEps</a>(value, <a name="l00264"></a>00264         interval.<a class="code" href="class_qwt_double_interval.html#8fd8629d76f24d5494e59458cd79c4e2">maxValue</a>(), interval.<a class="code" href="class_qwt_double_interval.html#b5d610e0d1fc9a5a3bc020dd39326327">width</a>()) &gt; 0 )<a name="l00265"></a>00265     {<a name="l00266"></a>00266         <span class="keywordflow">return</span> <span class="keyword">false</span>;<a name="l00267"></a>00267     }<a name="l00268"></a>00268 <a name="l00269"></a>00269     <span class="keywordflow">return</span> <span class="keyword">true</span>;<a name="l00270"></a>00270 }<a name="l00271"></a>00271 <a name="l00280"></a><a class="code" href="class_qwt_scale_engine.html#f4522cd83e7885f19d35579d42fbc1fc">00280</a> QwtValueList <a class="code" href="class_qwt_scale_engine.html#f4522cd83e7885f19d35579d42fbc1fc">QwtScaleEngine::strip</a>( <a name="l00281"></a>00281     <span class="keyword">const</span> QwtValueList&amp; ticks, <a name="l00282"></a>00282     <span class="keyword">const</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> &amp;interval)<span class="keyword"> const</span><a name="l00283"></a>00283 <span class="keyword"></span>{<a name="l00284"></a>00284     <span class="keywordflow">if</span> ( !interval.<a class="code" href="class_qwt_double_interval.html#311402213e243b809008faaec00507d5">isValid</a>() || ticks.count() == 0 )<a name="l00285"></a>00285         <span class="keywordflow">return</span> QwtValueList();<a name="l00286"></a>00286 <a name="l00287"></a>00287     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_engine.html#fb902375924c862f1058f77bb7a7029e">contains</a>(interval, ticks.first())<a name="l00288"></a>00288         &amp;&amp; <a class="code" href="class_qwt_scale_engine.html#fb902375924c862f1058f77bb7a7029e">contains</a>(interval, ticks.last()) )<a name="l00289"></a>00289     {<a name="l00290"></a>00290         <span class="keywordflow">return</span> ticks;<a name="l00291"></a>00291     }<a name="l00292"></a>00292 <a name="l00293"></a>00293     QwtValueList strippedTicks;<a name="l00294"></a>00294     <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; (int)ticks.count(); i++ )<a name="l00295"></a>00295     {<a name="l00296"></a>00296         <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_scale_engine.html#fb902375924c862f1058f77bb7a7029e">contains</a>(interval, ticks[i]) )<a name="l00297"></a>00297             strippedTicks += ticks[i];<a name="l00298"></a>00298     }<a name="l00299"></a>00299     <span class="keywordflow">return</span> strippedTicks;<a name="l00300"></a>00300 }<a name="l00301"></a>00301 <a name="l00309"></a><a class="code" href="class_qwt_scale_engine.html#f06bc397d46b40c69fe5c82b7f2c3267">00309</a> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> <a class="code" href="class_qwt_scale_engine.html#f06bc397d46b40c69fe5c82b7f2c3267">QwtScaleEngine::buildInterval</a>(<span class="keywordtype">double</span> v)<span class="keyword"> const</span><a name="l00310"></a>00310 <span class="keyword"></span>{<a name="l00311"></a>00311 <span class="preprocessor">#if 1</span><a name="l00312"></a>00312 <span class="preprocessor"></span>    <span class="keyword">const</span> <span class="keywordtype">double</span> delta = (v == 0.0) ? 0.5 : qwtAbs(0.5 * v);<a name="l00313"></a>00313     <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a>(v - delta, v + delta);<a name="l00314"></a>00314 <span class="preprocessor">#else</span><a name="l00315"></a>00315 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( v == 0.0 )<a name="l00316"></a>00316         <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a>(-0.5, 0.5);<a name="l00317"></a>00317 <a name="l00318"></a>00318     <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a>(0.5 * v, 1.5 * v);<a name="l00319"></a>00319 <span class="preprocessor">#endif</span><a name="l00320"></a>00320 <span class="preprocessor"></span>}<a name="l00321"></a>00321 <a name="l00346"></a><a class="code" href="class_qwt_scale_engine.html#cf02a88f6e778edbc9e005960f35b3b7">00346</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_engine.html#cf02a88f6e778edbc9e005960f35b3b7">QwtScaleEngine::setAttribute</a>(<a class="code" href="class_qwt_scale_engine.html#7548418e0896d75eec164bfa2ba3ff5f">Attribute</a> attribute, <span class="keywordtype">bool</span> on)<a name="l00347"></a>00347 {<a name="l00348"></a>00348     <span class="keywordflow">if</span> (on)<a name="l00349"></a>00349        d_data-&gt;attributes |= attribute;<a name="l00350"></a>00350     <span class="keywordflow">else</span><a name="l00351"></a>00351        d_data-&gt;attributes &amp;= (~attribute);<a name="l00352"></a>00352 }<a name="l00353"></a>00353 <a name="l00360"></a><a class="code" href="class_qwt_scale_engine.html#b43cac5ff8843531bbb02b4401e8fb62">00360</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_scale_engine.html#b43cac5ff8843531bbb02b4401e8fb62">QwtScaleEngine::testAttribute</a>(<a class="code" href="class_qwt_scale_engine.html#7548418e0896d75eec164bfa2ba3ff5f">Attribute</a> attribute)<span class="keyword"> const</span><a name="l00361"></a>00361 <span class="keyword"></span>{<a name="l00362"></a>00362     <span class="keywordflow">return</span> bool(d_data-&gt;attributes &amp; attribute);<a name="l00363"></a>00363 }<a name="l00364"></a>00364 <a name="l00371"></a><a class="code" href="class_qwt_scale_engine.html#d221d715e28e644975c6cbda9cae492e">00371</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_engine.html#d221d715e28e644975c6cbda9cae492e">QwtScaleEngine::setAttributes</a>(<span class="keywordtype">int</span> attributes)<a name="l00372"></a>00372 {<a name="l00373"></a>00373     d_data-&gt;attributes = attributes;<a name="l00374"></a>00374 }<a name="l00375"></a>00375 <a name="l00379"></a><a class="code" href="class_qwt_scale_engine.html#3e8d3101af3dbab7a97b96779118e428">00379</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_scale_engine.html#3e8d3101af3dbab7a97b96779118e428">QwtScaleEngine::attributes</a>()<span class="keyword"> const</span><a name="l00380"></a>00380 <span class="keyword"></span>{<a name="l00381"></a>00381     <span class="keywordflow">return</span> d_data-&gt;attributes;<a name="l00382"></a>00382 }<a name="l00383"></a>00383 <a name="l00391"></a><a class="code" href="class_qwt_scale_engine.html#89985ea69dbd858c8b9162ecd2be936e">00391</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_scale_engine.html#89985ea69dbd858c8b9162ecd2be936e">QwtScaleEngine::setReference</a>(<span class="keywordtype">double</span> r)<a name="l00392"></a>00392 {<a name="l00393"></a>00393     d_data-&gt;referenceValue = r;<a name="l00394"></a>00394 }<a name="l00395"></a>00395 <a name="l00400"></a><a class="code" href="class_qwt_scale_engine.html#5962458870865df797e84e3bd6badf02">00400</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_scale_engine.html#5962458870865df797e84e3bd6badf02">QwtScaleEngine::reference</a>()<span class="keyword"> const </span><a name="l00401"></a>00401 <span class="keyword"></span>{ <a name="l00402"></a>00402     <span class="keywordflow">return</span> d_data-&gt;referenceValue; <a name="l00403"></a>00403 }<a name="l00404"></a>00404 <a name="l00408"></a><a class="code" href="class_qwt_linear_scale_engine.html#db24f92fa0e8c0548a38cd310158b3d3">00408</a> <a class="code" href="class_qwt_scale_transformation.html">QwtScaleTransformation</a> *<a class="code" href="class_qwt_linear_scale_engine.html#db24f92fa0e8c0548a38cd310158b3d3">QwtLinearScaleEngine::transformation</a>()<span class="keyword"> const</span><a name="l00409"></a>00409 <span class="keyword"></span>{<a name="l00410"></a>00410     <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_qwt_scale_transformation.html">QwtScaleTransformation</a>(QwtScaleTransformation::Linear);<a name="l00411"></a>00411 }<a name="l00412"></a>00412 <a name="l00423"></a><a class="code" href="class_qwt_linear_scale_engine.html#d0f1d825e70eb7a1deb15875a8093cff">00423</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_linear_scale_engine.html#d0f1d825e70eb7a1deb15875a8093cff">QwtLinearScaleEngine::autoScale</a>(<span class="keywordtype">int</span> maxNumSteps, <a name="l00424"></a>00424     <span class="keywordtype">double</span> &amp;x1, <span class="keywordtype">double</span> &amp;x2, <span class="keywordtype">double</span> &amp;stepSize)<span class="keyword"> const</span><a name="l00425"></a>00425 <span class="keyword"></span>{<a name="l00426"></a>00426     <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> interval(x1, x2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -