summaryrefslogtreecommitdiff
path: root/src/viewpoint.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2012-01-10 00:01:13 +0000
committerTim Redfern <tim@eclectronics.org>2012-01-10 00:01:13 +0000
commit7aa82f00186fe296ba0f818ce6cfe6cb4317bd68 (patch)
tree2be47ffdd90c77d7cecfefb5838b850121dbc646 /src/viewpoint.cpp
parent108fb02ea1e6630b27796c4f0da5236f9e6a7e7f (diff)
finish xml settings
Diffstat (limited to 'src/viewpoint.cpp')
-rw-r--r--src/viewpoint.cpp36
1 files changed, 27 insertions, 9 deletions
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<string,string>&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){