From 1111d2f7e5d0e458b3f18c5888fed0716a47fdf5 Mon Sep 17 00:00:00 2001 From: James Alliban Date: Sun, 12 Jan 2014 04:43:19 +0000 Subject: [PATCH] Values added to graph - also, crosshairs added --- of/Active Tripod/bin/Active_Tripod.lib | Bin 78700 -> 78700 bytes .../data/GUI/BACKGROUNDguiPagesettings.xml | 19 +++++++- .../GUI/BAR GRAPH DESIGNguiPagesettings.xml | 2 +- .../data/GUI/GRAPH GLOBALguiPagesettings.xml | 29 +++++++++++- ...ARATE BODY GRAPH DESIGNguiPagesettings.xml | 2 +- of/Active Tripod/src/gui/GUI.cpp | 12 +++++ of/Active Tripod/src/testApp.cpp | 6 +-- of/Active Tripod/src/visual/Scene.cpp | 42 +++++++++++++++--- of/Active Tripod/src/visual/Scene.h | 13 +++++- .../src/visual/graph/AbstractGraph.cpp | 1 + .../src/visual/graph/AbstractGraph.h | 3 ++ .../src/visual/graph/BarGraph.cpp | 36 +++------------ .../src/visual/graph/BodyGraph.cpp | 8 ++++ .../src/visual/graph/SeparateBodyGraph.cpp | 27 +++-------- 14 files changed, 133 insertions(+), 67 deletions(-) diff --git a/of/Active Tripod/bin/Active_Tripod.lib b/of/Active Tripod/bin/Active_Tripod.lib index 315d99f7e2b2b3574ff1ddab50fbb93c2b19ddba..6cbd078ee82c5fe13f803693db9fea864cc00bdf 100644 GIT binary patch delta 7553 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 F{{y1<&X52A delta 7553 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 2 Toggle Video Visibility - 1 + 0 2 Toggle Image Visibility - 0 + 1 4 @@ -88,3 +88,18 @@ Circle Point Size 52.302627563 + + 4 + Line Width + 1.710526347 + + + 4 + Alpha .. + 255.000000000 + + + 4 + Circle Size + 15.460527420 + 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 52a5d36..51fbde4 100644 --- a/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml +++ b/of/Active Tripod/bin/data/GUI/BAR GRAPH DESIGNguiPagesettings.xml @@ -6,7 +6,7 @@ 4 BarWidth - 5.631578922 + 15.894737244 4 diff --git a/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml index c2835ce..5374e99 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 - 0 + 1 2 @@ -11,7 +11,7 @@ 2 Separate Body graph - 1 + 0 6 @@ -19,3 +19,28 @@ 0.786184192 0.059210528 + + 4 + Size + 30.016448975 + + + 4 + Red + 255.000000000 + + + 4 + Green + 255.000000000 + + + 4 + Blue + 255.000000000 + + + 4 + Alpha + 255.000000000 + 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 d5f21c3..54570af 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 @@ -21,7 +21,7 @@ 4 Graph bottom end (percent) - 0.875000000 + 0.769736826 4 diff --git a/of/Active Tripod/src/gui/GUI.cpp b/of/Active Tripod/src/gui/GUI.cpp index ad04e7c..d0ede6d 100644 --- a/of/Active Tripod/src/gui/GUI.cpp +++ b/of/Active Tripod/src/gui/GUI.cpp @@ -46,6 +46,7 @@ void GUI::addKeyboardShortcutsGUI() gui->addLabel("']' - NEXT GUI", OFX_UI_FONT_SMALL); gui->addLabel("'p' - TOGGLE PAUSE ANIMATION", OFX_UI_FONT_SMALL); gui->addLabel("'f' - TOGGLE FULLSCREEN", OFX_UI_FONT_SMALL); + gui->addLabel("'c' - CLEAR ALL GRAPH DATA", OFX_UI_FONT_SMALL); finaliseCanvas(gui, true); @@ -67,6 +68,13 @@ void GUI::addGraphGlobalGUI() gui->addSpacer(length, 1); gui->addRangeSlider("Graph X begin/end (percent)", 0, 1, &AbstractGraph::minGraphPercent, &AbstractGraph::maxGraphPercent, length, dim); + gui->addLabel("GRAPH TEXT"); + gui->addSpacer(length, 1); + gui->addSlider("Size", 5, 50, &app->scene.graphTextSize, length, dim); + gui->addSlider("Red", 0, 255, &app->scene.graphTextColour[0], length, dim); + gui->addSlider("Green", 0, 255, &app->scene.graphTextColour[1], length, dim); + gui->addSlider("Blue", 0, 255, &app->scene.graphTextColour[2], length, dim); + gui->addSlider("Alpha", 0, 255, &app->scene.graphTextColour[3], length, dim); ofAddListener(gui->newGUIEvent, this, &GUI::graphGlobalGUIEvent); finaliseCanvas(gui, true); @@ -200,6 +208,10 @@ void GUI::addBackgroundGUI() gui->addSlider("Hole Width Percent", 0, 2, &app->scene.hudHoleWidthPercentage, length, dim); gui->addSlider("Hole Height Percent", 0, 2, &app->scene.hudHoleHeightPercentage, length, dim); gui->addSlider("Circle Point Size", 0, 100, &app->scene.circlePointSize, length, dim); + gui->addLabel("CROSSHAIRS SETTINGS"); + gui->addSlider("Line Width", 0, 10, &app->scene.crosshairLineWidth, length, dim); + gui->addSlider("Alpha ..", 0, 255, &app->scene.crosshairAlpha, length, dim); + gui->addSlider("Circle Size", 0, 100, &app->scene.crosshairCircleSize, length, dim); ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent); finaliseCanvas(gui, true); diff --git a/of/Active Tripod/src/testApp.cpp b/of/Active Tripod/src/testApp.cpp index 2a19e9e..5163cdc 100644 --- a/of/Active Tripod/src/testApp.cpp +++ b/of/Active Tripod/src/testApp.cpp @@ -2,11 +2,9 @@ // TODO // ==== -// - Crosshairs in HUD -// - Create graph animation system -// - make maxGraphHeight percentage instead of pixels -// - Create a single config file to be loaded from online location. It will contain IP address and host name // - If min or max values change - clear graph - ask bout this +// - Create a single config file to be loaded from online location. It will contain IP address and host name +// - Create graph animation system // //-------------------------------------------------------------- void testApp::setup() diff --git a/of/Active Tripod/src/visual/Scene.cpp b/of/Active Tripod/src/visual/Scene.cpp index 9a134ad..c7e6cc4 100644 --- a/of/Active Tripod/src/visual/Scene.cpp +++ b/of/Active Tripod/src/visual/Scene.cpp @@ -29,10 +29,6 @@ void Scene::update() vidGrabber.update(); activeGraph->update(); - - text.setLineLength(lineLength); - text.setLineSpacing(lineSpacing); - text.setSize(textSize); } @@ -40,6 +36,8 @@ void Scene::draw() { drawVideo(); activeGraph->draw(); + drawGraphValues(); + drawCrosshairs(); drawHUDBG(); drawHUDCopy(); drawHUDColourBars(); @@ -71,6 +69,36 @@ void Scene::drawVideo() rgbShader.end(); } + +void Scene::drawGraphValues() +{ + if (activeGraph->publisher0Data.size() < 2) return; + + ofPoint val0 = activeGraph->currentPub0Point; + ofPoint val1 = activeGraph->currentPub1Point; + + ofPushStyle(); + text.setAlignment(FTGL_ALIGN_LEFT); + ofSetColor(graphTextColour[0], graphTextColour[1], graphTextColour[2], graphTextColour[3]); + text.setSize(graphTextSize); + text.drawString(ofToString(activeGraph->publisher0Data.back().value), val0.x + 10, val0.y); + text.drawString(ofToString(activeGraph->publisher1Data.back().value), val1.x + 10, val1.y); + ofPopStyle(); +} + + +void Scene::drawCrosshairs() +{ + ofPushStyle(); + ofSetLineWidth(crosshairLineWidth); + ofSetColor(hudColour[0], hudColour[1], hudColour[2], crosshairAlpha); + ofLine(ofGetWidth() * 0.5, 0, ofGetWidth() * 0.5, ofGetHeight()); // vert + ofLine(0, ofGetHeight() * 0.5, ofGetWidth(), ofGetHeight() * 0.5); // horz + ofCircle(ofGetWidth() * 0.5, ofGetHeight() * 0.5, crosshairCircleSize); + ofPopStyle(); +} + + void Scene::drawHUDBG() { ofPushStyle(); @@ -103,12 +131,16 @@ void Scene::drawHUDBG() void Scene::drawHUDCopy() { + text.setLineLength(lineLength); + text.setLineSpacing(lineSpacing); + text.setSize(textSize); + drawTextBox(tlStr, "TOP LEFT"); drawTextBox(trStr, "TOP RIGHT"); vector *p0Data = &activeGraph->publisher0Data; vector *p1Data = &activeGraph->publisher1Data; - + int amountToAverage = MIN(p0Data->size(), averageAmount); if (p0Data->size() > 2) { diff --git a/of/Active Tripod/src/visual/Scene.h b/of/Active Tripod/src/visual/Scene.h index dd91036..3612f51 100644 --- a/of/Active Tripod/src/visual/Scene.h +++ b/of/Active Tripod/src/visual/Scene.h @@ -24,6 +24,8 @@ public: void update(); void draw(); void drawVideo(); + void drawGraphValues(); + void drawCrosshairs(); void drawHUDBG(); void drawHUDCopy(); void drawHUDColourBars(); @@ -58,7 +60,16 @@ public: float videoHeightPercentage; bool isVideoVisible; bool isImageVisible; - + + // graph text + float graphTextColour[4]; + float graphTextSize; + + // crosshairs + float crosshairLineWidth; + float crosshairAlpha; + float crosshairCircleSize; + // HUD background vars float hudColour[4]; float circlePointSize; diff --git a/of/Active Tripod/src/visual/graph/AbstractGraph.cpp b/of/Active Tripod/src/visual/graph/AbstractGraph.cpp index 82bc22a..a051e29 100644 --- a/of/Active Tripod/src/visual/graph/AbstractGraph.cpp +++ b/of/Active Tripod/src/visual/graph/AbstractGraph.cpp @@ -29,6 +29,7 @@ void AbstractGraph::draw() } + void AbstractGraph::addNewData(vector newData) { publisher0Data.push_back(newData[0]); diff --git a/of/Active Tripod/src/visual/graph/AbstractGraph.h b/of/Active Tripod/src/visual/graph/AbstractGraph.h index 1cfa3ec..29982e8 100644 --- a/of/Active Tripod/src/visual/graph/AbstractGraph.h +++ b/of/Active Tripod/src/visual/graph/AbstractGraph.h @@ -27,6 +27,9 @@ public: static float minGraphPercent; static float maxGraphPercent; + + ofPoint currentPub0Point; + ofPoint currentPub1Point; float graphItemXGap; diff --git a/of/Active Tripod/src/visual/graph/BarGraph.cpp b/of/Active Tripod/src/visual/graph/BarGraph.cpp index 3d87f48..dbf1ee9 100644 --- a/of/Active Tripod/src/visual/graph/BarGraph.cpp +++ b/of/Active Tripod/src/visual/graph/BarGraph.cpp @@ -27,29 +27,6 @@ void BarGraph::draw() if (publisher0Data.size() > 1) { - for (int i = 0; i < publisher0Data.size() - 1; i++) - { - if (i < publisher0Data.size() - 2) - { - //ofPushStyle(); - //ofSetColor(0, 0, 0); - //ofLine(i * graphItemXGap, publisher0Data[i], (i + 1) * graphItemXGap, publisher0Data[i + 1]); - //ofSetColor(0, 0, 0); - //ofLine(i * graphItemXGap, publisher1Data[i], (i + 1) * graphItemXGap, publisher1Data[i + 1]); - //ofPopStyle(); - } - } - - for (int i = 0; i < publisher0Data.size() - 1; i++) - { - //ofPushStyle(); - //ofSetColor(255, 0, 0); - //ofCircle(i * graphItemXGap, publisher0Data[i], 5); - //ofSetColor(0, 255, 0); - //ofCircle(i * graphItemXGap, publisher1Data[i], 5); - //ofPopStyle(); - } - float xOffset = ofGetWidth() * AbstractGraph::minGraphPercent; float outputMin = (ofGetHeight() * 0.5) - ((ofGetHeight() * 0.5) * graphHeightMax); float outputMax = (ofGetHeight() * 0.5) + ((ofGetHeight() * 0.5) * graphHeightMax); @@ -58,7 +35,6 @@ void BarGraph::draw() { ofPushStyle(); - ofMesh bar; float rectTLX = i * graphItemXGap - (barWidth * 0.5) + xOffset; float rectTLY = ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax); @@ -72,9 +48,11 @@ void BarGraph::draw() float rectBRX = i * graphItemXGap - (barWidth * 0.5) + barWidth + xOffset; float rectBRY = ofMap(publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, outputMin, outputMax); - - //printf("val:%f, min:%f, max:%f - new val:%f \n", publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, rectTLY); - //printf("val:%f, min:%f, max:%f - new val:%f \n", publisher1Data[i].value, publisher1Data[i].min, publisher1Data[i].max, rectBLY); + if (i == publisher0Data.size() - 2) + { + currentPub0Point = ofPoint(rectTRX, rectTRY); + currentPub1Point = ofPoint(rectBRX, rectBRY); + } bar.addVertex(ofVec3f(rectTLX, rectTLY, 0)); bar.addVertex(ofVec3f(rectTRX, rectTRY, 0)); @@ -93,10 +71,6 @@ void BarGraph::draw() bar.drawFaces(); - //ofSetColor(255, 255, 0); - //ofRect(i * graphItemXGap - (barWidth * 0.5), publisher0Data[i], barWidth, publisher1Data[i] - publisher0Data[i]); - //ofSetColor(0, 0, 0); - //ofLine(i * graphItemXGap, publisher0Data[i], i * graphItemXGap, publisher1Data[i]); ofPopStyle(); } } diff --git a/of/Active Tripod/src/visual/graph/BodyGraph.cpp b/of/Active Tripod/src/visual/graph/BodyGraph.cpp index f1b2dd5..4c3bd0f 100644 --- a/of/Active Tripod/src/visual/graph/BodyGraph.cpp +++ b/of/Active Tripod/src/visual/graph/BodyGraph.cpp @@ -54,6 +54,14 @@ void BodyGraph::draw() 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)); + } } body.drawFaces(); diff --git a/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp b/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp index 13a04b8..bd1f12f 100644 --- a/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp +++ b/of/Active Tripod/src/visual/graph/SeparateBodyGraph.cpp @@ -33,12 +33,17 @@ void SeparateBodyGraph::draw() { ofMesh body0 = getMesh(publisher0Data, col0); ofMesh body1 = getMesh(publisher1Data, col1); - + + if (body0.getVertices().size() > 2) + { + currentPub0Point = ofPoint(body0.getVertex(body0.getVertices().size() - 2).x, body0.getVertex(body0.getVertices().size() - 2).y); + currentPub1Point = ofPoint(body0.getVertex(body1.getVertices().size() - 2).x, body1.getVertex(body1.getVertices().size() - 2).y); + } + float xOffset = ofGetWidth() * AbstractGraph::minGraphPercent; float outputMin = (ofGetHeight() * 0.5) - ((ofGetHeight() * 0.5) * graphHeightMax); float outputMax = (ofGetHeight() * 0.5) + ((ofGetHeight() * 0.5) * graphHeightMax); - // draw lines ofPushStyle(); ofPolyline poly0; @@ -64,8 +69,6 @@ void SeparateBodyGraph::draw() ofVec2f centroid0 = poly0.getCentroid2D(); ofVec2f centroid1 = poly1.getCentroid2D(); - printf("centroid0.y:%f, centroid1.y:%f\n", centroid0.y, centroid1.y); - float av0; float av1; @@ -77,8 +80,6 @@ void SeparateBodyGraph::draw() av0 /= poly0.size(); av1 /= poly1.size(); - printf("av0:%f, av1:%f\n", av0, av1); - int lineAlpha = 255; if (!isDrawLines) lineAlpha = 0; @@ -102,20 +103,6 @@ void SeparateBodyGraph::draw() ofSetColor(col0[0],col0[1],col0[2], lineAlpha); poly0.draw(); } - - if (isDrawLines) - { - if (av0 > av1) - { - - - } - else - { - - - } - } ofPopStyle(); }