#pragma once

#include "ofxPoint2f.h"
#include "ofMain.h"


class bouncerShape{

	public:
		bouncerShape();		
		~bouncerShape();

		void setPosition(ofPoint newPos);
		void setTarget(ofPoint target);
		void begin(ofPoint srcIn, ofPoint dstIn);
		void begin(ofPoint dstIn);
		void setEnergy(float energyIn);
		
		void checkSrcDst();
		
		void setDirection(ofPoint vecIn, float distance);

		void reset();
		
		int getState(){
			return reachedTarget;
		}
		
		float update(float speed, bool affectByDistance = false);
		
		ofxVec2f   vec;
		
		ofxPoint2f src;
		ofxPoint2f dst;
		ofxPoint2f pos;
		
		float	friction;
		float	energy;
		float	pct;
		float	hSinPct;
		float	hCosPct;
		float	sinPct;
		float	cosPct;
		int	reachedTarget;
	
};
