Skip to content

Commit

Permalink
interlude questions
Browse files Browse the repository at this point in the history
  • Loading branch information
obviousjim committed Jun 11, 2014
1 parent 9c95a68 commit 480b61a
Show file tree
Hide file tree
Showing 15 changed files with 1,290 additions and 1,458 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Canvas>
<Kind>40</Kind>
<Name>FollowCam</Name>
<IsMinified>0</IsMinified>
<XPosition>276.000000000</XPosition>
<YPosition>43.000000000</YPosition>
<IsMinified>1</IsMinified>
<XPosition>917.000000000</XPosition>
<YPosition>206.000000000</YPosition>
</Canvas>
<Widget>
<Kind>4</Kind>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<Widget>
<Kind>4</Kind>
<Name>FOCAL DISTANCE</Name>
<Value>17.758604050</Value>
<Value>14.175726891</Value>
</Widget>
<Widget>
<Kind>4</Kind>
Expand All @@ -28,17 +28,17 @@
<Widget>
<Kind>4</Kind>
<Name>FLICKER FREQUENCY</Name>
<Value>14.876847267</Value>
<Value>44.137931824</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>FLICKER INTENSITY</Name>
<Value>11.384236336</Value>
<Value>8.650246620</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>FLICKER DAMPENING</Name>
<Value>0.078817733</Value>
<Value>0.147783250</Value>
</Widget>
<Widget>
<Kind>2</Kind>
Expand All @@ -63,7 +63,7 @@
<Widget>
<Kind>25</Kind>
<Name>LN_A</Name>
<Value>0.290640384</Value>
<Value>0.334975362</Value>
</Widget>
<Widget>
<Kind>25</Kind>
Expand All @@ -73,27 +73,27 @@
<Widget>
<Kind>25</Kind>
<Name>LE_SAT</Name>
<Value>0.523560822</Value>
<Value>0.397906393</Value>
</Widget>
<Widget>
<Kind>25</Kind>
<Name>LE_BRI</Name>
<Value>0.513088346</Value>
<Value>0.528795183</Value>
</Widget>
<Widget>
<Kind>25</Kind>
<Name>LE_A</Name>
<Value>0.133004919</Value>
<Value>0.083743840</Value>
</Widget>
<Widget>
<Kind>25</Kind>
<Name>COLOR MIX EXPONENT</Name>
<Value>3.783251286</Value>
<Value>4.433497429</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>LINE WIDTH</Name>
<Value>1.004926085</Value>
<Value>1.657635450</Value>
</Widget>
<Widget>
<Kind>2</Kind>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
<Widget>
<Kind>6</Kind>
<Name>POINT SIZE RANGE</Name>
<HighValue>1.120689154</HighValue>
<LowValue>0.500000000</LowValue>
<HighValue>3.982758760</HighValue>
<LowValue>3.189655304</LowValue>
</Widget>
<Widget>
<Kind>4</Kind>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Canvas>
<Kind>40</Kind>
<Name>Post Effects</Name>
<IsMinified>1</IsMinified>
<XPosition>1.000000000</XPosition>
<YPosition>377.000000000</YPosition>
<IsMinified>0</IsMinified>
<XPosition>95.000000000</XPosition>
<YPosition>505.000000000</YPosition>
</Canvas>
<Widget>
<Kind>2</Kind>
Expand All @@ -13,7 +13,7 @@
<Widget>
<Kind>4</Kind>
<Name>Chroma_Distortion</Name>
<Value>0.216346160</Value>
<Value>0.149038464</Value>
</Widget>
<Widget>
<Kind>4</Kind>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@
<Name>3DFollowCam</Name>
<Value>0</Value>
</Widget>
<Widget>
<Kind>2</Kind>
<Name>ClusterMapIntro_Screen</Name>
<Value>0</Value>
</Widget>
<Widget>
<Kind>2</Kind>
<Name>FollowTraverse_OculusHD</Name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<Kind>40</Kind>
<Name>Questions</Name>
<IsMinified>0</IsMinified>
<XPosition>458.000000000</XPosition>
<YPosition>187.000000000</YPosition>
<XPosition>415.000000000</XPosition>
<YPosition>162.000000000</YPosition>
</Canvas>
<Widget>
<Kind>2</Kind>
Expand All @@ -13,26 +13,46 @@
<Widget>
<Kind>4</Kind>
<Name>QUESTION SCALE</Name>
<Value>0.142857149</Value>
<Value>0.201970443</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>QUESTION CAM DIST</Name>
<Value>28.078819275</Value>
<Value>66.009849548</Value>
</Widget>
<Widget>
<Kind>6</Kind>
<Name>QUESTION TUG DISTANCE</Name>
<HighValue>85.369438171</HighValue>
<LowValue>34.384235382</LowValue>
<HighValue>172.857147217</HighValue>
<LowValue>27.733989716</LowValue>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>QUESTCAM SPIN</Name>
<Value>0.290640384</Value>
<Value>0.266009837</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>QUESTCAM AXIS DIST</Name>
<Value>0.000000000</Value>
<Value>38.423645020</Value>
</Widget>
<Widget>
<Kind>42</Kind>
<Name>FONT SIZE</Name>
<Value>24</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>FONT SCALE</Name>
<Value>0.049261082</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>TRACKING</Name>
<Value>12.413793564</Value>
</Widget>
<Widget>
<Kind>4</Kind>
<Name>Y POSITION</Name>
<Value>200.000000000</Value>
</Widget>
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<Kind>40</Kind>
<Name>Settings</Name>
<IsMinified>0</IsMinified>
<XPosition>287.000000000</XPosition>
<YPosition>297.000000000</YPosition>
<XPosition>942.000000000</XPosition>
<YPosition>557.000000000</YPosition>
</Canvas>
<Widget>
<Kind>2</Kind>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,6 @@ void CloudsVisualSystemOpenP5SpaceJunk::selfSetDefaults(){
}

