From 7aa82f00186fe296ba0f818ce6cfe6cb4317bd68 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Tue, 10 Jan 2012 00:01:13 +0000 Subject: finish xml settings --- src/keyVar.cpp | 3 +++ src/keyVar.h | 1 + src/viewpoint.cpp | 36 +++++++++++++++++++++++++++--------- 3 files changed, 31 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/keyVar.cpp b/src/keyVar.cpp index 2c92896..06fd2bd 100644 --- a/src/keyVar.cpp +++ b/src/keyVar.cpp @@ -52,3 +52,6 @@ float keyVar::getInc(){ float segment = min(1.0f,(ofGetElapsedTimef()-timePressed)/accelTime); return pow(segment,accel)*speed*state; } +void keyVar::setVal(float _val){ + val=_val; +} diff --git a/src/keyVar.h b/src/keyVar.h index 2187611..c68ffab 100644 --- a/src/keyVar.h +++ b/src/keyVar.h @@ -17,6 +17,7 @@ class keyVar{ void keyReleased(char _key); float getVal(); float getInc(); + void setVal(float _val); private: char keyInc,keyDec; diff --git a/src/viewpoint.cpp b/src/viewpoint.cpp index 31d2ec7..2b7cd7a 100644 --- a/src/viewpoint.cpp +++ b/src/viewpoint.cpp @@ -16,14 +16,14 @@ void viewpoint::setup(map&settings){ vars=new keyVar[8]; - vars[0].set('w','s',17.25,0.5,1.0,3.0); - vars[1].set('g','d',0.0,10,1.0,3.0); - vars[2].set('r','v',112,10,1.0,3.0); - vars[3].set('t','c',0.0,10,1.0,3.0); - vars[4].set('u','n',0.0,10,1.0,3.0); - vars[5].set('j','h',0.0,10,1.0,3.0); - vars[6].set('o','l',1000.0,10,1.0,3.0); - vars[7].set('q','a',0,.000001,1.0,3.0); + vars[0].set('w','s',ofToFloat(settings["fov"]),0.5,1.0,3.0); + vars[1].set('g','d',ofToFloat(settings["targX"]),10,1.0,3.0); + vars[2].set('r','v',ofToFloat(settings["targY"]),10,1.0,3.0); + vars[3].set('t','c',ofToFloat(settings["targZ"]),10,1.0,3.0); + vars[4].set('u','n',ofToFloat(settings["lat"]),10,1.0,3.0); + vars[5].set('j','h',ofToFloat(settings["lng"]),10,1.0,3.0); + vars[6].set('o','l',ofToFloat(settings["dolly"]),10,1.0,3.0); + vars[7].set('q','a',0,ofToFloat(settings["distort"]),1.0,3.0); light.enable(); light.setDirectional(); @@ -33,7 +33,14 @@ double viewpoint::getSetting(const string& setting){ if (setting=="y") return window.y/ofGetHeight(); if (setting=="w") return window.width/ofGetWidth(); if (setting=="h") return window.height/ofGetHeight(); - if (setting=="distort") return distortFactor; + if (setting=="fov") return vars[0].getVal(); + if (setting=="targX") return vars[1].getVal(); + if (setting=="targY") return vars[2].getVal(); + if (setting=="targZ") return vars[3].getVal(); + if (setting=="lat") return vars[4].getVal(); + if (setting=="lng") return vars[5].getVal(); + if (setting=="dolly") return vars[7].getVal(); + if (setting=="distort") return vars[7].getVal(); } //-------------------------------------------------------------- void viewpoint::setLight(){ @@ -42,6 +49,16 @@ void viewpoint::setLight(){ camera.lookAt(target,ofVec3f(0,1,0)); light.setPosition(camera.getGlobalPosition()); } +void viewpoint::setDefaults(){ + vars[0].setVal(17.25); + vars[1].setVal(0.0); + vars[2].setVal(112.0); + vars[3].setVal(0.0); + vars[4].setVal(0.0); + vars[5].setVal(0.0); + vars[6].setVal(1000.0); + vars[7].setVal(0.0); +} //-------------------------------------------------------------- void viewpoint::begin(){ renderFBO.begin(); @@ -96,6 +113,7 @@ void viewpoint::end(){ void viewpoint::keyPressed(int key){ for (int i=0;i<8;i++) vars[i].keyPressed(key); if (DEBUG) printf("fov: %f distort: %f\n",vars[0].getVal(),vars[7].getVal()); + if (key=='!') setDefaults(); } //-------------------------------------------------------------- void viewpoint::keyReleased(int key){ -- cgit v1.2.3