summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/keyVar.cpp3
-rw-r--r--src/keyVar.h1
-rw-r--r--src/viewpoint.cpp36
3 files changed, 31 insertions, 9 deletions
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<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){