00001 00002 00003 00004 00005
00006
00007 #ifndef RESCUE__CURVEPARAMETERS_H
00008 #define RESCUE__CURVEPARAMETERS_H
00009
00010 #include <qvbox.h>
00011 #include <qwidget.h>
00012 #include <ReSCue/Point2.h>
00013 #include <ReSCue/polygonal_curve.h>
00014 #include "EpsControl.h"
00015
00016 #include <ReSCue/sampling_matcher.h>
00017 #include <ReSCue/circular_arc_edge.h>
00018 #include <ReSCue/free_space_graph.h>
00019 #include <ReSCue/extended_fs_graph.h>
00020 #include <ReSCue/directed_hausdorff_graph.h>
00021 #include <ReSCue/partial_match_graph.h>
00022 #include <ReSCue/partial_sampling_matcher.h>
00023
00024
00025 class QPushButton;
00026 class QButtonGroup;
00027
00028 class QPushButton;
00029
00030 using namespace rescue;
00031
00032 typedef polygonal_curve<Point2<double> > Curve;
00033 typedef Curve::motion Motion;
00034
00038 class CurveParameters : public QWidget
00039 {
00040
00041 Q_OBJECT
00042
00043 public:
00044 CurveParameters( QWidget *parent=0, const char *name=0 );
00045
00046 int value() const;
00047
00048 public slots:
00049
00050 void next_pair();
00051 void prev_pair();
00052 void del();
00053 void clear_curve();
00054 void move(int);
00055 void rotate_left();
00056 void rotate_right();
00057 void select_red();
00058 void select_blue();
00059 void match();
00060 void open();
00061 void testseries();
00062 void save();
00063 void setEps(double);
00064 void setEps_prime(double);
00065 void method_changed(const QString&);
00066
00067 signals:
00068
00069 void show_next_pair();
00070 void show_prev_pair();
00071 void colorChanged( int );
00072 void remove_last_point();
00073 void clear_active_curve();
00074 void match_now(double,double);
00075 void rigid_motion(const Motion&);
00076 void open_file(const QString&);
00077 void save_file(const QString&);
00078 void start_testseries(const QString&);
00079 void epsChanged(double);
00080 void eps_primeChanged(double);
00081 void change_method(const QString&);
00082
00083 private:
00084 QPushButton *btn1;
00085 QPushButton *btn2;
00086 QButtonGroup *curve_select;
00087 QPushButton *button_red;
00088 QPushButton *button_blue;
00089
00090 QPushButton *qsave;
00091 QPushButton *qopen;
00092
00093 double eps;
00094 double eps_prime;
00095
00096 };
00097
00098 #endif // CurveParameters_H