#ifndef SCOUT_H
#define SCOUT_H
#include "interval.h"
#include "box.h"

class scout
{
public:
    double x,y,theta,v,u1,u2;
    scout(double x, double y, double theta, double v);
    box phi(const box&X,int k1, int k2);
    box E,Ebuddy;
    void SepObsk1k2(box& X, int k1, int k2, bool outer);
    void SepObsk1(box& X, int k1, bool outer);
    void CdistBuddy(box& X);
    void Contract(box& X, int k1);


    void ClockMove();
    void ClockStore(double boatx,double boaty, interval Dboat1);
    void Sivia(interval Dbuddy1, const box& Ubuddy1);
    void ClockNextE();
    void ClockControl(double Bx, double By, double Btheta,double Bthetadot,double Bv,double qx,double qy);


    vector<interval> V,Theta,Dboat;  // V:speed, Theta: heading; D: distance
    interval Dbuddy;
    vector<double> Boatx,Boaty;
};

#endif // SCOUT_H



