#ifndef sailboat_H
#define sailboat_H

#include <QtGui/QGraphicsView>


#include <cmath>
using namespace std;

#include <math.h>
#include "QObject"
#include <vector>
#include <list>





class sailboat
{    public:
            double x,y,theta,v,omega,phi,phiPoint; // state variables
            double beta, Jz, rg, rv, alphag, alphav, alphaf, alphatheta, l,m, Jx; //parameters
            double a,psi;  //wind
            double thetabar;
            double fg,fv,gamma_sail,deltav,deltag,deltavmax;  //link variables
            double eta;//viscosité
            double hv; // hauteur de centre de poussée
            double zeta;

            double L0,Radiusfield;
            double loadx,loady,loadvx,loadvy;


            vector<double> trajLoadx;
            vector<double> trajLoady;

            double eps;  // +1 si on favorise de sens direct dans le balayage.
            double zeta0; //demi angle du secteur
            double alphabar;  // feasible tow angle
            double alpha;     // azimut
            double alphastar; // wanted tow angle
            double   L; // distance to the load
            double mload;



            void Clock();
            void Controller();
            explicit sailboat ();
        ~sailboat();
  };


#endif // sailboat_H
