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_APPROXIMATION_H 00011 #define QWT_SPLINE_APPROXIMATION_H 1 00012 00013 #include "qwt_global.h" 00014 #include <qpainterpath.h> 00015 00016 class QwtSplineParametrization; 00017 00018 class QWT_EXPORT QwtSplineApproximation 00019 { 00020 public: 00021 enum BoundaryType 00022 { 00023 ConditionalBoundaries, 00024 PeriodicPolygon, 00025 00037 ClosedPolygon 00038 }; 00039 00040 QwtSplineApproximation(); 00041 virtual ~QwtSplineApproximation(); 00042 00043 void setParametrization( int type ); 00044 void setParametrization( QwtSplineParametrization * ); 00045 const QwtSplineParametrization *parametrization() const; 00046 00047 void setBoundaryType( BoundaryType ); 00048 BoundaryType boundaryType() const; 00049 00050 virtual QPainterPath painterPath( const QPolygonF & ) const = 0; 00051 virtual uint locality() const; 00052 00053 private: 00054 Q_DISABLE_COPY(QwtSplineApproximation) 00055 00056 class PrivateData; 00057 PrivateData *d_data; 00058 }; 00059 00060 #endif