/*******************************************************************
*
*  DESCRIPTION: Point
*
*  AUTHOR:    Victor Silva
*  
*
*  EMAIL: mailto://victorguidasilva@gmail.com
*
*  DATE: 26/5/2016
*
*******************************************************************/
#ifndef MOVEMENT_H
#define MOVEMENT_H

#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include "Point.h"
using namespace std;


using namespace std;

class movement
{
	public:
		movement(const Point& initialPosition, const Point& finalPosition, double speed);//constructor
		movement();		
		Point getInitialPosition(void);
		Point getFinalPosition(void);
		double getSpeed(void);
		double getTime(void);
		void setInitialPosition(Point position);
		void setFinalPosition(Point position);
		void setSpeed(double speed);
		void setTime(double time);
		double distance(Point point1, Point point2);
		Point findPosition(double distance, double anglePoints, Point initialPosition);
		double findTraveledDistance(double time, double speed);
		double findAnglePoints(Point point1, Point point2);

	private:
		Point initialPosition;
		Point finalPosition;
		double speed;//metres/seconds
		double time;//seconds
		
				
};


#endif // MOVEMENT_H
