00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVPOLYLINE_H
00026 #define QVPOLYLINE_H
00027
00028 #include <qvipp/qvipp.h>
00029 #include <qvcore/qvimage.h>
00030
00031 namespace qvdta
00032 {
00047 class QVPolyline: public QList<QPoint>
00048 {
00049 public:
00050 bool closed, direction;
00051
00052 QVPolyline();
00053 QVPolyline(const QVPolyline &polyline);
00054
00055 static QVPolyline ellipse(uInt n, float x, float y, float maxRadio, float minRadio, float ang);
00056 static QVPolyline line(int x1, int y1, int x2, int y2);
00057 static QVPolyline rectangle(int x1, int y1, int x2, int y2);
00058 };
00059
00060 void draw(QVImage<uChar> &image, const QVPolyline &polyline, const uChar constant, bool linked=FALSE, bool safe=FALSE);
00061 void draw(QVImage<uChar,3> &image, const QVPolyline &polyline, const uChar constant[3], bool linked=FALSE, bool safe=FALSE);
00062 void draw(QVImage<uChar> &img, const QList< QVPolyline > &polylineList, const uChar constant, bool linked=FALSE, bool safe=FALSE);
00063 void draw(QVImage<uChar,3> &img,const QList< QVPolyline > &polylineList,const uChar constant[3],bool linked=FALSE,bool safe=FALSE);
00064
00065 void drawPoints(const QList<QPoint> &hotPoints, QVImage<uChar> &dest);
00066 void drawPoints(const QList<QPoint> &hotPoints, QVImage<uChar,3> &dest);
00067 }
00068 #endif
00069