From 962250b98ae2c9158e86fd5c6092e5db2d4317a8 Mon Sep 17 00:00:00 2001 From: James Alliban Date: Fri, 24 Jan 2014 04:02:59 +0000 Subject: [PATCH] Body and separate body graphs now animating - Also, added option to disable min/max graph clearing to GUI --- of/Active Tripod/bin/Active_Tripod.lib | Bin 78700 -> 78700 bytes .../GUI/BAR GRAPH DESIGNguiPagesettings.xml | 4 +- .../GUI/BODY GRAPH DESIGNguiPagesettings.xml | 6 +- .../data/GUI/GRAPH GLOBALguiPagesettings.xml | 9 +- ...ARATE BODY GRAPH DESIGNguiPagesettings.xml | 26 ++--- .../data/GUI/SIMULATIONguiPagesettings.xml | 6 +- of/Active Tripod/src/data/DataManager.cpp | 5 +- of/Active Tripod/src/data/DataManager.h | 2 + of/Active Tripod/src/gui/GUI.cpp | 3 + of/Active Tripod/src/visual/Scene.cpp | 44 +++++---- of/Active Tripod/src/visual/Scene.h | 2 + .../src/visual/graph/AbstractGraph.cpp | 7 ++ .../src/visual/graph/AbstractGraph.h | 12 +++ .../src/visual/graph/BodyGraph.cpp | 92 ++++++++++++++---- .../src/visual/graph/SeparateBodyGraph.cpp | 61 ++++++++---- of/Utility_Box/bin/Utility_Box.lib | Bin 78002 -> 78002 bytes .../bin/data/GUI/CAMERAguiPagesettings.xml | 2 +- of/Utility_Box/obj/Release/CL.read.1.tlog | Bin 2788974 -> 2789348 bytes of/Utility_Box/obj/Release/CL.write.1.tlog | Bin 214966 -> 215188 bytes of/Utility_Box/obj/Release/DataManager.obj | Bin 664691 -> 664818 bytes of/Utility_Box/obj/Release/Graph.obj | Bin 604360 -> 604360 bytes of/Utility_Box/obj/Release/Utility_Box.log | 4 +- .../obj/Release/Utility_Box.write.1.tlog | 10 ++ of/Utility_Box/obj/Release/cl.command.1.tlog | Bin 276958 -> 276958 bytes of/Utility_Box/obj/Release/vc110.pdb | Bin 4616192 -> 4616192 bytes of/Utility_Box/src/data/DataManager.cpp | 2 +- 26 files changed, 211 insertions(+), 86 deletions(-) diff --git a/of/Active Tripod/bin/Active_Tripod.lib b/of/Active Tripod/bin/Active_Tripod.lib index 71eb8c4cbed42ff3c7263efd6ee254e12bec6546..84ffa71ab7449360c90c511652e05bc892f77bc6 100644 GIT binary patch delta 7553 zcmaJ`d2p5070-oiWFZMJdGBR|L`Xtb-b)Bzl|rPJp*Dg#40I}u(P?LdQ9zv*%23SI z7L|dZXYiH*1|%X4s6kK=C`(v`f-KRZ$QHt|LrCIAF$Q|?`Mz`ReaTGuFXx`+clPr= zZe9+*c{zM>Mr3(e`S9{G2-JB$95Luo>(5QI9xbu|hCRzm&9l!R9G>O;dn)GFqIcN1 zi!G1)L|9lfOk0`0=@%=$5r*08DJ>snare^Pn|{AC-sXWts}g%_`rE695MAz$7X_LK zy;qO1^ug1slaV}o^#erCT2~OKLF9&oh4l)H4uk5+$q-(bOYea?N7Ix#TLiTnt|R3# zE7~O^F)ib#Tr$eW|Q5MFNr z;$oRnPgsoiCzu8*t_ZDi9R&$SpL9rj*F8qC79Vs-W7m%*Qa~fU&qdm}{t=>2IPb8I zde35YNL$|{C=enYe4nHZ#D@1RUPnCd1B+yZY2^nTCaQw$h8|T=+dvK)BM}=|BgJ9v z24d3~;p_$vmR+F=a+WT;#igmT*dy}D-K@(Fxal8GB$Ae^>h#3waxGGF_o=RFDNTp8 zjaG6T{KykjJOh!(3oFWEAmLNizWb*FWGPlGgA~j2r5SR4nz4>yq;h$26URX%0bv&? zxm*o<#*=>eNiSgo(7s{nr++k#peuVwy73WZgfrDgyHld{Wn1SCSjf&GfNfUQ77j@>b-PD<(epVHna|=sY-VIdiK+vY%NUFzGBvXbAT)`>4+ie`llICagZy4 zoY--YoxplivmV2tXTaks9E%5Lz;oC0D4D8%@mcrp6Zo7f^L!>HiH96aBM()&BD7|A z9HIgy%BaKLDUD2V29lb2Xid+~$!N_Bm4As|CTvLwU3VFuvy@#gi_glGs8I=<{N-5qWPgwCb*HMEZ6R7Mj z36#2QebDx!vlir+d|uILiTaAXNy|YVBaTD4*U>1ne8L;$pK4n^^5DOt+nVzi* z;dqfBuHUeyyvAI0*Ikxp2y^!hH3w?WdSTTcVxcM!0hwQO>)4>?oMlih8Qs=PelE&; z&QS^K3c<%R_4pTjtUXswsJlzgLxvS4QIOWmL9?U!vZJAyG<1hwgYP3=PlQ|RZ0CWJ zKleN*-;U>BQ7$nM4e2fHvXVjQ`eJ$o8B#VD5_HO2TT4jZXn0P)&^<($&Ko_*9JyDa z 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 D>yjB6 diff --git a/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml index 51fbde4..613d5f1 100644 --- a/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml @@ -1,7 +1,7 @@ 4 Graph Item X Gap - 11.809210777 + 9.144737244 4 @@ -16,7 +16,7 @@ 4 Data send speed (seconds) - 4.944078445 + 4.485855103 4 diff --git a/of/Active Tripod/bin/data/GUI/BODY GRAPH DESIGNguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/BODY GRAPH DESIGNguiPagesettings.xml index 859af79..5747352 100644 --- a/of/Active Tripod/bin/data/GUI/BODY GRAPH DESIGNguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/BODY GRAPH DESIGNguiPagesettings.xml @@ -11,12 +11,12 @@ 4 Graph Item X Gap - 6.332236767 + 7.960526466 4 Line width - 7.125000000 + 4.707237244 4 @@ -26,7 +26,7 @@ 4 Data send speed (seconds) - 4.027631760 + 3.438486814 4 diff --git a/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml index 9056bea..178e857 100644 --- a/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml @@ -1,7 +1,7 @@ 2 Bar graph - 1 + 0 2 @@ -11,12 +11,17 @@ 2 Separate Body graph + 1 + + + 2 + Toggle New Min/Max clear 0 6 Graph X begin/end (percent) - 0.786184192 + 0.779605269 0.059210528 diff --git a/of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml index 537225e..20acb27 100644 --- a/of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml @@ -6,65 +6,65 @@ 4 Graph Item X Gap - 5.000000000 + 10.032894135 4 Line width - 1.000000000 + 4.546052933 4 Graph Height Max - 0.000000000 + 0.398026317 4 Graph bottom end (percent) - 0.000000000 + 1.039473653 4 Data send speed (seconds) - 0.100000001 + 4.682236671 4 Data0 red - 0.000000000 + 167.763153076 4 Data0 green - 0.000000000 + 33.552631378 4 Data0 blue - 0.000000000 + 135.888153076 4 Data0 alpha - 0.000000000 + 140.921051025 4 Data1 red - 0.000000000 + 31.875000000 4 Data1 green - 0.000000000 + 213.898025513 4 Data1 blue - 0.000000000 + 52.006576538 4 Data1 alpha - 0.000000000 + 104.013153076 diff --git a/of/Active Tripod/bin/data/GUI/SIMULATIONguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/SIMULATIONguiPagesettings.xml index 1908c35..e753b3c 100644 --- a/of/Active Tripod/bin/data/GUI/SIMULATIONguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/SIMULATIONguiPagesettings.xml @@ -6,15 +6,15 @@ 4 Speed (data per frame) - 1.582236767 + 4.687500000 4 Perlin X Scale (data size) - 0.163503304 + 0.273480266 4 Perlin Y Scale (time f) - 0.217671067 + 0.283328950 diff --git a/of/Active Tripod/src/data/DataManager.cpp b/of/Active Tripod/src/data/DataManager.cpp index d2f782e..efe7dd3 100644 --- a/of/Active Tripod/src/data/DataManager.cpp +++ b/of/Active Tripod/src/data/DataManager.cpp @@ -23,9 +23,12 @@ void DataManager::setup() //isPublisher0DataReceived = false; //isPublisher1DataReceived = false; + + nameConcat = " dev"; setupSpacebrew(); + nextDataSendTime = 0.1; } @@ -33,7 +36,7 @@ void DataManager::setup() void DataManager::setupSpacebrew() { string host = "54.194.189.129"; // Spacebrew::SPACEBREW_CLOUD; // "localhost"; - string name = "Active Tripod " + ofToString(appId); + string name = "Active Tripod " + ofToString(appId) + nameConcat; string description = "Description goes here. Not sure why. Let me know if you see this and tell me if you need it"; spacebrew.addSubscribe(publisher0Name, Spacebrew::TYPE_STRING); diff --git a/of/Active Tripod/src/data/DataManager.h b/of/Active Tripod/src/data/DataManager.h index d8f773c..c34a9e2 100644 --- a/of/Active Tripod/src/data/DataManager.h +++ b/of/Active Tripod/src/data/DataManager.h @@ -38,6 +38,8 @@ class DataManager int appId; + string nameConcat; + // create your spacebrew object Spacebrew::Connection spacebrew; diff --git a/of/Active Tripod/src/gui/GUI.cpp b/of/Active Tripod/src/gui/GUI.cpp index fe696ec..de74c65 100644 --- a/of/Active Tripod/src/gui/GUI.cpp +++ b/of/Active Tripod/src/gui/GUI.cpp @@ -66,6 +66,9 @@ void GUI::addGraphGlobalGUI() gui->addRadio("Graph Selection", graphNames, OFX_UI_ORIENTATION_VERTICAL, dim*2, dim*2); + gui->addSpacer(length, 1); + gui->addToggle("Toggle New Min/Max clear", &app->scene.isClearOnNewMinMax, toggleDim, toggleDim); + gui->addSpacer(length, 1); gui->addRangeSlider("Graph X begin/end (percent)", 0, 1, &AbstractGraph::minGraphPercent, &AbstractGraph::maxGraphPercent, length, dim); diff --git a/of/Active Tripod/src/visual/Scene.cpp b/of/Active Tripod/src/visual/Scene.cpp index e7e93cf..62b922e 100644 --- a/of/Active Tripod/src/visual/Scene.cpp +++ b/of/Active Tripod/src/visual/Scene.cpp @@ -22,7 +22,8 @@ void Scene::setup() text.loadFont("fonts/Roboto-Light.ttf", 8); - isTestScrambleMinMaxData = false; + //isTestScrambleMinMaxData = false; + isClearOnNewMinMax = false; } @@ -78,6 +79,12 @@ void Scene::drawGraphValues() ofPoint val0 = activeGraph->currentPub0Point; ofPoint val1 = activeGraph->currentPub1Point; + + if (activeGraph->graphName == "BODY" || activeGraph->graphName == "SEPARATE_BODY") + { + val0 = activeGraph->graphTextPnt0; + val1 = activeGraph->graphTextPnt1; + } string stringVal0 = reduceDecimalCount(activeGraph->publisher0Data.back().stringValue, 4); string stringVal1 = reduceDecimalCount(activeGraph->publisher1Data.back().stringValue, 4); @@ -178,10 +185,8 @@ void Scene::drawHUDCopy() average0 += p0Data->at(p0Data->size() - i - 1).value; average0 /= amountToAverage; - printf("l average0:%llu\n", average0); string valueWithCommas = addCommasToNumberString(ofToString(average0)); - printf("l av valueWithCommas:%s\n", valueWithCommas.c_str()); - + blStr = "Increase: " + ofToString(p0Data->back().value - p0Data->at(p0Data->size() - 2).value) + "\n" + "Current Value: " + stringVal0 + "\n" + "Running average: " + reduceDecimalCount(valueWithCommas, 4); @@ -194,10 +199,8 @@ void Scene::drawHUDCopy() average0 += p0Data->at(p0Data->size() - i - 1).value; average0 /= amountToAverage; - printf("f average0:%f\n", average0); string valueWithCommas = (average0 > 999) ? addCommasToNumberString(ofToString(average0)) : ofToString(average0); - printf("f av valueWithCommas:%s\n", valueWithCommas.c_str()); - + blStr = "Increase: " + ofToString(p0Data->back().value - p0Data->at(p0Data->size() - 2).value) + "\n" + "Current Value: " + stringVal0 + "\n" + "Running average: " + reduceDecimalCount(valueWithCommas, 4); @@ -212,10 +215,8 @@ void Scene::drawHUDCopy() average1 += p1Data->at(p1Data->size() - i - 1).value; average1 /= amountToAverage; - printf("l average0:%llu\n", average1); string valueWithCommas = addCommasToNumberString(ofToString(average1)); - printf("l av valueWithCommas:%s\n", valueWithCommas.c_str()); - + brStr = "Increase: " + ofToString(p1Data->back().value - p1Data->at(p1Data->size() - 2).value) + "\n" + "Current Value: " + stringVal1 + "\n" + "Running average: " + reduceDecimalCount(valueWithCommas, 4); @@ -228,10 +229,8 @@ void Scene::drawHUDCopy() average1 += p1Data->at(p1Data->size() - i - 1).value; average1 /= amountToAverage; - printf("f average1:%f\n", average1); string valueWithCommas = (average1 > 999) ? addCommasToNumberString(ofToString(average1)) : ofToString(average1); - printf("f av valueWithCommas:%s\n", valueWithCommas.c_str()); - + brStr = "Increase: " + ofToString(p1Data->back().value - p1Data->at(p1Data->size() - 2).value) + "\n" + "Current Value: " + stringVal1 + "\n" + "Running average: " + reduceDecimalCount(valueWithCommas, 4); @@ -300,16 +299,19 @@ void Scene::drawHUDColourBars() void Scene::addNewData(vector newData) { - if (barGraph.publisher0Data.size() > 0) + if (isClearOnNewMinMax) { - if (newData[0].min != barGraph.publisher0Data.back().min || - newData[0].max != barGraph.publisher0Data.back().max || - newData[1].min != barGraph.publisher1Data.back().min || - newData[1].max != barGraph.publisher1Data.back().max) + if (barGraph.publisher0Data.size() > 0) { - barGraph.clear(); - bodyGraph.clear(); - separateBodyGraph.clear(); + if (newData[0].min != barGraph.publisher0Data.back().min || + newData[0].max != barGraph.publisher0Data.back().max || + newData[1].min != barGraph.publisher1Data.back().min || + newData[1].max != barGraph.publisher1Data.back().max) + { + barGraph.clear(); + bodyGraph.clear(); + separateBodyGraph.clear(); + } } } diff --git a/of/Active Tripod/src/visual/Scene.h b/of/Active Tripod/src/visual/Scene.h index a6eb37e..ccbe98c 100644 --- a/of/Active Tripod/src/visual/Scene.h +++ b/of/Active Tripod/src/visual/Scene.h @@ -87,6 +87,8 @@ public: string brStr; float averageAmount; + bool isClearOnNewMinMax; + // text colour boxes float topColourBoxXOffset; float bottomColourBoxXOffset; diff --git a/of/Active Tripod/src/visual/graph/AbstractGraph.cpp b/of/Active Tripod/src/visual/graph/AbstractGraph.cpp index 1c746a6..6dcbec3 100644 --- a/of/Active Tripod/src/visual/graph/AbstractGraph.cpp +++ b/of/Active Tripod/src/visual/graph/AbstractGraph.cpp @@ -13,12 +13,14 @@ float AbstractGraph::maxGraphPercent; void AbstractGraph::setup() { + millisSinceLastPoint = 0; } void AbstractGraph::update() { maxData = (ofGetWidth() * (AbstractGraph::maxGraphPercent - AbstractGraph::minGraphPercent)) / graphItemXGap; + normalisedTimeInc = ofMap(ofGetElapsedTimeMillis(), millisSinceLastPoint, millisSinceLastPoint + millisGap, 0, 1); } @@ -31,9 +33,14 @@ void AbstractGraph::draw() void AbstractGraph::addNewData(vector newData) { + millisGap = ofGetElapsedTimeMillis() - millisSinceLastPoint; + millisSinceLastPoint = ofGetElapsedTimeMillis(); + + publisher0Data.push_back(newData[0]); publisher1Data.push_back(newData[1]); + while (publisher0Data.size() > maxData && publisher0Data.size() > maxData) { publisher0Data.erase(publisher0Data.begin()); diff --git a/of/Active Tripod/src/visual/graph/AbstractGraph.h b/of/Active Tripod/src/visual/graph/AbstractGraph.h index 29982e8..74f5550 100644 --- a/of/Active Tripod/src/visual/graph/AbstractGraph.h +++ b/of/Active Tripod/src/visual/graph/AbstractGraph.h @@ -41,4 +41,16 @@ public: string graphName; float sendDataSpeed; + + float millisSinceLastPoint; + float millisGap; + //ofVec3f lastVecTarget0; + //ofVec3f lastVecTarget1; + float normalisedTimeInc; + + ofPoint endPoint0; + ofPoint endPoint1; + + ofPoint graphTextPnt0; + ofPoint graphTextPnt1; }; \ No newline at end of file diff --git a/of/Active Tripod/src/visual/graph/BodyGraph.cpp b/of/Active Tripod/src/visual/graph/BodyGraph.cpp index 8bd30e2..83296ea 100644 --- a/of/Active Tripod/src/visual/graph/BodyGraph.cpp +++ b/of/Active Tripod/src/visual/graph/BodyGraph.cpp @@ -30,6 +30,7 @@ void BodyGraph::draw() ofDrawBitmapString("Time to fill screen:" + ofToString(timePerScreenfull), 500, 150); } + if (publisher0Data.size() > 1) { float xOffset = ofGetWidth() * AbstractGraph::minGraphPercent; @@ -41,32 +42,67 @@ void BodyGraph::draw() // draw main part of graph (xOffset) ofMesh body; body.setMode(OF_PRIMITIVE_TRIANGLE_STRIP); + for (int i = 0; i < publisher0Data.size() - 1; i++) { - body.addVertex(ofVec3f( - i * graphItemXGap + xOffset, - ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax), - 0)); - body.addVertex(ofVec3f( - i * graphItemXGap + xOffset, - ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax), - 0)); - + if (i < publisher0Data.size() - 2) + { + body.addVertex(ofVec3f( + i * graphItemXGap + xOffset, + ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax), + 0)); + body.addVertex(ofVec3f( + i * graphItemXGap + xOffset, + ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax), + 0)); + } + else + { + float targetY0 = ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax); + float prevY0 = ofMap(publisher0Data[i-1].value, publisher0Data[i-1].min, publisher0Data[i-1].max, outputMin, outputMax); + endPoint0.y = ofMap(normalisedTimeInc, 0, 1, prevY0, targetY0); + + float targetY1 = ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax); + float prevY1 = ofMap(publisher1Data[i-1].value, publisher1Data[i-1].min, publisher1Data[i-1].max, outputMin, outputMax); + endPoint1.y = ofMap(normalisedTimeInc, 0, 1, prevY1, targetY1); + + endPoint0.x = (i-1) * graphItemXGap + xOffset + (graphItemXGap * normalisedTimeInc); + endPoint1.x = endPoint0.x; + + body.addVertex(ofVec3f( + endPoint0.x, + endPoint0.y, + 0)); + body.addVertex(ofVec3f( + endPoint1.x, + endPoint1.y, + 0)); + } body.addColor(ofColor(col0[0],col0[1],col0[2], col0[3])); body.addColor(ofColor(col1[0],col1[1],col1[2], col1[3])); if (i == publisher0Data.size() - 2) { - currentPub0Point = ofPoint(i * graphItemXGap + xOffset, - ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax)); - currentPub1Point = ofPoint(i * graphItemXGap + xOffset, - ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax)); + currentPub0Point = body.getVertex(body.getVertices().size() - 2); + currentPub1Point = body.getVertices().back(); } } + ofPushMatrix(); + if (publisher0Data.size() >= maxData) ofTranslate(ofMap(normalisedTimeInc, 0, 1, 0, -graphItemXGap), 0); body.drawFaces(); + ofPopMatrix(); } + + graphTextPnt0 = currentPub0Point; + graphTextPnt1 = currentPub1Point; + if (publisher0Data.size() >= maxData) + { + float meshXOffset = ofMap(normalisedTimeInc, 0, 1, 0, -graphItemXGap); + graphTextPnt0.x += meshXOffset; + graphTextPnt1.x += meshXOffset; + } if (isDrawLines) { @@ -78,22 +114,40 @@ void BodyGraph::draw() { if (i < publisher0Data.size() - 1) { - poly0.addVertex(ofPoint( - i * graphItemXGap + xOffset, - ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax))); + if (i < publisher0Data.size() - 2) + { + poly0.addVertex(ofPoint( + i * graphItemXGap + xOffset, + ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax))); - poly1.addVertex(ofPoint( - i * graphItemXGap + xOffset, - ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax))); + poly1.addVertex(ofPoint( + i * graphItemXGap + xOffset, + ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax))); + } + else + { + poly0.addVertex(ofPoint( + endPoint0.x, + endPoint0.y)); + + + poly1.addVertex(ofPoint( + endPoint1.x, + endPoint1.y)); + } } } + ofSetLineWidth(lineWidth); + ofPushMatrix(); + if (publisher0Data.size() >= maxData) ofTranslate(ofMap(normalisedTimeInc, 0, 1, 0, -graphItemXGap), 0); ofSetColor(col0[0],col0[1],col0[2], 255); poly0.draw(); ofSetColor(col1[0],col1[1],col1[2], 255); poly1.draw(); + ofPopMatrix(); ofPopStyle(); } } diff --git a/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp b/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp index bd1f12f..ac3a7bb 100644 --- a/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp +++ b/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp @@ -53,19 +53,11 @@ void SeparateBodyGraph::draw() if (i < publisher0Data.size() - 1) { ofSetLineWidth(lineWidth); - poly0.addVertex(ofPoint( - i * graphItemXGap + xOffset, - ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax))); - - - poly1.addVertex(ofPoint( - i * graphItemXGap + xOffset, - ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax))); + poly0.addVertex(body0.getVertex(i*2)); + poly1.addVertex(body1.getVertex(i*2)); } } - - ofVec2f centroid0 = poly0.getCentroid2D(); ofVec2f centroid1 = poly1.getCentroid2D(); @@ -82,7 +74,19 @@ void SeparateBodyGraph::draw() int lineAlpha = 255; if (!isDrawLines) lineAlpha = 0; + + graphTextPnt0 = currentPub0Point; + graphTextPnt1 = currentPub1Point; + ofPushMatrix(); + if (publisher0Data.size() >= maxData) + { + float meshXOffset = ofMap(normalisedTimeInc, 0, 1, 0, -graphItemXGap); + ofTranslate(meshXOffset, 0); + graphTextPnt0.x += meshXOffset; + graphTextPnt1.x += meshXOffset; + } + if (av0 < av1) { body0.drawFaces(); @@ -103,6 +107,7 @@ void SeparateBodyGraph::draw() ofSetColor(col0[0],col0[1],col0[2], lineAlpha); poly0.draw(); } + ofPopMatrix(); ofPopStyle(); } @@ -120,14 +125,34 @@ ofMesh SeparateBodyGraph::getMesh(vector publisherData, float* col) bodyMesh.setMode(OF_PRIMITIVE_TRIANGLE_STRIP); for (int i = 0; i < publisherData.size() - 1; i++) { - bodyMesh.addVertex(ofVec3f( - i * graphItemXGap + xOffset, - ofMap(publisherData[i].value, publisherData[i].min, publisherData[i].max, outputMin, outputMax), - 0)); - bodyMesh.addVertex(ofVec3f( - i * graphItemXGap + xOffset, - ofGetHeight() * graphEndPercent, - 0)); + if (i < publisherData.size() - 2) + { + bodyMesh.addVertex(ofVec3f( + i * graphItemXGap + xOffset, + ofMap(publisherData[i].value, publisherData[i].min, publisherData[i].max, outputMin, outputMax), + 0)); + bodyMesh.addVertex(ofVec3f( + i * graphItemXGap + xOffset, + ofGetHeight() * graphEndPercent, + 0)); + } + else + { + float targetY0 = ofMap(publisherData[i].value, publisherData[i].min, publisherData[i].max, outputMin, outputMax); + float prevY0 = ofMap(publisherData[i-1].value, publisherData[i-1].min, publisherData[i-1].max, outputMin, outputMax); + endPoint0.y = ofMap(normalisedTimeInc, 0, 1, prevY0, targetY0); + endPoint0.x = (i-1) * graphItemXGap + xOffset + (graphItemXGap * normalisedTimeInc); + + bodyMesh.addVertex(ofVec3f( + endPoint0.x, + endPoint0.y, + 0)); + bodyMesh.addVertex(ofVec3f( + endPoint0.x, + ofGetHeight() * graphEndPercent, + 0)); + } + bodyMesh.addColor(ofColor(col[0],col[1],col[2], col[3])); bodyMesh.addColor(ofColor(col[0],col[1],col[2], 0)); diff --git a/of/Utility_Box/bin/Utility_Box.lib b/of/Utility_Box/bin/Utility_Box.lib index c20081abf71127196f45e1012829a4b685281b11..67a8c19427dd3e291403fb7e56fa161be397e9f9 100644 GIT binary patch delta 6988 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 delta 6941 zcmZ`;dr+0f73V_{Lct2SetjA^ZDGx>wbgRz;ZV-v;H zKQc^Ah)3OwWfaq3EYd4tN-d&-nnn{e@vSI&K{N(m_)3f->F$1K&+f(aPtKm_@0|17 z{VsLw{p;HMmnRJvSCBt?LIIRk+1m=zW*L8Oe`A)%_}dLTE24s@4%*&Q5fN;t!QJ)I zLOftYgk_4ol~P<(nM304s~)Zi>o-m@6?-jlNnfis6`IoPjx_j_Nhn>LZ8?eN@k9snL`$Zo!QVbn ziLz3DE^@j}7Qo}l(z3Wk6t@^M*$r=R&QM`6ozt5s9gc-?G3y^B;kZf{8Qet-cd=|z z9Lwluk&oyGH$ZwXnQsa?kIovEx zn$6nc#Y5I@Io0^KkUplHRYS>f4r?Pb`S(I;g5U!oBQm*Wjk^{AKm87V{ z(b=YSM9QMj1KVia7G98&>2<2~fU+`qS?SAN;IA8F0xCP1&Ed|H=Lu}aP~Az)tZ}=F z3Ot5v&?s(^4WsMbkTxz9Uig$?GCMd@Dt!HEPM<2g{~~{VXJr&O848Wd!{NftfLTFE zJoN;L|Di0mw*Fb=KDxn4?q@tXuXL0@J_=rKpyX6N|EBmHS6PpTo8-%M=kD-me{zro z%(Xk_C@IfGnmoZx#z>Pn{~50ic~bIlEI%A84@-FpZS|A_&r$d*Y?!A^Oh})QCR-PT z!nc&Q>U7ag>NJjY(@q*`tZaNERVHWz38S`A5r$ZQ5k74fS)#ACk4YkSlMY{0S=9($ z)l*>YaY3>j3KM!%RkWH9cB|EtBDn}+xF+*OSd|zLtM_E6vT+Z(_Rt<+CJUM~ z#WrOhp*G==R34#`z!kBNQu5JvBs675iH-bD<06i!#?da89aF9qeh_@z0FdZmk(Oe_ zj^h+jTzf?)jpe;O!8sR&!c`04VXCA&JTKe}>U#65-&P5vo-t2QQX~3t#RJ z(^@GLY}fi$g(;Lga=JT?r@jO>o=t~IXQ{iG_`0){I8If{Ihranp|`jL8wTfvLgP6C zkvCh;&uAWDsZ_{o8>=!lt(VEeF+FbcafR>-Tq4gCQkYozd6k%Kr3@o@`fcfHN^6|y z30d;p3yMDiZB|H|ll+NiJnazwQa|C3Ox5c*0T9_OZZ{<|6>%HC1IyZN=q?KdyMrJ> z6kq8e6LS;Gq{+p)JOatN?OwX5R*IIR^&&OWL~Mqj31}9x59pt8U zS83Rge3Pyb3n0gpUsDYUc%p9LMDpUwRPbKU(tyejE6FvY$V#b_4z<^*Mt+sbWARAX z$d8w=bi@3Ubd1FF<_$^$hp77o4H34j_@-(=Ai-5}uk9-nAgr6b8r!v?n+isj@ORU2 zAxzKTQZUg3p1eg$h{~+n3Kj7Tk$n@-kS&52U$vq0Hlc!07v52k$?NVrz()iBZh)cJkD{e)k^bMLEr$NUJ}d!Md-Y34x^A$o%N zG^Q-jq~eiw;(XMm_4W;2(MzE*nUo(%g0oloBemDjS(9Rsjswz~N{c|!FFclLS;RJa z;MqEh?A6?{q+p8%&lzX7I@qFl)*mA*yq`r)M$IMtv?hwW4Uw}|?B)Ixg2JBHGC<3D zA=;TUpR6Usq5(y%q5)dVd5g1pL*$Go%L%pAjEa@yjb!UXDGMBbW`}9_s8trGwalGr zWw!=eu`GF@{-Q9yan6e4cm~EXI_w hw(bo3MyuOT(=kHK$nNxo}+}7fFf~FVPE} z%u2w9>vc46&eF02gLECvrN9a!Gyo{_X%V#{ZLrQx|9r(h9Bip=l&bV%yu@?xLjuc= z)W0G7)Y_?tJx9TM=G$0?aHL??nsHyI*M60%D1`^XJ(ZLE%krqyBWg&3pb9gdE8 z<=m7yiR^@N?rbT`anYKA^Q!^#xh(qG0QXcz6F1{+jP|?K!D~YdSWi2_#Fxq)RB1~I zXKk@MAqapqQ`0M{HZXWkYgmV6mo3uT){P6D@i&V(8jL z9U43D8A_ceI4Xx~I2X= z9WrMrDO!Z7R;1{FNO*SYW1C!-syErW$XQRSMfZup`is+u_3_oo?rV{Hc8dHKr;{dr zw6pu^It&s<@i0T=jLf-Vx(aOn{NdDo=FgPBZL;&jt@*g3Lgr@AWmw{OaaNpR{Wjp> zB0rD|Uc{#?mc2OKN`|No=+nq~{jlAm0$S;2xjB|g63k@oZI~6dYGw))zZt{+l0z)u^fy3pxKPX& zps1L#KhjYlca-5c+V!g__F*pd5HPPBxjHXC@6t;AS0T#^gV7Z>Y@Im(+O88RVm&CyzEsHEnUeHSvE$%OFnx diff --git a/of/Utility_Box/bin/data/GUI/CAMERAguiPagesettings.xml b/of/Utility_Box/bin/data/GUI/CAMERAguiPagesettings.xml index dd7dddd..62a760f 100644 --- a/of/Utility_Box/bin/data/GUI/CAMERAguiPagesettings.xml +++ b/of/Utility_Box/bin/data/GUI/CAMERAguiPagesettings.xml @@ -1,7 +1,7 @@ 2 Rotation - 1 + 0 2 diff --git a/of/Utility_Box/obj/Release/CL.read.1.tlog b/of/Utility_Box/obj/Release/CL.read.1.tlog index dac18112c9aeb58689ac4c5b771031476d620f37..f5fceb0c2848fdcf42cab1bf09495b40eb48249c 100644 GIT binary patch delta 170 zcmXxbxemc_0D$q7s$1*6uc~w52@GQHXcB{X2D9Nyni!;x N%wJosc8}hB_649}JmCNU delta 300 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 delta 16348 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 Ya1{7>SCGTIE6BfqkN1~+{(%Ml54~@degFUf diff --git a/of/Utility_Box/obj/Release/Graph.obj b/of/Utility_Box/obj/Release/Graph.obj index 30a1da990baee8ff189c98e577be5d3be5a2bde8..a719e039611dafd3b52ea42464eb3699babe680b 100644 GIT binary patch delta 3891 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 delta 3792 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 Lp?=J9y0YuP2&T^Z diff --git a/of/Utility_Box/obj/Release/Utility_Box.log b/of/Utility_Box/obj/Release/Utility_Box.log index c0c721d..fee88af 100644 --- a/of/Utility_Box/obj/Release/Utility_Box.log +++ b/of/Utility_Box/obj/Release/Utility_Box.log @@ -1,4 +1,4 @@ -Build started 23/1/2014 12:29:50 PM. +Build started 24/1/2014 2:56:50 AM. 1>Project "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\Utility_Box.vcxproj" on node 2 (Build target(s)). 1>ClCompile: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /I..\..\..\libs\openFrameworks /I..\..\..\libs\openFrameworks\graphics /I..\..\..\libs\openFrameworks\app /I..\..\..\libs\openFrameworks\sound /I..\..\..\libs\openFrameworks\utils /I..\..\..\libs\openFrameworks\communication /I..\..\..\libs\openFrameworks\video /I..\..\..\libs\openFrameworks\types /I..\..\..\libs\openFrameworks\math /I..\..\..\libs\openFrameworks\3d /I..\..\..\libs\openFrameworks\gl /I..\..\..\libs\openFrameworks\events /I..\..\..\libs\glut\include /I..\..\..\libs\rtAudio\include /I..\..\..\libs\quicktime\include /I..\..\..\libs\freetype\include /I..\..\..\libs\freetype\include\freetype2 /I..\..\..\libs\freeImage\include /I..\..\..\libs\fmodex\include /I..\..\..\libs\videoInput\include /I..\..\..\libs\glew\include\ /I..\..\..\libs\glu\include /I..\..\..\libs\tess2\include /I..\..\..\libs\cairo\include\cairo /I..\..\..\libs\poco\include /I..\..\..\libs\glfw\include /I..\..\..\..\libs\openssl\include /I..\..\..\addons /Isrc /Isrc\data /Isrc\gui /Isrc\visual /Isrc\visual\graph /I..\..\..\addons\ofxLibwebsockets\libs\jsoncpp /I..\..\..\addons\ofxLibwebsockets\libs\jsoncpp\json /I..\..\..\addons\ofxLibwebsockets\libs\libwebsockets\include\ /I..\..\..\addons\ofxLibwebsockets\libs\openssl\openssl /I..\..\..\addons\ofxLibwebsockets\libs\ofxLibwebsockets\include /I..\..\..\addons\ofxLibwebsockets\libs\ofxLibwebsockets\include\ofxLibwebsockets /I..\..\..\addons\ofxLibwebsockets\libs\ofxLibwebsockets\src /I..\..\..\addons\ofxLibwebsockets\src /I..\..\..\addons\ofxLibwebsockets\libs\libwebsockets\include\win32port /I..\..\..\addons\ofxLibwebsockets\libs\libwebsockets\include\win32port\win32helpers /I..\..\..\addons\ofxSpacebrew\src /I..\..\..\addons\ofxUI\src /I..\..\..\addons\ofxXmlSettings\libs /I..\..\..\addons\ofxXmlSettings\src /I..\..\..\addons\ofxFTGL\src /I..\..\..\addons\ofxFTGL\libs\FTGL\include\FTGL /I..\..\..\addons\ofxFTGL\libs\FTGL\include /I..\..\..\addons\ofxFTGL\libs\FTGL /I..\..\..\addons\ofxOsc\libs /I..\..\..\addons\ofxOsc\libs\oscpack /I..\..\..\addons\ofxOsc\libs\oscpack\src /I..\..\..\addons\ofxOsc\libs\oscpack\src\ip /I..\..\..\addons\ofxOsc\libs\oscpack\src\ip\posix /I..\..\..\addons\ofxOsc\libs\oscpack\src\ip\win32 /I..\..\..\addons\ofxOsc\libs\oscpack\src\osc /I..\..\..\addons\ofxOsc\src /Zi /nologo /W3 /WX- /O2 /Oy- /D WIN32 /D NDEBUG /D _CONSOLE /D POCO_STATIC /D CAIRO_WIN32_STATIC_BUILD /D DISABLE_SOME_FLOATING_POINT /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"obj\Release\\" /Fd"obj\Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt src\data\DataManager.cpp @@ -106,4 +106,4 @@ Build succeeded. -Time Elapsed 00:00:08.88 +Time Elapsed 00:00:07.92 diff --git a/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog b/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog index 9f8fc36..87e7fa2 100644 --- a/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog +++ b/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog @@ -1893,3 +1893,13 @@ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Util C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.lib C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp +^C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\Utility_Box.vcxproj +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.lib +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.lib +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp +^C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\Utility_Box.vcxproj +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.lib +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.lib +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp +C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exp diff --git a/of/Utility_Box/obj/Release/cl.command.1.tlog b/of/Utility_Box/obj/Release/cl.command.1.tlog index 1e0184ad96f709520dd19021f4d636ea04535f39..2715c85264f5e9ff4498e5a8f4d62cd29af5f076 100644 GIT binary patch delta 59 zcmccjS>WDhfrb{w7N#xCtA1_|;b&PSI{lwAi^^u7i%R_4FGMn`ux|gr%i_Sed6$I~ LRABl76_zFd{J|GO delta 48 zcmV-00MGy4^AO(i5P*aMgaWh!s`kA diff --git a/of/Utility_Box/obj/Release/vc110.pdb b/of/Utility_Box/obj/Release/vc110.pdb index 9c818978009047c5ade3d522159b01e25a9f63a7..9497cbeb99760caa0576041424470a46837f40f8 100644 GIT binary patch delta 322 zcmWm5H&Oxt002M_Q8)~o8FRoK0CN^Fwf;bVqRdz@b7Ny^pXDoFsw%pd& zN2W#cT`W|)g37~VDgTsxZ@#_8Q9F(TGIW!rhhB2z2`SJ=KLZR>8oC6-yC$SP~B zvq6bX%4|_#n;mx9qsl%998%+mV@^2bjB_ryr4=$Ey>Hq)$ diff --git a/of/Utility_Box/src/data/DataManager.cpp b/of/Utility_Box/src/data/DataManager.cpp index 43b86bd..3c6ca3d 100644 --- a/of/Utility_Box/src/data/DataManager.cpp +++ b/of/Utility_Box/src/data/DataManager.cpp @@ -16,7 +16,7 @@ void DataManager::setup() newData.push_back(dataObject); } - subscriberDevName = ""; // dev2 + subscriberDevName = "dev2"; // dev2 setupSpacebrew(); }