/* Path.h
 *
 * Interface definition for the Path class, which is used as a return value for
 * Ball's calcPath function and is later manipulated in collisions.
 */

#ifndef PATH_H_INCLUDED
#define PATH_H_INCLUDED 1

#include "Tuple.h"
#include "Tuplex.h"

class Path
{
private:
	Tuple begPos_;
	Tuple endPos_;

public:
	// Constructors/Destructor
	Path(
		const Tuple& begPos, const Tuple& endPos);
	~Path();

	// Member functions
	const Path translate(const Tuple& translation) const;
	const Path rotate(const Tuplex& rotation) const;

	// Accessors
	const Tuple& begPos() const {return begPos_;}
	const Tuple& endPos() const {return endPos_;}

	// Debug
	void print();
};

#endif // PATH_H_INCLUDED