void CloudsVisualSystemOpenP5SpaceJunk::selfGuiEvent(ofxUIEventArgs &e){
// if(e.widget->getName() == "Custom Button"){
// cout << "Button pressed!" << endl;
// }

if(e.widget->getName() == "REGENERATE" && ((ofxUIButton*)e.widget)->getValue() ){
shouldRegenerate = true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ CloudsVisualSystemClusterMap::CloudsVisualSystemClusterMap(){
associationFontSize = 0;
currentAssociationFont = 0;
numTraversed = 0;
curQuestionCamRotation = 0;
///END INIT
}

Expand Down Expand Up @@ -127,6 +128,14 @@ void CloudsVisualSystemClusterMap::selfSetDefaults(){
selectedQuestion = NULL;
caughtQuestion = NULL;

questionScale = 0.1f;
questionFontScale = 14;
currentQuestionFontSize = 10;
questionFontSize = 5;
questionFontScale = 1.0;
questionFontTracking = 0;
questionFontY = 0;

firstClip = true;
}

Expand Down Expand Up @@ -326,9 +335,15 @@ void CloudsVisualSystemClusterMap::selfSetupGui(){
questionGui->addToggle("QUESTION CAM", &useQuestionCam);
questionGui->addSlider("QUESTION SCALE", 0, 1.0, &questionScale);
questionGui->addSlider("QUESTION CAM DIST", 0, 100, &questionCameraDistance);
questionGui->addRangeSlider("QUESTION TUG DISTANCE", 10, 100, &questionTugDistance.min, &questionTugDistance.max);
questionGui->addRangeSlider("QUESTION TUG DISTANCE", 10, 300, &questionTugDistance.min, &questionTugDistance.max);
questionGui->addSlider("QUESTCAM SPIN", .0, 1.0, &questionCameraSpinSpeed);
questionGui->addSlider("QUESTCAM AXIS DIST", 0.0, 100.0, &questionCameraAxisDist);

questionGui->addLabel("QUESTION TYPE");
questionGui->addIntSlider("FONT SIZE", 4, 100, &questionFontSize);
questionGui->addSlider("FONT SCALE", 0, 1.0, &questionFontScale);
questionGui->addSlider("TRACKING", 0, 30, &questionFontTracking);
questionGui->addSlider("Y POSITION", -200, 200, &questionFontY);

ofAddListener(questionGui->newGUIEvent, this, &CloudsVisualSystemClusterMap::selfGuiEvent);
guis.push_back(questionGui);
Expand Down Expand Up @@ -1033,9 +1048,13 @@ void CloudsVisualSystemClusterMap::selfUpdate(){
else{
curAtten = powf(ofMap(caughtQuestion->hoverPercentComplete, 0.0, .2, 1.0, 0.0, true), 2.0);
}
//questionSpinAttenuate += (curAtten - questionSpinAttenuate) * .1;
questionSpinAttenuate = curAtten;
questionCam.rotate(questionCameraSpinSpeed * questionSpinAttenuate, ofVec3f(0,1,0));
questionSpinAttenuate += (curAtten - questionSpinAttenuate) * .1;
//questionSpinAttenuate = curAtten;
curQuestionCamRotation += questionCameraSpinSpeed * questionSpinAttenuate;

//questionCam.rotate(questionCameraSpinSpeed * questionSpinAttenuate, ofVec3f(0,1,0));
questionCam.setPosition( ofVec3f(0,0,questionCameraAxisDist).getRotated(curQuestionCamRotation, ofVec3f(0,1,0)) );
questionCam.lookAt(ofVec3f(0,0,0));
}
else{
float percentZoomed = powf(ofMap(ofGetElapsedTimef(), selectedQuestionTime, selectedQuestionTime + 2.0, 0.0, 1.0, true),2.);
Expand Down Expand Up @@ -1270,6 +1289,7 @@ void CloudsVisualSystemClusterMap::selfDraw(){
glPopAttrib();

drawQuestions();

}

void CloudsVisualSystemClusterMap::updateQuestions(){
Expand All @@ -1284,7 +1304,6 @@ void CloudsVisualSystemClusterMap::updateQuestions(){
curQuestion.hoverPosition = getCameraRef().getPosition() + ofVec3f(questionCameraDistance,0,0).getRotated(1.0*i/questions.size() * 360, ofVec3f(0,1,0));
}


#ifdef OCULUS_RIFT
ofVec3f screenPos = getOculusRift().worldToScreen(curQuestion.hoverPosition, true);
ofRectangle viewport = getOculusRift().getOculusViewport();
Expand Down Expand Up @@ -1360,6 +1379,84 @@ void CloudsVisualSystemClusterMap::drawQuestions(){

ofEnableDepthTest();
ofPopStyle();

ofPushStyle();
ofDisableLighting();

if(!questionFont.isLoaded() || currentQuestionFontSize != questionFontSize){
questionFont.loadFont(GetCloudsDataPath() + "font/Blender-BOOK.ttf", questionFontSize);
currentQuestionFontSize = questionFontSize;
}
string questionText;
ofVec3f basePosition(0,0,0);
float questionTextOpacity = 0.0;
float scaleModifier = 1.0;// * ofGetMouseX() / ofGetWidth();

if(caughtQuestion != NULL){
basePosition = caughtQuestion->hoverPosition;
questionText = caughtQuestion->question;
questionTextOpacity = ofMap(caughtQuestion->hoverPercentComplete, 0.0, .05, 0.0, 1.0, true);

scaleModifier = .5;
questionFont.setTracking(questionFontTracking*.1);

questionText = ofToUpper(questionText);

float questionTextWidth = questionFont.stringWidth(questionText);
float questionTextWidth2, questionTextHeight2;
string secondLine;
bool twoLines = questionTextWidth > 500;
if(twoLines){
vector<string> pieces = ofSplitString(questionText, " ", true,true);
vector<string> firstHalf;
vector<string> secondHalf;
int halfsize = pieces.size() / 2;
firstHalf.insert(firstHalf.begin(), pieces.begin(), pieces.begin() + halfsize);
secondHalf.insert(secondHalf.begin(), pieces.begin() + halfsize, pieces.end());
questionText = ofJoinString(firstHalf, " ");
secondLine = ofJoinString(secondHalf, " ");
questionTextWidth = questionFont.stringWidth(questionText);
questionTextWidth2 = questionFont.stringWidth(secondLine);
}
float questionTextHeight = questionFont.stringHeight(questionText);

ofPushMatrix();
ofPushStyle();
ofEnableAlphaBlending();
ofDisableLighting();

#ifdef OCULUS_RIFT
getOculusRift().multBillboardMatrix( basePosition );
#else
ofNode n;
n.setPosition( basePosition );
n.lookAt(getCameraRef().getPosition(), getCameraRef().getUpDir());
ofVec3f axis; float angle;
n.getOrientationQuat().getRotate(angle, axis);
// Translate the object to its position.
ofTranslate( basePosition );
// Perform the rotation.
ofRotate(angle, axis.x, axis.y, axis.z);
#endif

ofRotate(180, 0, 0, 1); //flip around
ofScale(questionFontScale,questionFontScale,questionFontScale);
ofSetColor(255,255*questionTextOpacity);

questionFont.drawString(questionText, -questionTextWidth*.5, questionFontY - questionTextHeight*.5);
if(twoLines){
questionFont.drawString(secondLine, -questionTextWidth2*.5, questionFontY + questionTextHeight*1.5);
}

ofEnableLighting();
ofPopStyle();
ofPopMatrix();
}

ofEnableLighting();
glEnable(GL_DEPTH_TEST);
ofPopStyle();

}

void CloudsVisualSystemClusterMap::drawCursors(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -301,13 +301,21 @@ class CloudsVisualSystemClusterMap : public CloudsVisualSystem {
float selectedQuestionTime;
ofVec3f selectQuestionStartPos;
ofQuaternion selectQuestionStartRot;


int currentQuestionFontSize;
int questionFontSize;
float questionFontScale;
float questionFontTracking;
float questionFontY;
ofxFTGLFont questionFont;

ofVec3f cursor; //for question selection
ofVec3f stickyCursor;

float questionCameraSpinSpeed;
float questionSpinAttenuate;
float questionCameraAxisDist;
float curQuestionCamRotation;
float questionScale;
float questionCameraDistance;
ofRange questionTugDistance;
Expand Down
Loading

0 comments on commit 480b61a

Please sign in to comment.