#ifndef _TEST_APP
#define _TEST_APP


#include "ofMain.h"
#include "particle.h"

#include "binner.h"

typedef struct{
	ofxVec3f pos;
	float intensity;
	float radius;
} force;

class testApp : public ofSimpleApp{
	
	public:
	
		int counter;
		
		void setup();
		void update();
		void draw();
	
		void setBoxSize(int width);
	
		void keyPressed  (int key);
		void keyReleased (int key);
		
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased();
		
		//let's make a vector of them
		vector <particle> particles;
		vector <particle> forces;
	
		ofxVec3f	screenCenter;
		ofxVec3f	center;
	
		float		z_angle;	
		float		zoom;
	
		ofxVec3f	rotateAmount;
		ofxVec3f	rotateSpeed;
		bool		bRotateX;
		bool		bRotateY;
		bool		bRotateZ;
		
		bool		bShowAxis;
		bool		bShowBounds;
	
		bool		bBinning;
	
		ofxVec3f	xAxisMax;
		ofxVec3f	xAxisMin;
		ofxVec3f	yAxisMax;
		ofxVec3f	yAxisMin;
		ofxVec3f	zAxisMax;
		ofxVec3f	zAxisMin;
	
		ofxVec3f	xMax;
		ofxVec3f	xMin;
		ofxVec3f	yMax;
		ofxVec3f	yMin;
		ofxVec3f	zMax;
		ofxVec3f	zMin;
	
	GLuint fogFilter;
	
	int mode;
	
	ofImage starImg1;
	ofTexture starTex1;
	
	
	
};

#endif
	
