/* 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" #define OF_ADDON_USING_OFXAVAHI //#include "ofxAvahiCoreBrowser.h" #include "ofxAvahiClient.h" #include "ofxOsc.h" #include "ofxNetwork.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; void prevMovie(); void nextMovie(); 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; //----------------avahi stuff ofxAvahiClientService avahiService; ofxTCPClient tcpClient; ofxOscReceiver oscReceiver; void SendInterface(std::string targetIP, std::string interfaceString); bool hasWaitingMessages(){ return oscReceiver.hasWaitingMessages(); } void getNextMessage(ofxOscMessage* m){ oscReceiver.getNextMessage(m); } void ProcessMessages(); };