qwt_spline.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 00008 *****************************************************************************/ 00009 00010 #ifndef QWT_SPLINE_H 00011 #define QWT_SPLINE_H 00012 00013 #include "qwt_global.h" 00014 #include "qwt_double_rect.h" 00015 00016 #if QT_VERSION >= 0x040000 00017 #include <QPolygonF> 00018 #else 00019 #include "qwt_array.h" 00020 #endif 00021 00022 // MOC_SKIP_BEGIN 00023 00024 #if defined(QWT_TEMPLATEDLL) 00025 00026 #if QT_VERSION < 0x040000 00027 #ifndef QWTARRAY_TEMPLATE_QWTDOUBLEPOINT // by mjo3 00028 #define QWTARRAY_TEMPLATE_QWTDOUBLEPOINT 00029 template class QWT_EXPORT QwtArray<QwtDoublePoint>; 00030 #endif //end of QWTARRAY_TEMPLATE_QWTDOUBLEPOINT 00031 #endif 00032 00033 #endif 00034 00035 // MOC_SKIP_END 00036 00077 class QWT_EXPORT QwtSpline 00078 { 00079 public: 00081 enum SplineType 00082 { 00083 Natural, 00084 Periodic 00085 }; 00086 00087 QwtSpline(); 00088 QwtSpline( const QwtSpline & ); 00089 00090 ~QwtSpline(); 00091 00092 QwtSpline &operator=( const QwtSpline & ); 00093 00094 void setSplineType(SplineType); 00095 SplineType splineType() const; 00096 00097 #if QT_VERSION < 0x040000 00098 bool setPoints(const QwtArray<QwtDoublePoint>& points); 00099 QwtArray<QwtDoublePoint> points() const; 00100 #else 00101 bool setPoints(const QPolygonF& points); 00102 QPolygonF points() const; 00103 #endif 00104 00105 void reset(); 00106 00107 bool isValid() const; 00108 double value(double x) const; 00109 00110 const QwtArray<double> &coefficientsA() const; 00111 const QwtArray<double> &coefficientsB() const; 00112 const QwtArray<double> &coefficientsC() const; 00113 00114 protected: 00115 00116 #if QT_VERSION < 0x040000 00117 bool buildNaturalSpline( 00118 const QwtArray<QwtDoublePoint> &); 00119 bool buildPeriodicSpline( 00120 const QwtArray<QwtDoublePoint> &); 00121 #else 00122 bool buildNaturalSpline(const QPolygonF &); 00123 bool buildPeriodicSpline(const QPolygonF &); 00124 #endif 00125 00126 class PrivateData; 00127 PrivateData *d_data; 00128 }; 00129 00130 #endif
Generated on Wed Sep 2 18:37:22 2009 for Qwt User's Guide by 1.6.1