#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QDebug>
#include <list>
#include <vector>
#include "iboolean.h"
#include "interval.h"
#include "box.h"
#include "repere.h"
#include "paving.h"


#include <QMainWindow>



namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:

    interval noise;
    box P0;
    vector <double> u1,u2,x,y,theta,v,d;
    vector <interval> X,Y,Theta,V;
    int testcase;
    int N_cercles,N_murs,k_current,k_max,k_file;
    double eps;
    vector<double> murs_xa,murs_xb,murs_ya,murs_yb;
    vector<double> cercles_x,cercles_y,cercles_r;
    paving Map;



    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void DrawRobot(repere* R, double x,double y,double theta);
    void DrawRoom(repere* R);
    void DrawMap(repere* R);
    void DrawTraj(repere* R,QPen pen1, QBrush brush1);




    void Contract_Map();
    void Contract_Traj();
    void Contract_Pose(int k);
    void Contract_All_Poses();
    void Readdata();



private:
    Ui::MainWindow *ui;
    repere *Rrobot;
    repere *Rtraj;
    repere *Rmap;
    repere *Rpose;

signals:


private slots:
    void on_ButtonStart_clicked();



};

#endif // MAINWINDOW_H








