/* projection calibration interface tjr dec 2011 1- ideal KB interface to move around & calibrate camera 2- automatically save settings, key to reset logically -rotate cam frame of reference -move cam xyz WRT frame of reference -don't do lookat speed interface detects each key on-off & applies key acceleration have to track how many frames each key has been pressed for 1- this is a case for a class 2- can key presses overlap? 3- class deals with keys in pairs as you can't move something simultaneously in 2 dirs */ #pragma once #define CALIBRATE 1 #define DISPLAY 2 #define GRAB 3 #define NOTHING 4 #include "ofMain.h" #include "ofEvents.h" #include "ofxXmlSettings.h" #include "ofx3DModelLoader.h" #include "mapUtils.h" #include "viewpoint.h" class testApp : public ofBaseApp{ public: ~testApp(); void setup(); void update(); void draw(); void loadSettings(string filename); void saveSettings(string filename); 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(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); void doTransition(); float transTime; bool transition; string model_name; float model_x; float model_y; float model_z; ofx3DModelLoader model; ofVideoPlayer calibrator_label; ofVideoPlayer texture; string* clips; int numClips; int whichClip; int switchClip; viewpoint* views; int activeView; //receives keypresses int numViews; int mode; ofxXmlSettings XML; bool light; float mixAmount; ofVideoGrabber vidGrabber; unsigned char * videoInverted; ofTexture videoTexture; int camWidth; int camHeight; bool grabberAvailable; void setupArduino(const int & version); void updateArduino(); ofArduino ard; bool bSetupArduino; // flag variable for setting up arduino once int bSwitchArduino; };