/************************************************************/
/*    NAME: BELLAICHE Adrien                                              */
/*    ORGN: MIT                                             */
/*    FILE: Behaviour.h                                          */
/*    DATE: December 29th, 1963                             */
/************************************************************/

#ifndef Behaviour_HEADER
#define Behaviour_HEADER

#include "MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
#include <fstream>
#include <iostream>
#include <sstream>

class Behaviour : public AppCastingMOOSApp
{
 public:
   Behaviour();
   ~Behaviour() {};
   std::ofstream log;

 protected: // Standard MOOSApp functions to overload  
   bool OnNewMail(MOOSMSG_LIST &NewMail);
   bool Iterate();
   bool OnConnectToServer();
   bool OnStartUp();

 protected: // Standard AppCastingMOOSApp function to overload 
   //bool buildReport();

 protected:
   void registerVariables();

 private: // Configuration variables
 	double des_range, des_angle, des_depth;

 private: // State variables
 	double px, py, pz;
 	double boatx, boaty, boatz, boath, boatw, boats;
 	float t;
};

#endif 
