00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVPOLYLINEF_H
00026 #define QVPOLYLINEF_H
00027
00028 #include <QPointF>
00029
00030 #include <qvipp.h>
00031 #include <QVImage>
00032
00033
00034 class QVPolyline;
00035
00050 class QVPolylineF: public QList<QPointF>
00051 {
00052 public:
00053 bool closed, direction;
00054
00055 QVPolylineF();
00056 QVPolylineF(const QList<QPointF> &pointList): QList<QPointF>(pointList) { };
00057 QVPolylineF(const QVPolyline &polyline);
00058 QVPolylineF(const QVPolylineF &polyline);
00059
00060 static QVPolylineF ellipse(uInt n, float x, float y, float maxRadio, float minRadio, float ang);
00061 static QVPolylineF rectangle(float x1, float y1, float x2, float y2);
00062
00063 operator QVPolyline() const;
00064 };
00065
00101 double IterativePointElimination(const QVPolylineF &polyline, QVPolylineF &result,
00102 const double param, bool maxNumberOfPointsMethod=FALSE,
00103 bool intersectLines=TRUE, double *max_removed_cost=NULL);
00104
00105 Q_DECLARE_METATYPE(QVPolylineF)
00106 Q_DECLARE_METATYPE(QList<QVPolylineF>);
00107 #endif
00108