qwt__curve__fitter_8h_source.html
10.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Qwt User's Guide: qwt_curve_fitter.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Qwt User's Guide <span id="projectnumber">6.0.1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
</ul>
</div>
<div class="header">
<div class="headertitle">
<h1>qwt_curve_fitter.h</h1> </div>
</div>
<div class="contents">
<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">#ifndef QWT_CURVE_FITTER_H</span>
<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define QWT_CURVE_FITTER_H</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#include "qwt_global.h"</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include <qpolygon.h></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include <qrect.h></span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="keyword">class </span><a class="code" href="class_qwt_spline.html" title="A class for spline interpolation.">QwtSpline</a>;
<a name="l00018"></a>00018
<a name="l00022"></a><a class="code" href="class_qwt_curve_fitter.html">00022</a> <span class="keyword">class </span>QWT_EXPORT <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 <span class="keyword">public</span>:
<a name="l00025"></a>00025 <span class="keyword">virtual</span> ~<a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>();
<a name="l00026"></a>00026
<a name="l00033"></a>00033 <span class="keyword">virtual</span> QPolygonF fitCurve( <span class="keyword">const</span> QPolygonF &polygon ) <span class="keyword">const</span> = 0;
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="keyword">protected</span>:
<a name="l00036"></a>00036 <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>();
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">private</span>:
<a name="l00039"></a>00039 <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>( <span class="keyword">const</span> <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a> & );
<a name="l00040"></a>00040 <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a> &operator=( <span class="keyword">const</span> <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a> & );
<a name="l00041"></a>00041 };
<a name="l00042"></a>00042
<a name="l00046"></a><a class="code" href="class_qwt_spline_curve_fitter.html">00046</a> <span class="keyword">class </span>QWT_EXPORT <a class="code" href="class_qwt_spline_curve_fitter.html" title="A curve fitter using cubic splines.">QwtSplineCurveFitter</a>: <span class="keyword">public</span> <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048 <span class="keyword">public</span>:
<a name="l00054"></a><a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8">00054</a> <span class="keyword">enum</span> <a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8">FitMode</a>
<a name="l00055"></a>00055 {
<a name="l00061"></a><a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8ae19b8325da178d410cf10b04ed5a5df6">00061</a> <a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8ae19b8325da178d410cf10b04ed5a5df6">Auto</a>,
<a name="l00062"></a>00062
<a name="l00064"></a><a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8a97f3e821b70470f056b60a883229ec13">00064</a> <a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8a97f3e821b70470f056b60a883229ec13" title="Use a default spline algorithm.">Spline</a>,
<a name="l00065"></a>00065
<a name="l00067"></a><a class="code" href="class_qwt_spline_curve_fitter.html#a8c5e6858f885b5691c30092a950879a8a877f71e694ae9a2e33533a3fb5065c66">00067</a> ParametricSpline
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <a class="code" href="class_qwt_spline_curve_fitter.html" title="A curve fitter using cubic splines.">QwtSplineCurveFitter</a>();
<a name="l00071"></a>00071 <span class="keyword">virtual</span> ~<a class="code" href="class_qwt_spline_curve_fitter.html" title="A curve fitter using cubic splines.">QwtSplineCurveFitter</a>();
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keywordtype">void</span> setFitMode( FitMode );
<a name="l00074"></a>00074 FitMode fitMode() <span class="keyword">const</span>;
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">void</span> setSpline( <span class="keyword">const</span> <a class="code" href="class_qwt_spline.html" title="A class for spline interpolation.">QwtSpline</a>& );
<a name="l00077"></a>00077 <span class="keyword">const</span> <a class="code" href="class_qwt_spline.html" title="A class for spline interpolation.">QwtSpline</a> &spline() <span class="keyword">const</span>;
<a name="l00078"></a>00078 <a class="code" href="class_qwt_spline.html" title="A class for spline interpolation.">QwtSpline</a> &spline();
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordtype">void</span> setSplineSize( <span class="keywordtype">int</span> size );
<a name="l00081"></a>00081 <span class="keywordtype">int</span> splineSize() <span class="keyword">const</span>;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keyword">virtual</span> QPolygonF <a class="code" href="class_qwt_curve_fitter.html#afa9bf5b328aa553229e204533a60fec0">fitCurve</a>( <span class="keyword">const</span> QPolygonF & ) <span class="keyword">const</span>;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">private</span>:
<a name="l00086"></a>00086 QPolygonF fitSpline( <span class="keyword">const</span> QPolygonF & ) <span class="keyword">const</span>;
<a name="l00087"></a>00087 QPolygonF fitParametric( <span class="keyword">const</span> QPolygonF & ) <span class="keyword">const</span>;
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keyword">class </span>PrivateData;
<a name="l00090"></a>00090 PrivateData *d_data;
<a name="l00091"></a>00091 };
<a name="l00092"></a>00092
<a name="l00110"></a><a class="code" href="class_qwt_weeding_curve_fitter.html">00110</a> <span class="keyword">class </span>QWT_EXPORT <a class="code" href="class_qwt_weeding_curve_fitter.html" title="A curve fitter implementing Douglas and Peucker algorithm.">QwtWeedingCurveFitter</a>: <span class="keyword">public</span> <a class="code" href="class_qwt_curve_fitter.html" title="Abstract base class for a curve fitter.">QwtCurveFitter</a>
<a name="l00111"></a>00111 {
<a name="l00112"></a>00112 <span class="keyword">public</span>:
<a name="l00113"></a>00113 <a class="code" href="class_qwt_weeding_curve_fitter.html" title="A curve fitter implementing Douglas and Peucker algorithm.">QwtWeedingCurveFitter</a>( <span class="keywordtype">double</span> tolerance = 1.0 );
<a name="l00114"></a>00114 <span class="keyword">virtual</span> ~<a class="code" href="class_qwt_weeding_curve_fitter.html" title="A curve fitter implementing Douglas and Peucker algorithm.">QwtWeedingCurveFitter</a>();
<a name="l00115"></a>00115
<a name="l00116"></a>00116 <span class="keywordtype">void</span> setTolerance( <span class="keywordtype">double</span> );
<a name="l00117"></a>00117 <span class="keywordtype">double</span> tolerance() <span class="keyword">const</span>;
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="keyword">virtual</span> QPolygonF <a class="code" href="class_qwt_curve_fitter.html#afa9bf5b328aa553229e204533a60fec0">fitCurve</a>( <span class="keyword">const</span> QPolygonF & ) <span class="keyword">const</span>;
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keyword">private</span>:
<a name="l00122"></a>00122 <span class="keyword">class </span>Line;
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="keyword">class </span>PrivateData;
<a name="l00125"></a>00125 PrivateData *d_data;
<a name="l00126"></a>00126 };
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated by 
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>