#ifndef _GRAPHICS_MODULE_BASE
#define _GRAPHICS_MODULE_BASE

#include "ofMain.h"
#include "ofVec3f.h"


//	----------------------------
//
// 	I draw stuff on screen
//


class graphicsModuleBase {
	
	public:
		
		graphicsModuleBase(){
			bPointNew = false;
		};
		
		virtual void 		setup(){};
		virtual void 		reset(){};
		virtual void 		update(){};
		virtual void 		draw(){};
		virtual bool 		bAmIdone(){return false;};
		
		virtual ofVec3f		getStartPosition(){return ofVec3f(0,0,0);};
		virtual float		getStartAngle(){ return 0;};
		
		// graphics modules can "add" their points...
		//-------------------------------------------
		void 				addPoint(ofVec3f point){ pt = point; bPointNew = true;}
		bool				bHaveNewPoint(){return bPointNew;}
		ofVec3f				getNewPoint(){bPointNew = false; return pt;}

		bool 				bPointNew;
		ofVec3f 			pt;
		//-------------------------------------------
		

};

#endif	