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

📄 qwt__data_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Qwt User&apos;s Guide: qwt_data.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.6 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="classes.html"><span>Classes</span></a></li>    <li id="current"><a href="files.html"><span>Files</span></a></li>    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>  </ul></div><h1>qwt_data.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************</span><a name="l00002"></a>00002 <span class="comment"> * Qwt Widget Library</span><a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1997   Josef Wilgen</span><a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2002   Uwe Rathmann</span><a name="l00005"></a>00005 <span class="comment"> * </span><a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span><a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the Qwt License, Version 1.0</span><a name="l00008"></a>00008 <span class="comment"> *****************************************************************************/</span><a name="l00009"></a>00009 <a name="l00010"></a>00010 <span class="preprocessor">#include "qwt_math.h"</span><a name="l00011"></a>00011 <span class="preprocessor">#include "qwt_data.h"</span><a name="l00012"></a>00012 <a name="l00014"></a><a class="code" href="class_qwt_data.html#de45c6c6d06b5fb4d1332b49168a008b">00014</a> <a class="code" href="class_qwt_data.html#de45c6c6d06b5fb4d1332b49168a008b">QwtData::QwtData</a>()<a name="l00015"></a>00015 {<a name="l00016"></a>00016 }<a name="l00017"></a>00017 <a name="l00019"></a><a class="code" href="class_qwt_data.html#6c813cff34e61a74f3a146177424f473">00019</a> <a class="code" href="class_qwt_data.html#6c813cff34e61a74f3a146177424f473">QwtData::~QwtData</a>()<a name="l00020"></a>00020 {<a name="l00021"></a>00021 }<a name="l00022"></a>00022 <a name="l00034"></a><a class="code" href="class_qwt_data.html#d72b6842ce6af1f61f9643786d63a91f">00034</a> QwtDoubleRect <a class="code" href="class_qwt_data.html#d72b6842ce6af1f61f9643786d63a91f">QwtData::boundingRect</a>()<span class="keyword"> const</span><a name="l00035"></a>00035 <span class="keyword"></span>{<a name="l00036"></a>00036     <span class="keyword">const</span> size_t sz = <a class="code" href="class_qwt_data.html#6028c06e7e72de98fb7a8a3ec6acdf47">size</a>();<a name="l00037"></a>00037 <a name="l00038"></a>00038     <span class="keywordflow">if</span> ( sz &lt;= 0 )<a name="l00039"></a>00039         <span class="keywordflow">return</span> QwtDoubleRect(1.0, 1.0, -2.0, -2.0); <span class="comment">// invalid</span><a name="l00040"></a>00040 <a name="l00041"></a>00041     <span class="keywordtype">double</span> minX, maxX, minY, maxY;<a name="l00042"></a>00042     minX = maxX = <a class="code" href="class_qwt_data.html#922401ada56fc6dd3ccbeb1cfcdcfe28">x</a>(0);<a name="l00043"></a>00043     minY = maxY = <a class="code" href="class_qwt_data.html#6a160842c98ddd98a65fd229776c324c">y</a>(0);<a name="l00044"></a>00044 <a name="l00045"></a>00045     <span class="keywordflow">for</span> ( size_t i = 1; i &lt; sz; i++ )<a name="l00046"></a>00046     {<a name="l00047"></a>00047         <span class="keyword">const</span> <span class="keywordtype">double</span> xv = <a class="code" href="class_qwt_data.html#922401ada56fc6dd3ccbeb1cfcdcfe28">x</a>(i);<a name="l00048"></a>00048         <span class="keywordflow">if</span> ( xv &lt; minX )<a name="l00049"></a>00049             minX = xv;<a name="l00050"></a>00050         <span class="keywordflow">if</span> ( xv &gt; maxX )<a name="l00051"></a>00051             maxX = xv;<a name="l00052"></a>00052 <a name="l00053"></a>00053         <span class="keyword">const</span> <span class="keywordtype">double</span> yv = <a class="code" href="class_qwt_data.html#6a160842c98ddd98a65fd229776c324c">y</a>(i);<a name="l00054"></a>00054         <span class="keywordflow">if</span> ( yv &lt; minY )<a name="l00055"></a>00055             minY = yv;<a name="l00056"></a>00056         <span class="keywordflow">if</span> ( yv &gt; maxY )<a name="l00057"></a>00057             maxY = yv;<a name="l00058"></a>00058     }<a name="l00059"></a>00059     <span class="keywordflow">return</span> QwtDoubleRect(minX, minY, maxX - minX, maxY - minY);<a name="l00060"></a>00060 }<a name="l00061"></a>00061 <a name="l00068"></a>00068 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00069"></a><a class="code" href="class_qwt_polygon_f_data.html#83f9b6797ac8c3ca2f5847bdc957d419">00069</a> <span class="preprocessor"></span><a class="code" href="class_qwt_polygon_f_data.html#83f9b6797ac8c3ca2f5847bdc957d419">QwtPolygonFData::QwtPolygonFData</a>(<span class="keyword">const</span> QPolygonF &amp;polygon):<a name="l00070"></a>00070 #else<a name="l00071"></a>00071 <a class="code" href="class_qwt_polygon_f_data.html">QwtPolygonFData</a>::<a class="code" href="class_qwt_polygon_f_data.html">QwtPolygonFData</a>(const QwtArray&lt;QwtDoublePoint&gt; &amp;polygon):<a name="l00072"></a>00072 #endif<a name="l00073"></a>00073     <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>(polygon)<a name="l00074"></a>00074 {<a name="l00075"></a>00075 }<a name="l00076"></a>00076 <a name="l00078"></a><a class="code" href="class_qwt_polygon_f_data.html#c51e4686c8cdb2cbdf09750acc15ecca">00078</a> <a class="code" href="class_qwt_polygon_f_data.html">QwtPolygonFData</a>&amp; <a class="code" href="class_qwt_polygon_f_data.html#c51e4686c8cdb2cbdf09750acc15ecca">QwtPolygonFData::operator=</a>(<a name="l00079"></a>00079     <span class="keyword">const</span> <a class="code" href="class_qwt_polygon_f_data.html">QwtPolygonFData</a> &amp;data)<a name="l00080"></a>00080 {<a name="l00081"></a>00081     <span class="keywordflow">if</span> (<span class="keyword">this</span> != &amp;<a class="code" href="class_qwt_polygon_f_data.html#ff992f94f70260e02402b4b0445e3ab7">data</a>)<a name="l00082"></a>00082     {<a name="l00083"></a>00083         <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a> = <a class="code" href="class_qwt_polygon_f_data.html#ff992f94f70260e02402b4b0445e3ab7">data</a>.d_data;<a name="l00084"></a>00084     }<a name="l00085"></a>00085     <span class="keywordflow">return</span> *<span class="keyword">this</span>;<a name="l00086"></a>00086 }<a name="l00087"></a>00087 <a name="l00089"></a><a class="code" href="class_qwt_polygon_f_data.html#3a002042c6c0b0bf35e7172c37a6c1b2">00089</a> size_t <a class="code" href="class_qwt_polygon_f_data.html#3a002042c6c0b0bf35e7172c37a6c1b2">QwtPolygonFData::size</a>()<span class="keyword"> const </span><a name="l00090"></a>00090 <span class="keyword"></span>{ <a name="l00091"></a>00091     <span class="keywordflow">return</span> <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>.size(); <a name="l00092"></a>00092 }<a name="l00093"></a>00093 <a name="l00100"></a><a class="code" href="class_qwt_polygon_f_data.html#ca74b3b767c5fd2567215583d3712425">00100</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_polygon_f_data.html#ca74b3b767c5fd2567215583d3712425">QwtPolygonFData::x</a>(size_t i)<span class="keyword"> const </span><a name="l00101"></a>00101 <span class="keyword"></span>{ <a name="l00102"></a>00102     <span class="keywordflow">return</span> <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>[int(i)].x(); <a name="l00103"></a>00103 }<a name="l00104"></a>00104 <a name="l00111"></a><a class="code" href="class_qwt_polygon_f_data.html#3b762f31fd970ec7ce9706930f33c1aa">00111</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_polygon_f_data.html#3b762f31fd970ec7ce9706930f33c1aa">QwtPolygonFData::y</a>(size_t i)<span class="keyword"> const </span><a name="l00112"></a>00112 <span class="keyword"></span>{ <a name="l00113"></a>00113     <span class="keywordflow">return</span> <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>[int(i)].y(); <a name="l00114"></a>00114 }<a name="l00115"></a>00115 <a name="l00116"></a>00116 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00117"></a><a class="code" href="class_qwt_polygon_f_data.html#ff992f94f70260e02402b4b0445e3ab7">00117</a> <span class="preprocessor"></span><span class="keyword">const</span> QPolygonF &amp;<a class="code" href="class_qwt_polygon_f_data.html#ff992f94f70260e02402b4b0445e3ab7">QwtPolygonFData::data</a>() const<a name="l00118"></a>00118 <span class="preprocessor">#else</span><a name="l00119"></a>00119 <span class="preprocessor"></span><span class="keyword">const</span> QwtArray&lt;QwtDoublePoint&gt; &amp;<a class="code" href="class_qwt_polygon_f_data.html#ff992f94f70260e02402b4b0445e3ab7">QwtPolygonFData::data</a>() const<a name="l00120"></a>00120 <span class="preprocessor">#endif</span><a name="l00121"></a>00121 <span class="preprocessor"></span>{<a name="l00122"></a>00122     <span class="keywordflow">return</span> <a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>;<a name="l00123"></a>00123 }<a name="l00124"></a>00124 <a name="l00128"></a><a class="code" href="class_qwt_polygon_f_data.html#3e8e8809e6bbb8efb8bbed5b8044644f">00128</a> <a class="code" href="class_qwt_data.html">QwtData</a> *<a class="code" href="class_qwt_polygon_f_data.html#3e8e8809e6bbb8efb8bbed5b8044644f">QwtPolygonFData::copy</a>()<span class="keyword"> const </span><a name="l00129"></a>00129 <span class="keyword"></span>{ <a name="l00130"></a>00130     <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_qwt_polygon_f_data.html#83f9b6797ac8c3ca2f5847bdc957d419">QwtPolygonFData</a>(<a class="code" href="class_qwt_spline.html#784545391f14c014684f391c6d92fd27">d_data</a>); <a name="l00131"></a>00131 }<a name="l00132"></a>00132 <a name="l00141"></a><a class="code" href="class_qwt_array_data.html#f9f8b1805a8809ababe82cb9df213928">00141</a> <a class="code" href="class_qwt_array_data.html#f9f8b1805a8809ababe82cb9df213928">QwtArrayData::QwtArrayData</a>(<a name="l00142"></a>00142         <span class="keyword">const</span> QwtArray&lt;double&gt; &amp;x, <span class="keyword">const</span> QwtArray&lt;double&gt; &amp;y): <a name="l00143"></a>00143     d_x(x), <a name="l00144"></a>00144     d_y(y)<a name="l00145"></a>00145 {<a name="l00146"></a>00146 }<a name="l00147"></a>00147 <a name="l00156"></a><a class="code" href="class_qwt_array_data.html#03728582378006122e8138aeee0f0ca5">00156</a> <a class="code" href="class_qwt_array_data.html#f9f8b1805a8809ababe82cb9df213928">QwtArrayData::QwtArrayData</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> *x, <span class="keyword">const</span> <span class="keywordtype">double</span> *y, size_t size)<a name="l00157"></a>00157 {<a name="l00158"></a>00158 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00159"></a>00159 <span class="preprocessor"></span>    d_x.resize(size);<a name="l00160"></a>00160     qMemCopy(d_x.data(), x, size * <span class="keyword">sizeof</span>(double));<a name="l00161"></a>00161 <a name="l00162"></a>00162     d_y.resize(size);<a name="l00163"></a>00163     qMemCopy(d_y.data(), y, size * <span class="keyword">sizeof</span>(double));<a name="l00164"></a>00164 <span class="preprocessor">#else</span><a name="l00165"></a>00165 <span class="preprocessor"></span>    d_x.detach();<a name="l00166"></a>00166     d_x.duplicate(x, size);<a name="l00167"></a>00167 <a name="l00168"></a>00168     d_y.detach();<a name="l00169"></a>00169     d_y.duplicate(y, size);<a name="l00170"></a>00170 <span class="preprocessor">#endif</span><a name="l00171"></a>00171 <span class="preprocessor"></span>}<a name="l00172"></a>00172 <a name="l00174"></a><a class="code" href="class_qwt_array_data.html#95fc3e82d7a76775ec082ec063656d07">00174</a> <a class="code" href="class_qwt_array_data.html">QwtArrayData</a>&amp; <a class="code" href="class_qwt_array_data.html#95fc3e82d7a76775ec082ec063656d07">QwtArrayData::operator=</a>(<span class="keyword">const</span> <a class="code" href="class_qwt_array_data.html">QwtArrayData</a> &amp;data)<a name="l00175"></a>00175 {<a name="l00176"></a>00176     <span class="keywordflow">if</span> (<span class="keyword">this</span> != &amp;data)<a name="l00177"></a>00177     {<a name="l00178"></a>00178         d_x = data.<a class="code" href="class_qwt_array_data.html#e0b86206b9f0fcb8a9326eb83bbcbf8a">d_x</a>;<a name="l00179"></a>00179         d_y = data.<a class="code" href="class_qwt_array_data.html#6e075476eed8adb22b3be56a8a092ce2">d_y</a>;<a name="l00180"></a>00180     }<a name="l00181"></a>00181     <span class="keywordflow">return</span> *<span class="keyword">this</span>;<a name="l00182"></a>00182 }<a name="l00183"></a>00183 <a name="l00185"></a><a class="code" href="class_qwt_array_data.html#e7d5991e85c8d32c8945e67dc3bd88db">00185</a> size_t <a class="code" href="class_qwt_array_data.html#e7d5991e85c8d32c8945e67dc3bd88db">QwtArrayData::size</a>()<span class="keyword"> const </span>

⌨️ 快捷键说明

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