//---------------------------------------------------------------------------
#ifndef AUVH
#define AUVH


#include "OpenGLPanel.h"
#include <math.h>
#include <stdio.h>
#include <vector>

#include "interval.h"
#include "rmatrix.h"
#include "imatrix.h"

#define PI 3.1415926535897932384626433832795f
#define RadToDeg 180.0f/PI
#define DegToRad PI/180
#define PI_sur_180 PI/180.0f

//---------------------------------------------------------------------------

/*typedef struct
{
        double x,y,z;
} Etat;

typedef struct {
        interval X,Y,Z;
} iState;*/

/*typedef struct {
        double t,vx,vy,vz,phi,theta,psi,depth;
} mesures;*/


#define VECTOR_START_SIZE  36000
//---------------------------------------------------------------------------
class AUV
{
public:
        double x,y,z,phi,theta,psi;
        AUV();
        int computeState(double dT);
        void Draw();
      //  int getGLCoord(double *x,double *y,double *z,double x1, double y1, double z1);
      //  int getGLAngle(double *phi,double *theta,double *psi, double,double,double);
      //  int rotate(double r,double p,double h,double *x,double *y,double *z);
};
//---------------------------------------------------------------------------

#endif

