diff --git a/of/Active Tripod/bin/Active_Tripod.lib b/of/Active Tripod/bin/Active_Tripod.lib
index d367f35..2b2f93a 100644
Binary files a/of/Active Tripod/bin/Active_Tripod.lib and b/of/Active Tripod/bin/Active_Tripod.lib differ
diff --git a/of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml b/of/Active Tripod/bin/data/GUI/GRAPH DESIGNguiPagesettings.xml
similarity index 100%
rename from of/Active Tripod/bin/data/GUI/SEPARATE BODY GRAPH DESIGNguiPagesettings.xml
rename to of/Active Tripod/bin/data/GUI/GRAPH DESIGNguiPagesettings.xml
diff --git a/of/Active Tripod/bin/data/GUI/PUBLISHER 2guiPagesettings.xml b/of/Active Tripod/bin/data/GUI/PUBLISHER 2guiPagesettings.xml
deleted file mode 100644
index 3e4a848..0000000
--- a/of/Active Tripod/bin/data/GUI/PUBLISHER 2guiPagesettings.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-
- 2
- CI0-DATA - Light Level
- 0
-
-
- 2
- CI0-BATT - Battery Level of node 0
- 0
-
-
- 2
- CI1-DATA - Air Quality
- 0
-
-
- 2
- CI1-BATT - Battery Level of node 1
- 0
-
-
- 2
- CI2-DATA - Humidity
- 1
-
-
- 2
- CI1-BATT - Battery Level of node 2
- 0
-
-
- 2
- temp 1
- 0
-
-
- 2
- temp 2
- 0
-
-
- 2
- temp 3
- 0
-
-
- 2
- temp 4
- 0
-
-
- 2
- temp 5
- 0
-
-
- 2
- temp 6
- 0
-
-
- 2
- temp 7
- 0
-
-
- 2
- temp 8
- 0
-
-
- 2
- temp 9
- 0
-
-
- 2
- temp 10
- 0
-
-
- 2
- temp 11
- 0
-
-
- 2
- temp 12
- 0
-
-
- 2
- temp 13
- 0
-
-
- 2
- temp 14
- 0
-
-
- 2
- temp 15
- 0
-
-
- 2
- temp 16
- 0
-
-
- 2
- temp 17
- 0
-
-
- 2
- temp 18
- 0
-
-
- 2
- temp 19
- 0
-
-
- 2
- temp 20
- 0
-
-
- 2
- temp 21
- 0
-
-
- 2
- temp 22
- 0
-
-
- 2
- temp 23
- 0
-
-
- 2
- temp 24
- 0
-
diff --git a/of/Active Tripod/src/visual/Scene.cpp b/of/Active Tripod/src/visual/Scene.cpp
index f22b99c..ef6c65f 100644
--- a/of/Active Tripod/src/visual/Scene.cpp
+++ b/of/Active Tripod/src/visual/Scene.cpp
@@ -249,8 +249,6 @@ void Scene::addNewData(vector newData)
tlStr = newData[0].info + newData[0].unitMeasure + "\n" + ofToString(newData[0].value);
trStr = newData[1].info + newData[1].unitMeasure + "\n" + ofToString(newData[1].value);
-
- millisAtLastData = ofGetElapsedTimeMillis();
}
diff --git a/of/Active Tripod/src/visual/Scene.h b/of/Active Tripod/src/visual/Scene.h
index 665f64d..5bad73c 100644
--- a/of/Active Tripod/src/visual/Scene.h
+++ b/of/Active Tripod/src/visual/Scene.h
@@ -90,7 +90,6 @@ public:
string trStr;
string blStr;
string brStr;
- long millisAtLastData;
float averageAmount;
// text colour boxes
diff --git a/of/Utility_Box/Utility_Box.vcxproj b/of/Utility_Box/Utility_Box.vcxproj
index d236504..2d67319 100644
--- a/of/Utility_Box/Utility_Box.vcxproj
+++ b/of/Utility_Box/Utility_Box.vcxproj
@@ -110,7 +110,8 @@
-
+
+
@@ -187,7 +188,8 @@
-
+
+
diff --git a/of/Utility_Box/Utility_Box.vcxproj.filters b/of/Utility_Box/Utility_Box.vcxproj.filters
index efe2221..f0c5242 100644
--- a/of/Utility_Box/Utility_Box.vcxproj.filters
+++ b/of/Utility_Box/Utility_Box.vcxproj.filters
@@ -70,7 +70,10 @@
addons\ofxFTGL\src
-
+
+ src\visual\graph
+
+
src\visual\graph
@@ -365,7 +368,10 @@
addons\ofxFTGL\libs\FTGL\include\FTGL
-
+
+ src\visual\graph
+
+
src\visual\graph
diff --git a/of/Utility_Box/bin/Utility_Box.lib b/of/Utility_Box/bin/Utility_Box.lib
index dc0b10f..df36189 100644
Binary files a/of/Utility_Box/bin/Utility_Box.lib and b/of/Utility_Box/bin/Utility_Box.lib differ
diff --git a/of/Utility_Box/bin/data/GUI/GRAPH DESIGNguiPagesettings.xml b/of/Utility_Box/bin/data/GUI/GRAPH DESIGNguiPagesettings.xml
new file mode 100644
index 0000000..3c7ce5e
--- /dev/null
+++ b/of/Utility_Box/bin/data/GUI/GRAPH DESIGNguiPagesettings.xml
@@ -0,0 +1,35 @@
+
+ 2
+ Toggle Draw Lines
+ 1
+
+
+ 4
+ Graph Item X Gap
+ 0.518750012
+
+
+ 4
+ Line width
+ 2.562500000
+
+
+ 4
+ Graph Width max
+ 94.437500000
+
+
+ 4
+ Graph Height Max
+ 15.789472580
+
+
+ 4
+ Graph bottom end (percent)
+ 0.723684192
+
+
+ 4
+ Data send speed (seconds)
+ 0.820065796
+
diff --git a/of/Utility_Box/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml b/of/Utility_Box/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml
index ba91901..c2835ce 100644
--- a/of/Utility_Box/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml
+++ b/of/Utility_Box/bin/data/GUI/GRAPH GLOBALguiPagesettings.xml
@@ -19,28 +19,3 @@
0.786184192
0.059210528
-
- 4
- Size
- 29.424343109
-
-
- 4
- Red
- 255.000000000
-
-
- 4
- Green
- 255.000000000
-
-
- 4
- Blue
- 255.000000000
-
-
- 4
- Alpha
- 255.000000000
-
diff --git a/of/Utility_Box/bin/data/GUI/SIMULATIONguiPagesettings.xml b/of/Utility_Box/bin/data/GUI/SIMULATIONguiPagesettings.xml
index 1908c35..65a6ee7 100644
--- a/of/Utility_Box/bin/data/GUI/SIMULATIONguiPagesettings.xml
+++ b/of/Utility_Box/bin/data/GUI/SIMULATIONguiPagesettings.xml
@@ -1,7 +1,7 @@
2
Toggle Data Simulation
- 0
+ 1
4
diff --git a/of/Utility_Box/obj/Release/AbstractGraph.obj b/of/Utility_Box/obj/Release/AbstractGraph.obj
index 800f671..36f1415 100644
Binary files a/of/Utility_Box/obj/Release/AbstractGraph.obj and b/of/Utility_Box/obj/Release/AbstractGraph.obj differ
diff --git a/of/Utility_Box/obj/Release/CL.read.1.tlog b/of/Utility_Box/obj/Release/CL.read.1.tlog
index 3aa3f03..2d738ae 100644
Binary files a/of/Utility_Box/obj/Release/CL.read.1.tlog and b/of/Utility_Box/obj/Release/CL.read.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/CL.write.1.tlog b/of/Utility_Box/obj/Release/CL.write.1.tlog
index fa38079..1f633cf 100644
Binary files a/of/Utility_Box/obj/Release/CL.write.1.tlog and b/of/Utility_Box/obj/Release/CL.write.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/DataManager.obj b/of/Utility_Box/obj/Release/DataManager.obj
index 632f7f0..b96fe70 100644
Binary files a/of/Utility_Box/obj/Release/DataManager.obj and b/of/Utility_Box/obj/Release/DataManager.obj differ
diff --git a/of/Utility_Box/obj/Release/GUI.obj b/of/Utility_Box/obj/Release/GUI.obj
index c19a669..91f441a 100644
Binary files a/of/Utility_Box/obj/Release/GUI.obj and b/of/Utility_Box/obj/Release/GUI.obj differ
diff --git a/of/Utility_Box/obj/Release/GUIManager.obj b/of/Utility_Box/obj/Release/GUIManager.obj
index 9a5559f..9082d57 100644
Binary files a/of/Utility_Box/obj/Release/GUIManager.obj and b/of/Utility_Box/obj/Release/GUIManager.obj differ
diff --git a/of/Utility_Box/obj/Release/Graph.obj b/of/Utility_Box/obj/Release/Graph.obj
new file mode 100644
index 0000000..1f56f83
Binary files /dev/null and b/of/Utility_Box/obj/Release/Graph.obj differ
diff --git a/of/Utility_Box/obj/Release/GraphManager.obj b/of/Utility_Box/obj/Release/GraphManager.obj
new file mode 100644
index 0000000..293da45
Binary files /dev/null and b/of/Utility_Box/obj/Release/GraphManager.obj differ
diff --git a/of/Utility_Box/obj/Release/Scene.obj b/of/Utility_Box/obj/Release/Scene.obj
index c14e55a..5f979d1 100644
Binary files a/of/Utility_Box/obj/Release/Scene.obj and b/of/Utility_Box/obj/Release/Scene.obj differ
diff --git a/of/Utility_Box/obj/Release/SeparateBodyGraph.obj b/of/Utility_Box/obj/Release/SeparateBodyGraph.obj
index 43a73b7..504a38c 100644
Binary files a/of/Utility_Box/obj/Release/SeparateBodyGraph.obj and b/of/Utility_Box/obj/Release/SeparateBodyGraph.obj differ
diff --git a/of/Utility_Box/obj/Release/Utility_Box.log b/of/Utility_Box/obj/Release/Utility_Box.log
index 48387e1..c3746a2 100644
--- a/of/Utility_Box/obj/Release/Utility_Box.log
+++ b/of/Utility_Box/obj/Release/Utility_Box.log
@@ -1,7 +1,7 @@
-Build started 12/1/2014 6:00:31 PM.
+Build started 14/1/2014 2:20:19 PM.
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 /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 src\gui\GUI.cpp src\main.cpp src\testApp.cpp src\visual\graph\SeparateBodyGraph.cpp
+ 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 /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
DataManager.cpp
1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(126): warning C4250: 'Poco::InputStreamConverter' : inherits 'std::basic_istream<_Elem,_Traits>::std::basic_istream<_Elem,_Traits>::_Add_vtordisp1' via dominance
with
@@ -27,86 +27,68 @@
_Elem=char,
_Traits=std::char_traits
]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\src\visual\Scene.h(12): fatal error C1083: Cannot open include file: 'BarGraph.h': No such file or directory
- GUI.cpp
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(126): warning C4250: 'Poco::InputStreamConverter' : inherits 'std::basic_istream<_Elem,_Traits>::std::basic_istream<_Elem,_Traits>::_Add_vtordisp1' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\istream(74) : see declaration of 'std::basic_istream<_Elem,_Traits>::_Add_vtordisp1'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(144): warning C4250: 'Poco::OutputStreamConverter' : inherits 'std::basic_ostream<_Elem,_Traits>::std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ostream(90) : see declaration of 'std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\src\visual\Scene.h(12): fatal error C1083: Cannot open include file: 'BarGraph.h': No such file or directory
- main.cpp
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(126): warning C4250: 'Poco::InputStreamConverter' : inherits 'std::basic_istream<_Elem,_Traits>::std::basic_istream<_Elem,_Traits>::_Add_vtordisp1' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\istream(74) : see declaration of 'std::basic_istream<_Elem,_Traits>::_Add_vtordisp1'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(144): warning C4250: 'Poco::OutputStreamConverter' : inherits 'std::basic_ostream<_Elem,_Traits>::std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ostream(90) : see declaration of 'std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\src\visual\Scene.h(12): fatal error C1083: Cannot open include file: 'BarGraph.h': No such file or directory
- testApp.cpp
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(126): warning C4250: 'Poco::InputStreamConverter' : inherits 'std::basic_istream<_Elem,_Traits>::std::basic_istream<_Elem,_Traits>::_Add_vtordisp1' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\istream(74) : see declaration of 'std::basic_istream<_Elem,_Traits>::_Add_vtordisp1'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\poco\include\Poco/StreamConverter.h(144): warning C4250: 'Poco::OutputStreamConverter' : inherits 'std::basic_ostream<_Elem,_Traits>::std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2' via dominance
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ostream(90) : see declaration of 'std::basic_ostream<_Elem,_Traits>::_Add_vtordisp2'
- with
- [
- _Elem=char,
- _Traits=std::char_traits
- ]
- 1>Done Building Project "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\Utility_Box.vcxproj" (Build target(s)) -- FAILED.
+ Link:
+ C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"bin\Utility_Box.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:..\..\..\libs\glut\lib\vs /LIBPATH:..\..\..\libs\glfw\lib\vs /LIBPATH:..\..\..\libs\rtAudio\lib\vs /LIBPATH:..\..\..\libs\FreeImage\lib\vs /LIBPATH:..\..\..\libs\freetype\lib\vs /LIBPATH:..\..\..\libs\quicktime\lib\vs /LIBPATH:..\..\..\libs\fmodex\lib\vs /LIBPATH:..\..\..\libs\videoInput\lib\vs /LIBPATH:..\..\..\libs\cairo\lib\vs /LIBPATH:..\..\..\libs\glew\lib\vs /LIBPATH:..\..\..\libs\glu\lib\vs /LIBPATH:..\..\..\libs\openssl\lib\vs /LIBPATH:..\..\..\libs\Poco\lib\vs /LIBPATH:..\..\..\libs\tess2\lib\vs /LIBPATH:..\..\..\addons\ofxFTGL\libs\FTGL\lib\vs2012 /LIBPATH:..\..\..\addons\ofxLibwebsockets\libs\libwebsockets\lib\win32\Release "cairo-static.lib" "pixman-1.lib" msimg32.lib OpenGL32.lib GLu32.lib kernel32.lib setupapi.lib Vfw32.lib comctl32.lib glut32.lib rtAudio.lib videoInput.lib libfreetype.lib FreeImage.lib qtmlClient.lib dsound.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib glew32s.lib fmodex_vc.lib glu32.lib crypt32.lib libeay32MD.lib ssleay32MD.lib PocoFoundationmd.lib PocoNetmd.lib PocoUtilmd.lib PocoXMLmd.lib Ws2_32.lib tess2.lib glfw3.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib websockets_static.lib ZLIB.lib ftgl_static.lib /NODEFAULTLIB:PocoFoundationd.lib /NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:LIBC.lib /NODEFAULTLIB:LIBCMT /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"bin\Utility_Box.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE:NO /NXCOMPAT /IMPLIB:"bin\Utility_Box.lib" /MACHINE:X86 /SAFESEH obj\Release\icon.res
+ obj\Release\ofxFTGLFont.obj
+ obj\Release\ofxFTGLSimpleLayout.obj
+ obj\Release\tinyxml.obj
+ obj\Release\tinyxmlerror.obj
+ obj\Release\tinyxmlparser.obj
+ obj\Release\ofxXmlSettings.obj
+ obj\Release\DataManager.obj
+ obj\Release\GUI.obj
+ obj\Release\GUIManager.obj
+ obj\Release\main.obj
+ obj\Release\testApp.obj
+ obj\Release\jsoncpp.obj
+ obj\Release\Server.obj
+ obj\Release\Reactor.obj
+ obj\Release\Protocol.obj
+ obj\Release\Events.obj
+ obj\Release\Connection.obj
+ obj\Release\Client.obj
+ obj\Release\ofxSpacebrew.obj
+ obj\Release\AbstractGraph.obj
+ obj\Release\Graph.obj
+ obj\Release\GraphManager.obj
+ obj\Release\Scene.obj
+ "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\libs\openFrameworksCompiled\lib\vs\openframeworksLib.lib"
+ Creating library bin\Utility_Box.lib and object bin\Utility_Box.exp
+ Generating code
+ Finished generating code
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??1FTBBox@@QAE@XZ (public: __thiscall FTBBox::~FTBBox(void)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ??1FTBBox@@QAE@XZ (public: __thiscall FTBBox::~FTBBox(void)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??0FTExtrudeFont@@QAE@PBD@Z (public: __thiscall FTExtrudeFont::FTExtrudeFont(char const *)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??1FTExtrudeFont@@UAE@XZ (public: virtual __thiscall FTExtrudeFont::~FTExtrudeFont(void)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??0FTPolygonFont@@QAE@PBD@Z (public: __thiscall FTPolygonFont::FTPolygonFont(char const *)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??1FTPolygonFont@@UAE@XZ (public: virtual __thiscall FTPolygonFont::~FTPolygonFont(void)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??0FTTextureFont@@QAE@PBD@Z (public: __thiscall FTTextureFont::FTTextureFont(char const *)) imported
+ 1>ofxFTGLFont.obj : warning LNK4049: locally defined symbol ??1FTTextureFont@@UAE@XZ (public: virtual __thiscall FTTextureFont::~FTTextureFont(void)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ??0FTSimpleLayout@@QAE@XZ (public: __thiscall FTSimpleLayout::FTSimpleLayout(void)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ??1FTSimpleLayout@@UAE@XZ (public: virtual __thiscall FTSimpleLayout::~FTSimpleLayout(void)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?SetFont@FTSimpleLayout@@QAEXPAVFTFont@@@Z (public: void __thiscall FTSimpleLayout::SetFont(class FTFont *)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?SetLineLength@FTSimpleLayout@@QAEXM@Z (public: void __thiscall FTSimpleLayout::SetLineLength(float)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?GetLineLength@FTSimpleLayout@@QBEMXZ (public: float __thiscall FTSimpleLayout::GetLineLength(void)const ) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?SetAlignment@FTSimpleLayout@@QAEXW4TextAlignment@FTGL@@@Z (public: void __thiscall FTSimpleLayout::SetAlignment(enum FTGL::TextAlignment)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?GetAlignment@FTSimpleLayout@@QBE?AW4TextAlignment@FTGL@@XZ (public: enum FTGL::TextAlignment __thiscall FTSimpleLayout::GetAlignment(void)const ) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?SetLineSpacing@FTSimpleLayout@@QAEXM@Z (public: void __thiscall FTSimpleLayout::SetLineSpacing(float)) imported
+ 1>ofxFTGLSimpleLayout.obj : warning LNK4049: locally defined symbol ?GetLineSpacing@FTSimpleLayout@@QBEMXZ (public: float __thiscall FTSimpleLayout::GetLineSpacing(void)const ) imported
+ Utility_Box.vcxproj -> C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin\Utility_Box.exe
+ PostBuildEvent:
+ xcopy /e /i /y "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\*.dll" "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\bin"
+ :VCEnd
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\Assimp32.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\fmodex.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\fmodexL.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\FreeImage.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\FreeType-6.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\glut32.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\libeay32.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\ssleay32.dll
+ C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\..\..\..\export\vs\Zlib.dll
+ 9 File(s) copied
+ 1>Done Building Project "C:\Users\James Alliban\Work\of_v0.8.0_vs_release\CRITICAL-INFRASTRUCTURE\of\Utility_Box\Utility_Box.vcxproj" (Build target(s)).
-Build FAILED.
+Build succeeded.
-Time Elapsed 00:00:10.91
+Time Elapsed 00:00:07.37
diff --git a/of/Utility_Box/obj/Release/Utility_Box.unsuccessfulbuild b/of/Utility_Box/obj/Release/Utility_Box.unsuccessfulbuild
deleted file mode 100644
index e69de29..0000000
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 21439e3..8d13178 100644
--- a/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog
+++ b/of/Utility_Box/obj/Release/Utility_Box.write.1.tlog
@@ -3,3 +3,503 @@ 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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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
+^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 4c05950..f37c122 100644
Binary files a/of/Utility_Box/obj/Release/cl.command.1.tlog and b/of/Utility_Box/obj/Release/cl.command.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/link.command.1.tlog b/of/Utility_Box/obj/Release/link.command.1.tlog
index 14ba968..16df5d9 100644
Binary files a/of/Utility_Box/obj/Release/link.command.1.tlog and b/of/Utility_Box/obj/Release/link.command.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/link.read.1.tlog b/of/Utility_Box/obj/Release/link.read.1.tlog
index 20978ed..200ee26 100644
Binary files a/of/Utility_Box/obj/Release/link.read.1.tlog and b/of/Utility_Box/obj/Release/link.read.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/link.write.1.tlog b/of/Utility_Box/obj/Release/link.write.1.tlog
index 7e2d9e7..128fc5e 100644
Binary files a/of/Utility_Box/obj/Release/link.write.1.tlog and b/of/Utility_Box/obj/Release/link.write.1.tlog differ
diff --git a/of/Utility_Box/obj/Release/main.obj b/of/Utility_Box/obj/Release/main.obj
index 2327aa5..0e80dbd 100644
Binary files a/of/Utility_Box/obj/Release/main.obj and b/of/Utility_Box/obj/Release/main.obj differ
diff --git a/of/Utility_Box/obj/Release/testApp.obj b/of/Utility_Box/obj/Release/testApp.obj
index e165432..606f584 100644
Binary files a/of/Utility_Box/obj/Release/testApp.obj and b/of/Utility_Box/obj/Release/testApp.obj differ
diff --git a/of/Utility_Box/obj/Release/vc110.pdb b/of/Utility_Box/obj/Release/vc110.pdb
index 3dfffc4..3b1a401 100644
Binary files a/of/Utility_Box/obj/Release/vc110.pdb and b/of/Utility_Box/obj/Release/vc110.pdb differ
diff --git a/of/Utility_Box/src/data/DataManager.cpp b/of/Utility_Box/src/data/DataManager.cpp
index 6d55b9e..b63c96d 100644
--- a/of/Utility_Box/src/data/DataManager.cpp
+++ b/of/Utility_Box/src/data/DataManager.cpp
@@ -6,10 +6,7 @@ void DataManager::setup()
{
app = (testApp*)ofGetAppPtr();
- newData.resize(2);
-
- //isPublisher0DataReceived = false;
- //isPublisher1DataReceived = false;
+ newData.resize(30);
setupSpacebrew();
@@ -25,9 +22,9 @@ void DataManager::setupSpacebrew()
for (int i = 0; i < 30; i++)
{
- spacebrew.addSubscribe(ofToString(i), Spacebrew::TYPE_STRING);
+ spacebrew.addSubscribe("utility_" + ofToString(i), Spacebrew::TYPE_STRING);
}
- spacebrew.connect( host, name, description );
+ spacebrew.connect(host, name, description);
// listen to spacebrew events
Spacebrew::addListener(this, spacebrew);
@@ -40,40 +37,27 @@ void DataManager::update()
{
if (ofGetFrameNum() % (int)simulationSpeed == 0)
{
- DataObject dataObject0;
- dataObject0.info = "Some text to describe the data\nSome more text\nOne more line";
- dataObject0.value = ofNoise(newData.size() * perlinXScale, ofGetElapsedTimef() * perlinYScale);
- dataObject0.min = 0;
- dataObject0.max = 1;
+ vector dataObjects;
+ for (int i = 0; i < 30; i++)
+ {
+ DataObject dataObject;
+ dataObject.info = "Some text to describe the data\nSome more text\nOne more line";
+ dataObject.value = ofNoise(newData.size() * perlinXScale, (ofGetElapsedTimef() + (i * 756)) * perlinYScale);
+ dataObject.min = 0;
+ dataObject.max = 1;
- //printf("dataObject0.value = %f \n", dataObject0.value);
+ dataObjects.push_back(dataObject);
+ }
- newData[0] = dataObject0;
-
- DataObject dataObject1;
- dataObject1.info = "Some descriptive text\nSome more\nLittle bit more\nLast one";
- dataObject1.value = ofNoise((newData.size() + 500) * perlinXScale, (ofGetElapsedTimef() + 1000) * perlinYScale);
- dataObject1.min = 0;
- dataObject1.max = 1;
-
- newData[1] = dataObject1;
-
- app->scene.activeGraph->addNewData(newData);
+ app->scene.addNewData(dataObjects);
}
}
else
{
- /*if (isPublisher0DataReceived && isPublisher1DataReceived)
- {
- isPublisher0DataReceived = false;
- isPublisher1DataReceived = false;
- app->scene.addNewData(newData);
- }*/
-
//sendDataSpeed = app->scene.activeGraph->sendDataSpeed;
- if (ofGetElapsedTimef() >= nextDataSendTime + app->scene.activeGraph->sendDataSpeed)
+ if (ofGetElapsedTimef() >= nextDataSendTime + sendDataSpeed)
{
- nextDataSendTime += app->scene.activeGraph->sendDataSpeed;
+ nextDataSendTime += sendDataSpeed;
app->scene.addNewData(newData);
}
}
@@ -82,10 +66,6 @@ void DataManager::update()
void DataManager::draw()
{
- ofPushStyle();
- ofSetColor(255, 0, 0);
- ofCircle(sin(ofGetElapsedTimef() * 0.5) * 300 + 300, 100, 20);
- ofPopStyle();
}
@@ -127,16 +107,15 @@ void DataManager::onMessage( Spacebrew::Message & m )
}
- if (m.name == publisher0Name)
+ for (int i = 0; i < 30; i++)
{
- //isPublisher0DataReceived = true;
- newData[0] = dataObject;
- }
- else if (m.name == publisher1Name)
- {
- //isPublisher1DataReceived = true;
- newData[1] = dataObject;
- }
+ if (m.name == "utility_" + ofToString(i))
+ {
+ printf("adding %s to dataObject %i\n", m.name.c_str(), i);
+ //isPublisher0DataReceived = true;
+ newData[i] = dataObject;
+ }
+ }
}
diff --git a/of/Utility_Box/src/data/DataManager.h b/of/Utility_Box/src/data/DataManager.h
index 1859e59..dcd54e6 100644
--- a/of/Utility_Box/src/data/DataManager.h
+++ b/of/Utility_Box/src/data/DataManager.h
@@ -27,10 +27,12 @@ class DataManager
void draw();
vector explode( const string &delimiter, const string &str);
+
// listen to spacebrew Messages
void onMessage( Spacebrew::Message & m );
testApp* app;
+ float sendDataSpeed;
int appId;
diff --git a/of/Utility_Box/src/gui/GUI.cpp b/of/Utility_Box/src/gui/GUI.cpp
index d85aabe..7cbb800 100644
--- a/of/Utility_Box/src/gui/GUI.cpp
+++ b/of/Utility_Box/src/gui/GUI.cpp
@@ -8,7 +8,7 @@
#include "GUI.h"
#include "testApp.h"
-#include "AbstractGraph.h"
+#include "Graph.h"
void GUI::setup()
{
@@ -19,12 +19,8 @@ void GUI::setup()
addKeyboardShortcutsGUI();
addGraphGlobalGUI();
- addBarGraphDesignGUI();
- addBodyGraphDesignGUI();
- addSeparateBodyGraphDesignGUI();
+ addGraphDesignGUI();
addGraphSimulationGUI();
- addBackgroundGUI();
- addHUDTextGUI();
addVariousGUI();
setGUIColour();
@@ -36,6 +32,8 @@ bool GUI::getVisible()
return GUIManager::getVisible();
}
+
+
void GUI::addKeyboardShortcutsGUI()
{
string title = "KEYBOARD SHORTCUTS";
@@ -66,99 +64,42 @@ void GUI::addGraphGlobalGUI()
gui->addRadio("Graph Selection", graphNames, OFX_UI_ORIENTATION_VERTICAL, dim*2, dim*2);
gui->addSpacer(length, 1);
- gui->addRangeSlider("Graph X begin/end (percent)", 0, 1, &AbstractGraph::minGraphPercent, &AbstractGraph::maxGraphPercent, length, dim);
+ gui->addRangeSlider("Graph X begin/end (percent)", 0, 1, &Graph::minGraphPercent, &Graph::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);
+ // 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);
}
-void GUI::addBarGraphDesignGUI()
+void GUI::addGraphDesignGUI()
{
- string title = "BAR GRAPH DESIGN";
+ string title = "GRAPH DESIGN";
ofxUICanvas* gui = getNewGUI(title);
- gui->addSlider("Graph Item X Gap", 5, 50, &app->scene.barGraph.graphItemXGap, length, dim);
- gui->addSlider("BarWidth", 2, 50, &app->scene.barGraph.barWidth, length, dim);
- gui->addSlider("Graph Height Max", 0, 1, &app->scene.barGraph.graphHeightMax, length, dim);
- gui->addSlider("Data send speed (seconds)", 0.1, 20, &app->scene.barGraph.sendDataSpeed, length, dim);
+ gui->addToggle("Toggle Draw Lines", &Graph::isDrawLines, toggleDim, toggleDim);
+ gui->addSlider("Graph Item X Gap", 0.1, 2, &Graph::graphItemXGap, length, dim);
+ gui->addSlider("Line width", 1, 20, &Graph::lineWidth, length, dim);
+ gui->addSlider("Graph Width max", 1, 300, &Graph::maxGraphWidth, length, dim);
+ gui->addSlider("Graph Height Max", 0, 100, &Graph::graphHeightMax, length, dim);
+ gui->addSlider("Graph bottom end (percent)", 0, 20, &Graph::graphEndPercent, length, dim);
+ gui->addSlider("Data send speed (seconds)", 0.1, 20, &app->dataManager.sendDataSpeed, length, dim);
+
- gui->addSpacer(length, 1);
- gui->addSlider("Data0 red", 0, 255, &app->scene.barGraph.col0[0], length, dim);
- gui->addSlider("Data0 green", 0, 255, &app->scene.barGraph.col0[1], length, dim);
- gui->addSlider("Data0 blue", 0, 255, &app->scene.barGraph.col0[2], length, dim);
- gui->addSlider("Data0 alpha", 0, 255, &app->scene.barGraph.col0[3], length, dim);
-
- gui->addSpacer(length, 1);
- gui->addSlider("Data1 red", 0, 255, &app->scene.barGraph.col1[0], length, dim);
- gui->addSlider("Data1 green", 0, 255, &app->scene.barGraph.col1[1], length, dim);
- gui->addSlider("Data1 blue", 0, 255, &app->scene.barGraph.col1[2], length, dim);
- gui->addSlider("Data1 alpha", 0, 255, &app->scene.barGraph.col1[3], length, dim);
-
- finaliseCanvas(gui, true);
-}
-
-
-void GUI::addBodyGraphDesignGUI()
-{
- string title = "BODY GRAPH DESIGN";
- ofxUICanvas* gui = getNewGUI(title);
- gui->addToggle("Toggle Draw Body", &app->scene.bodyGraph.isDrawBody, toggleDim, toggleDim);
- gui->addToggle("Toggle Draw Lines", &app->scene.bodyGraph.isDrawLines, toggleDim, toggleDim);
- gui->addSlider("Graph Item X Gap", 5, 50, &app->scene.bodyGraph.graphItemXGap, length, dim);
- gui->addSlider("Line width", 1, 50, &app->scene.bodyGraph.lineWidth, length, dim);
- gui->addSlider("Graph Height Max", 0, 1, &app->scene.bodyGraph.graphHeightMax, length, dim);
- gui->addSlider("Data send speed (seconds)", 0.1, 20, &app->scene.bodyGraph.sendDataSpeed, length, dim);
-
- gui->addSpacer(length, 1);
- gui->addSlider("Data0 red", 0, 255, &app->scene.bodyGraph.col0[0], length, dim);
- gui->addSlider("Data0 green", 0, 255, &app->scene.bodyGraph.col0[1], length, dim);
- gui->addSlider("Data0 blue", 0, 255, &app->scene.bodyGraph.col0[2], length, dim);
- gui->addSlider("Data0 alpha", 0, 255, &app->scene.bodyGraph.col0[3], length, dim);
+ //gui->addSpacer(length, 1);
+ //gui->addSlider("Data0 red", 0, 255, &app->scene.graphManager.col0[0], length, dim);
+ //gui->addSlider("Data0 green", 0, 255, &app->scene.graph.col0[1], length, dim);
+ //gui->addSlider("Data0 blue", 0, 255, &app->scene.graph.col0[2], length, dim);
+ //gui->addSlider("Data0 alpha", 0, 255, &app->scene.graph.col0[3], length, dim);
- gui->addSpacer(length, 1);
- gui->addSlider("Data1 red", 0, 255, &app->scene.bodyGraph.col1[0], length, dim);
- gui->addSlider("Data1 green", 0, 255, &app->scene.bodyGraph.col1[1], length, dim);
- gui->addSlider("Data1 blue", 0, 255, &app->scene.bodyGraph.col1[2], length, dim);
- gui->addSlider("Data1 alpha", 0, 255, &app->scene.bodyGraph.col1[3], length, dim);
-
- finaliseCanvas(gui, true);
-}
-
-
-void GUI::addSeparateBodyGraphDesignGUI()
-{
- string title = "SEPARATE BODY GRAPH DESIGN";
- ofxUICanvas* gui = getNewGUI(title);
-
- gui->addToggle("Toggle Draw Lines", &app->scene.separateBodyGraph.isDrawLines, toggleDim, toggleDim);
- gui->addSlider("Graph Item X Gap", 5, 50, &app->scene.separateBodyGraph.graphItemXGap, length, dim);
- gui->addSlider("Line width", 1, 50, &app->scene.separateBodyGraph.lineWidth, length, dim);
- gui->addSlider("Graph Height Max", 0, 1, &app->scene.separateBodyGraph.graphHeightMax, length, dim);
- gui->addSlider("Graph bottom end (percent)", 0, 2, &app->scene.separateBodyGraph.graphEndPercent, length, dim);
- gui->addSlider("Data send speed (seconds)", 0.1, 20, &app->scene.separateBodyGraph.sendDataSpeed, length, dim);
-
- gui->addSpacer(length, 1);
- gui->addSlider("Data0 red", 0, 255, &app->scene.separateBodyGraph.col0[0], length, dim);
- gui->addSlider("Data0 green", 0, 255, &app->scene.separateBodyGraph.col0[1], length, dim);
- gui->addSlider("Data0 blue", 0, 255, &app->scene.separateBodyGraph.col0[2], length, dim);
- gui->addSlider("Data0 alpha", 0, 255, &app->scene.separateBodyGraph.col0[3], length, dim);
-
- gui->addSpacer(length, 1);
- gui->addSlider("Data1 red", 0, 255, &app->scene.separateBodyGraph.col1[0], length, dim);
- gui->addSlider("Data1 green", 0, 255, &app->scene.separateBodyGraph.col1[1], length, dim);
- gui->addSlider("Data1 blue", 0, 255, &app->scene.separateBodyGraph.col1[2], length, dim);
- gui->addSlider("Data1 alpha", 0, 255, &app->scene.separateBodyGraph.col1[3], length, dim);
finaliseCanvas(gui, true);
}
@@ -178,74 +119,6 @@ void GUI::addGraphSimulationGUI()
}
-void GUI::addBackgroundGUI()
-{
- string title = "BACKGROUND";
- ofxUICanvas* gui = getNewGUI(title);
-
- gui->addToggle("Toggle Video Visibility", &app->scene.isVideoVisible, toggleDim, toggleDim);
- gui->addToggle("Toggle Image Visibility", &app->scene.isImageVisible, toggleDim, toggleDim);
- gui->addSlider("Video/Image Width Percent", 0, 2, &app->scene.videoWidthPercentage, length, dim);
- gui->addSlider("Video/Image Height Percent", 0, 2, &app->scene.videoHeightPercentage, length, dim);
-
-
-
- gui->addLabel("VIDEO IMAGE SETTINGS");
- gui->addSlider("Brightness", 0, 2, &app->scene.brightness, length, dim);
- gui->addSlider("Contrast", 0, 2, &app->scene.contrast, length, dim);
- gui->addSlider("Saturation", 0, 2, &app->scene.saturation, length, dim);
- gui->addSlider("Red", 0, 2, &app->scene.red, length, dim);
- gui->addSlider("Green", 0, 2, &app->scene.green, length, dim);
- gui->addSlider("Blue", 0, 2, &app->scene.blue, length, dim);
- gui->addSlider("Alpha", 0, 2, &app->scene.alpha, length, dim);
-
- gui->addSpacer(length, 1);
- gui->addLabel("HUD BACKGROUND SETTINGS");
- gui->addSlider("Red .", 0, 255, &app->scene.hudColour[0], length, dim);
- gui->addSlider("Green .", 0, 255, &app->scene.hudColour[1], length, dim);
- gui->addSlider("Blue .", 0, 255, &app->scene.hudColour[2], length, dim);
- gui->addSlider("Alpha .", 0, 255, &app->scene.hudColour[3], length, dim);
- 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);
-}
-
-
-void GUI::addHUDTextGUI()
-{
- string title = "HUD TEXT";
- ofxUICanvas* gui = getNewGUI(title);
-
- gui->addSlider("X Margin", 0, 500, &app->scene.xMargin, length, dim);
- gui->addSlider("Y Margin", 0, 500, &app->scene.yMargin, length, dim);
- gui->addSlider("Y Margin Bottom Offset", 0, 300, &app->scene.yMarginBottomOffset, length, dim);
- gui->addSlider("Line Length", 50, 500, &app->scene.lineLength, length, dim);
- gui->addSlider("Line Spacing", 0, 10, &app->scene.lineSpacing, length, dim);
- gui->addSlider("Text Size", 10, 100, &app->scene.textSize, length, dim);
- gui->addSlider("Value average amount", 2, 150, &app->scene.averageAmount, length, dim);
-
- gui->addSpacer(length, 1);
- gui->addSlider("Red", 0, 255, &app->scene.textColour[0], length, dim);
- gui->addSlider("Green", 0, 255, &app->scene.textColour[1], length, dim);
- gui->addSlider("Blue", 0, 255, &app->scene.textColour[2], length, dim);
- gui->addSlider("Alpha", 0, 255, &app->scene.textColour[3], length, dim);
-
- gui->addSpacer(length, 1);
- gui->addLabel("COLOUR KEY");
- gui->addSlider("Top Colour Box Y Offset", -300, 300, &app->scene.topColourBoxXOffset, length, dim);
- gui->addSlider("Bottom Colour Box Y Offset", -300, 300, &app->scene.bottomColourBoxXOffset, length, dim);
- gui->addSlider("Colour Box Thickness", 1, 50, &app->scene.colourBoxThickness, length, dim);
-
- ofAddListener(gui->newGUIEvent, this, &GUI::variousGUIEvent);
- finaliseCanvas(gui, true);
-}
void GUI::addVariousGUI()
@@ -269,28 +142,6 @@ void GUI::addVariousGUI()
-void GUI::graphGlobalGUIEvent(ofxUIEventArgs &e)
-{
- string name = e.widget->getName();
- ofxUIToggle *toggle = (ofxUIToggle *) e.widget;
-
- if (name == "Bar graph")
- {
- //ofxUIToggle *toggle = (ofxUIToggle *) e.widget;
- if (toggle->getValue()) app->scene.activeGraph = &app->scene.barGraph;
- }
- else if (name == "Solid Body graph")
- {
- printf("------------------- Solid Body graph\n");
- if (toggle->getValue()) app->scene.activeGraph = &app->scene.bodyGraph;
- }
- else if (name == "Separate Body graph")
- {
- printf("------------------- Line fade graph\n");
- if (toggle->getValue()) app->scene.activeGraph = &app->scene.separateBodyGraph;
- }
-}
-
diff --git a/of/Utility_Box/src/gui/GUI.h b/of/Utility_Box/src/gui/GUI.h
index 3a14c7e..449188a 100644
--- a/of/Utility_Box/src/gui/GUI.h
+++ b/of/Utility_Box/src/gui/GUI.h
@@ -13,7 +13,7 @@
class testApp;
-class GUI : GUIManager
+class GUI : public GUIManager
{
public:
virtual void setup();
@@ -21,19 +21,15 @@ public:
void addKeyboardShortcutsGUI();
void addGraphGlobalGUI();
- void addBarGraphDesignGUI();
- void addBodyGraphDesignGUI();
- void addSeparateBodyGraphDesignGUI();
+ void addGraphDesignGUI();
void addGraphSimulationGUI();
- void addBackgroundGUI();
- void addHUDTextGUI();
void addVariousGUI();
- void graphGlobalGUIEvent(ofxUIEventArgs &e);
void variousGUIEvent(ofxUIEventArgs &e);
testApp* app;
vector publishers;
+
};
\ No newline at end of file
diff --git a/of/Utility_Box/src/gui/GUIManager.h b/of/Utility_Box/src/gui/GUIManager.h
index c002d91..43c8752 100644
--- a/of/Utility_Box/src/gui/GUIManager.h
+++ b/of/Utility_Box/src/gui/GUIManager.h
@@ -28,7 +28,7 @@ public:
ofColor color;
-protected:
+//protected:
virtual void buildTopBarGUI();
virtual ofxUICanvas* getNewGUI(string title);
diff --git a/of/Utility_Box/src/testApp.cpp b/of/Utility_Box/src/testApp.cpp
index 5163cdc..4102b89 100644
--- a/of/Utility_Box/src/testApp.cpp
+++ b/of/Utility_Box/src/testApp.cpp
@@ -31,7 +31,6 @@ void testApp::update()
dataManager.update();
scene.update();
- //if (gui.isVisible())
}
@@ -63,4 +62,5 @@ void testApp::keyPressed(int key)
void testApp::windowResized(int w, int h)
{
+ scene.setViewport();
}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/Scene.cpp b/of/Utility_Box/src/visual/Scene.cpp
index c7e6cc4..fa7f71c 100644
--- a/of/Utility_Box/src/visual/Scene.cpp
+++ b/of/Utility_Box/src/visual/Scene.cpp
@@ -11,231 +11,54 @@
void Scene::setup()
{
- vidGrabber.initGrabber(1280, 720);
- vidGrabber.setDesiredFrameRate(30);
-
- bgImg.loadImage("images/tanks.jpg");
- rgbShader.load("shaders/RGBShader");
- barGraph.setup();
- bodyGraph.setup();
- separateBodyGraph.setup();
-
+ graphManager.setup();
+ camera.setDistance(100);
text.loadFont("fonts/Roboto-Light.ttf", 8);
+ setViewport();
}
void Scene::update()
{
- vidGrabber.update();
-
- activeGraph->update();
+ graphManager.update(camera.getPosition());
}
void Scene::draw()
{
- drawVideo();
- activeGraph->draw();
- drawGraphValues();
- drawCrosshairs();
- drawHUDBG();
- drawHUDCopy();
- drawHUDColourBars();
-}
+ ofBackground(0);
-void Scene::drawVideo()
-{
- rgbShader.begin();
-
- rgbShader.setUniform1f("brightness", brightness);
- rgbShader.setUniform1f("contrast", contrast);
- rgbShader.setUniform1f("saturation", saturation);
- rgbShader.setUniform1f("red", red);
- rgbShader.setUniform1f("green", green);
- rgbShader.setUniform1f("blue", blue);
- rgbShader.setUniform1f("alpha", alpha);
+ camera.begin(viewport);
- float vidW = ofGetWidth() * videoWidthPercentage;
- float vidH = ofGetHeight() * videoHeightPercentage;
-
ofPushMatrix();
- ofTranslate((ofGetWidth() - vidW) * 0.5, (ofGetHeight() - vidH) * 0.5);
- if (isVideoVisible)
- vidGrabber.draw(0, 0, vidW, vidH);
- if (isImageVisible)
- bgImg.draw(0, 0, vidW, vidH);
+ ofRotateZ(90);
+ ofSetColor(255, 100);
+ ofDrawGridPlane(60, 10, false);
ofPopMatrix();
- rgbShader.end();
-}
+ graphManager.draw();
-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();
- ofSetColor(hudColour[0], hudColour[1], hudColour[2], hudColour[3]);
- ofBeginShape();
-
- ofVertex(0, 0);
- ofVertex(ofGetWidth(), 0);
- ofVertex(ofGetWidth(), ofGetHeight());
- ofVertex(0, ofGetHeight());
-
- ofNextContour(true);
-
- float radiusW = (ofGetWidth() * 0.5) * hudHoleWidthPercentage;
- float radiusH = (ofGetHeight() * 0.5) * hudHoleHeightPercentage;
-
- for (int i = 0; i < (int)circlePointSize; i++)
- {
- float x = (ofGetWidth() * 0.5) + cos(((float)i / (int)circlePointSize) * TWO_PI) * radiusW;
- float y = (ofGetHeight() * 0.5) + sin(((float)i / (int)circlePointSize) * TWO_PI) * radiusH;
- ofVertex(x, y);
- }
-
- ofEndShape(true);
- ofPopStyle();
-
- ofFill();
-}
-
-
-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)
- {
- float average0 = 0;
- for (int i = 0; i < (int)amountToAverage; i++)
- average0 += p0Data->at(p0Data->size() - i - 1).value;
- average0 /= (int)amountToAverage;
-
- // (p0Data->back() + p0Data->at(p0Data->size() - 2) + p0Data->at(p0Data->size() - 2))
- blStr = "Increase: " + ofToString(p0Data->back().value - p0Data->at(p0Data->size() - 2).value) + "\n" +
- "Current Value: " + ofToString(p0Data->back().value) + "\n" +
- "Running average: " + ofToString(average0);
- drawTextBox(blStr, "BOTTOM LEFT");
-
-
- float average1 = 0;
- for (int i = 0; i < (int)amountToAverage; i++)
- average1 += p1Data->at(p1Data->size() - i - 1).value;
- average1 /= (int)amountToAverage;
-
- brStr = "Increase: " + ofToString(p1Data->back().value - p1Data->at(p1Data->size() - 2).value) + "\n" +
- "Current Value: " + ofToString(p1Data->back().value) + "\n" +
- "Running average: " + ofToString(average1);
- drawTextBox(brStr, "BOTTOM RIGHT");
- }
-}
-
-
-void Scene::drawTextBox(string copy, string align)
-{
- ofPushStyle();
- ofSetColor(textColour[0], textColour[1], textColour[2], textColour[3]);
- ofPushMatrix();
- if (align == "TOP LEFT")
- {
- text.setAlignment(FTGL_ALIGN_LEFT);
- ofTranslate(xMargin, yMargin);
- }
- else if (align == "TOP RIGHT")
- {
- text.setAlignment(FTGL_ALIGN_RIGHT);
- ofTranslate(ofGetWidth() - xMargin - lineLength, yMargin);
- }
- else if (align == "BOTTOM LEFT")
- {
- ofTranslate(xMargin, ofGetHeight() - yMargin - yMarginBottomOffset);
- text.setAlignment(FTGL_ALIGN_LEFT);
- }
- if (align == "BOTTOM RIGHT")
- {
- text.setAlignment(FTGL_ALIGN_RIGHT);
- ofTranslate(ofGetWidth() - xMargin - lineLength, ofGetHeight() - yMargin - yMarginBottomOffset);
- }
-
- text.drawString(copy, 0, 0);
-
- //printf("%s text.getXHeight() = %f\n", align.c_str(), text.getStringBoundingBox(copy, xMargin, yMargin));
-
- ofPopMatrix();
- ofPopStyle();
+ camera.end();
}
-void Scene::drawHUDColourBars()
+void Scene::setViewport()
{
- ofPushStyle();
-
- ofSetColor(activeGraph->col0[0], activeGraph->col0[1], activeGraph->col0[2], activeGraph->col0[3]);
- ofRect(xMargin, yMargin + topColourBoxXOffset, lineLength, colourBoxThickness);
-
- ofSetColor(activeGraph->col0[0], activeGraph->col0[1], activeGraph->col0[2], activeGraph->col0[3]);
- ofRect(xMargin, ofGetHeight() - yMargin - yMarginBottomOffset + bottomColourBoxXOffset, lineLength, colourBoxThickness);
-
- ofSetColor(activeGraph->col1[0], activeGraph->col1[1], activeGraph->col1[2], activeGraph->col1[3]);
- ofRect(ofGetWidth() - xMargin - lineLength, yMargin + topColourBoxXOffset, lineLength, colourBoxThickness);
-
- ofSetColor(activeGraph->col1[0], activeGraph->col1[1], activeGraph->col1[2], activeGraph->col1[3]);
- ofRect(ofGetWidth() - xMargin - lineLength, ofGetHeight() - yMargin - yMarginBottomOffset + bottomColourBoxXOffset, lineLength, colourBoxThickness);
-
- ofPopStyle();
+ viewport = ofRectangle(0, 0, ofGetWidth(), ofGetHeight());
}
void Scene::addNewData(vector newData)
{
- barGraph.addNewData(newData);
- bodyGraph.addNewData(newData);
- separateBodyGraph.addNewData(newData);
+ graphManager.addNewData(newData);
- tlStr = newData[0].info + "\n" + ofToString(newData[0].value);
- trStr = newData[1].info + "\n" + ofToString(newData[1].value);
+ //tlStr = newData[0].info + "\n" + ofToString(newData[0].value);
+ //trStr = newData[1].info + "\n" + ofToString(newData[1].value);
- millisAtLastData = ofGetElapsedTimeMillis();
+ //millisAtLastData = ofGetElapsedTimeMillis();
}
@@ -247,7 +70,5 @@ void Scene::keyPressed(int key)
void Scene::clearGraphData()
{
- barGraph.clear();
- bodyGraph.clear();
- separateBodyGraph.clear();
+ graphManager.clearGraphData();
}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/Scene.h b/of/Utility_Box/src/visual/Scene.h
index 3612f51..99e9d41 100644
--- a/of/Utility_Box/src/visual/Scene.h
+++ b/of/Utility_Box/src/visual/Scene.h
@@ -9,11 +9,10 @@
#pragma once
#include "ofMain.h"
-#include "BarGraph.h"
-#include "BodyGraph.h"
-#include "SeparateBodyGraph.h"
+#include "Graph.h"
#include "DataManager.h"
#include "ofxFTGL.h"
+#include "GraphManager.h"
class testApp;
@@ -23,76 +22,18 @@ public:
void setup();
void update();
void draw();
- void drawVideo();
- void drawGraphValues();
- void drawCrosshairs();
- void drawHUDBG();
- void drawHUDCopy();
- void drawHUDColourBars();
+ void setViewport();
void drawTextBox(string copy, string align);
void addNewData(vector newData);
void clearGraphData();
void keyPressed(int key);
-
- BarGraph barGraph;
- BodyGraph bodyGraph;
- SeparateBodyGraph separateBodyGraph;
- ofShader rgbShader;
- ofVideoGrabber vidGrabber;
- ofImage bgImg;
+ GraphManager graphManager;
+
+ ofEasyCam camera;
+ ofRectangle viewport;
+
ofxFTGLSimpleLayout text;
- AbstractGraph* activeGraph;
-
-
-
- // video image vars
- float brightness;
- float contrast;
- float saturation;
- float red;
- float green;
- float blue;
- float alpha;
- float videoWidthPercentage;
- 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;
- float hudHoleWidthPercentage;
- float hudHoleHeightPercentage;
-
- // text vars
- float xMargin;
- float yMargin;
- float yMarginBottomOffset;
- float lineLength;
- float lineSpacing;
- float textSize;
- float textColour[4];
- string tlStr;
- string trStr;
- string blStr;
- string brStr;
- long millisAtLastData;
- float averageAmount;
-
- // text colour boxes
- float topColourBoxXOffset;
- float bottomColourBoxXOffset;
- float colourBoxThickness;
};
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/AbstractGraph.cpp b/of/Utility_Box/src/visual/graph/AbstractGraph.cpp
index a051e29..37b7231 100644
--- a/of/Utility_Box/src/visual/graph/AbstractGraph.cpp
+++ b/of/Utility_Box/src/visual/graph/AbstractGraph.cpp
@@ -8,8 +8,7 @@
#include "AbstractGraph.h"
-float AbstractGraph::minGraphPercent;
-float AbstractGraph::maxGraphPercent;
+
void AbstractGraph::setup()
{
@@ -19,7 +18,6 @@ void AbstractGraph::setup()
void AbstractGraph::update()
{
- maxData = (ofGetWidth() * (AbstractGraph::maxGraphPercent - AbstractGraph::minGraphPercent)) / graphItemXGap;
}
@@ -32,19 +30,7 @@ void AbstractGraph::draw()
void AbstractGraph::addNewData(vector newData)
{
- publisher0Data.push_back(newData[0]);
- publisher1Data.push_back(newData[1]);
- while (publisher0Data.size() > maxData && publisher0Data.size() > maxData)
- {
- publisher0Data.erase(publisher0Data.begin());
- publisher1Data.erase(publisher1Data.begin());
- }
}
-void AbstractGraph::clear()
-{
- publisher0Data.clear();
- publisher1Data.clear();
-}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/AbstractGraph.h b/of/Utility_Box/src/visual/graph/AbstractGraph.h
index 29982e8..c3c0414 100644
--- a/of/Utility_Box/src/visual/graph/AbstractGraph.h
+++ b/of/Utility_Box/src/visual/graph/AbstractGraph.h
@@ -21,24 +21,6 @@ public:
virtual void addNewData(vector newData);
void clear();
- vector publisher0Data;
- vector publisher1Data;
- int maxData; // calculated from graphWidth and graphItemXGap
- static float minGraphPercent;
- static float maxGraphPercent;
-
- ofPoint currentPub0Point;
- ofPoint currentPub1Point;
-
- float graphItemXGap;
-
- float graphHeightMax;
-
- float col0[4];
- float col1[4];
-
- string graphName;
- float sendDataSpeed;
};
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/Graph.cpp b/of/Utility_Box/src/visual/graph/Graph.cpp
new file mode 100644
index 0000000..6a5668e
--- /dev/null
+++ b/of/Utility_Box/src/visual/graph/Graph.cpp
@@ -0,0 +1,145 @@
+//
+// Created by James Alliban on 11/01/2014.
+//
+//
+
+#include "Graph.h"
+#include "testApp.h"
+
+float Graph::minGraphPercent;
+float Graph::maxGraphPercent;
+float Graph::maxGraphWidth;
+bool Graph::isDrawLines;
+float Graph::graphItemXGap;
+float Graph::lineWidth;
+float Graph::graphHeightMax;
+float Graph::graphEndPercent;
+
+Graph::Graph(int _graphID)
+{
+ app = (testApp*)ofGetAppPtr();
+ graphID = _graphID;
+}
+
+
+
+void Graph::update(ofVec3f activeCamPos)
+{
+ ofVec3f camPos = activeCamPos;
+ centre = ofVec3f(0.1, 0.1, ofMap(graphID, 0, 29, -50, 50));
+ distToCam = sqrt(double(ABS(camPos.x - centre.x) * ABS(camPos.x - centre.x) * ABS(camPos.x - centre.x) +
+ ABS(camPos.y - centre.y) * ABS(camPos.y - centre.y) * ABS(camPos.y - centre.y) +
+ ABS(camPos.z - centre.z) * ABS(camPos.z - centre.z) * ABS(camPos.z - centre.z)));
+ maxData = maxGraphWidth / graphItemXGap;
+}
+
+
+
+void Graph::draw()
+{
+ if (app->gui.isVisible)
+ {
+ float timePerScreenfull = (float)maxData * app->dataManager.sendDataSpeed;
+ ofDrawBitmapString("Time to fill screen:" + ofToString(timePerScreenfull), 500, 150);
+ }
+
+ if (publisher0Data.size() > 1)
+ {
+ ofMesh body0 = getMesh(publisher0Data, col0);
+
+ if (body0.getVertices().size() > 2)
+ {
+ currentPub0Point = ofPoint(body0.getVertex(body0.getVertices().size() - 2).x, body0.getVertex(body0.getVertices().size() - 2).y);
+ }
+
+ float xOffset = 0;
+ float outputMin = 0;
+ float outputMax = graphHeightMax;
+
+ // draw lines
+ ofPushStyle();
+ ofPolyline poly0;
+ for (int i = 0; i < publisher0Data.size() - 1; i++)
+ {
+ if (i < publisher0Data.size() - 1)
+ {
+ ofSetLineWidth(lineWidth);
+ poly0.addVertex(ofVec3f(
+ i * graphItemXGap - (maxGraphWidth * 0.5),
+ ofMap(publisher0Data[i].value, publisher0Data[i].min, publisher0Data[i].max, outputMin, outputMax),
+ centre.z));
+ }
+ }
+
+ //ofVec3f(
+ // i * graphItemXGap - (maxGraphWidth * 0.5),
+ // ofMap(publisherData[i].value, publisherData[i].min, publisherData[i].max, outputMin, outputMax),
+ // 0)
+
+ ofVec2f centroid0 = poly0.getCentroid2D();
+
+ float av0;
+ for (int i = 0; i < poly0.size(); i++)
+ av0 += poly0[i].y;
+
+ av0 /= poly0.size();
+
+ int lineAlpha = 255;
+ if (!isDrawLines) lineAlpha = 0;
+
+ body0.drawFaces();
+ //body0.drawWireframe();
+ //ofSetColor(col0[0],col0[1],col0[2], lineAlpha);
+
+ //poly0.draw();
+
+ ofPopStyle();
+ }
+}
+
+
+ofMesh Graph::getMesh(vector publisherData, float* col)
+{
+ ofMesh bodyMesh;
+ float xOffset = 0;
+ float outputMin = 0;
+ float outputMax = graphHeightMax;
+
+ // draw main part of graph (xOffset)
+ bodyMesh.setMode(OF_PRIMITIVE_TRIANGLE_STRIP);
+ for (int i = 0; i < publisherData.size() - 1; i++)
+ {
+ bodyMesh.addVertex(ofVec3f(
+ i * graphItemXGap - (maxGraphWidth * 0.5),
+ ofMap(publisherData[i].value, publisherData[i].min, publisherData[i].max, outputMin, outputMax),
+ centre.z));
+ bodyMesh.addVertex(ofVec3f(
+ i * graphItemXGap - (maxGraphWidth * 0.5),
+ 0,
+ centre.z));
+
+ ofColor tempCol = ofColor(ofMap(graphID, 0, 29, 0, 255), ofMap(graphID, 0, 29, 255, 0), ofMap(graphID, 0, 29, 150, 50), 255);
+ bodyMesh.addColor(tempCol);
+ bodyMesh.addColor(ofColor(tempCol.r, tempCol.g, tempCol.b, 0));
+ //bodyMesh.addColor(ofColor(col[0],col[1],col[2], 255));
+ //bodyMesh.addColor(ofColor(col[0],col[1],col[2], 0));
+ }
+
+
+ return bodyMesh;
+}
+
+
+
+void Graph::addNewData(DataObject newData)
+{
+ publisher0Data.push_back(newData);
+ while (publisher0Data.size() > maxData && publisher0Data.size() > maxData)
+ publisher0Data.erase(publisher0Data.begin());
+}
+
+
+void Graph::clear()
+{
+ publisher0Data.clear();
+}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/Graph.h b/of/Utility_Box/src/visual/graph/Graph.h
new file mode 100644
index 0000000..74af3e7
--- /dev/null
+++ b/of/Utility_Box/src/visual/graph/Graph.h
@@ -0,0 +1,52 @@
+
+#pragma once
+
+#include "ofMain.h"
+#include "DataManager.h"
+
+class testApp;
+
+class Graph
+{
+public:
+ Graph(int _graphID);
+ void update(ofVec3f ativeCamPos);
+ void draw();
+ void addNewData(DataObject newData);
+ ofMesh getMesh(vector publisherData, float* col);
+ void clear();
+
+ testApp *app;
+ int graphID;
+
+ vector publisher0Data;
+ int maxData; // calculated from graphWidth and graphItemXGap
+
+ //ofFbo
+
+ static float minGraphPercent;
+ static float maxGraphPercent;
+ static float maxGraphWidth;
+ static bool isDrawLines;
+ static float graphItemXGap;
+ static float lineWidth;
+ static float graphHeightMax;
+ static float graphEndPercent;
+
+ //float minGraphPercent;
+ //float maxGraphPercent;
+ //float maxGraphWidth;
+ //bool isDrawLines;
+ //float graphItemXGap;
+ //float lineWidth;
+ //float graphHeightMax;
+ //float graphEndPercent;
+
+ ofPoint currentPub0Point;
+
+ float col0[4];
+
+
+ float distToCam;
+ ofVec3f centre;
+};
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/GraphManager.cpp b/of/Utility_Box/src/visual/graph/GraphManager.cpp
new file mode 100644
index 0000000..ff47a1b
--- /dev/null
+++ b/of/Utility_Box/src/visual/graph/GraphManager.cpp
@@ -0,0 +1,55 @@
+
+#include "GraphManager.h"
+
+void GraphManager::setup()
+{
+ for (int i = 0; i < 30; i++)
+ {
+ Graph *graph = new Graph(i);
+ //graph.setup(i);
+ graphs.push_back(graph);
+ }
+}
+
+
+void GraphManager::update(ofVec3f ativeCamPos)
+{
+ for (int i = 0; i < graphs.size(); i++)
+ {
+ Graph *graph = graphs[i];
+ graph->update(ativeCamPos);
+ }
+
+ std::sort(graphs.begin(), graphs.end(), compareGraphByDistToCam());
+}
+
+
+void GraphManager::draw()
+{
+ for (int i = 0; i < graphs.size(); i++)
+ {
+ Graph *graph = graphs[i];
+ graph->draw();
+ }
+}
+
+
+void GraphManager::addNewData(vector newData)
+{
+ for (int i = 0; i < graphs.size(); i++)
+ {
+ Graph *graph = graphs[i];
+ graph->addNewData(newData[i]);
+ }
+}
+
+
+
+void GraphManager::clearGraphData()
+{
+ for (int i = 0; i < graphs.size(); i++)
+ {
+ Graph *graph = graphs[i];
+ graph->clear();
+ }
+}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/GraphManager.h b/of/Utility_Box/src/visual/graph/GraphManager.h
new file mode 100644
index 0000000..6668b93
--- /dev/null
+++ b/of/Utility_Box/src/visual/graph/GraphManager.h
@@ -0,0 +1,21 @@
+
+#include "ofMain.h"
+#include "DataManager.h"
+#include "Graph.h"
+
+struct compareGraphByDistToCam
+{
+ bool operator() (const Graph* lhs, const Graph* rhs) { return lhs->distToCam > rhs->distToCam; }
+};
+
+class GraphManager
+{
+public:
+ void setup();
+ void update(ofVec3f ativeCamPos);
+ void draw();
+ void addNewData(vector newData);
+ void clearGraphData();
+
+ vector graphs;
+};
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/SeparateBodyGraph.cpp b/of/Utility_Box/src/visual/graph/SeparateBodyGraph.cpp
deleted file mode 100644
index bd1f12f..0000000
--- a/of/Utility_Box/src/visual/graph/SeparateBodyGraph.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-//
-// Created by James Alliban on 11/01/2014.
-//
-//
-
-#include "SeparateBodyGraph.h"
-#include "testApp.h"
-
-
-void SeparateBodyGraph::setup()
-{
- AbstractGraph::setup();
- app = (testApp*)ofGetAppPtr();
- graphName = "SEPARATE_BODY";
-}
-
-
-void SeparateBodyGraph::update()
-{
- AbstractGraph::update();
-}
-
-
-void SeparateBodyGraph::draw()
-{
- if (app->gui.getVisible())
- {
- float timePerScreenfull = (float)maxData * sendDataSpeed;
- ofDrawBitmapString("Time to fill screen:" + ofToString(timePerScreenfull), 500, 150);
- }
-
- if (publisher0Data.size() > 1)
- {
- 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;
- ofPolyline poly1;
- for (int i = 0; i < publisher0Data.size() - 1; i++)
- {
- 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)));
- }
- }
-
-
-
- ofVec2f centroid0 = poly0.getCentroid2D();
- ofVec2f centroid1 = poly1.getCentroid2D();
-
- float av0;
- float av1;
-
- for (int i = 0; i < poly0.size(); i++)
- {
- av0 += poly0[i].y;
- av1 += poly1[i].y;
- }
- av0 /= poly0.size();
- av1 /= poly1.size();
-
- int lineAlpha = 255;
- if (!isDrawLines) lineAlpha = 0;
-
- if (av0 < av1)
- {
- body0.drawFaces();
- ofSetColor(col0[0],col0[1],col0[2], lineAlpha);
- poly0.draw();
-
- body1.drawFaces();
- ofSetColor(col1[0],col1[1],col1[2], lineAlpha);
- poly1.draw();
- }
- else
- {
- body1.drawFaces();
- ofSetColor(col1[0],col1[1],col1[2], lineAlpha);
- poly1.draw();
-
- body0.drawFaces();
- ofSetColor(col0[0],col0[1],col0[2], lineAlpha);
- poly0.draw();
- }
-
- ofPopStyle();
- }
-}
-
-
-ofMesh SeparateBodyGraph::getMesh(vector publisherData, float* col)
-{
- ofMesh bodyMesh;
- float xOffset = ofGetWidth() * AbstractGraph::minGraphPercent;
- float outputMin = (ofGetHeight() * 0.5) - ((ofGetHeight() * 0.5) * graphHeightMax);
- float outputMax = (ofGetHeight() * 0.5) + ((ofGetHeight() * 0.5) * graphHeightMax);
-
- // draw main part of graph (xOffset)
- 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));
-
- bodyMesh.addColor(ofColor(col[0],col[1],col[2], col[3]));
- bodyMesh.addColor(ofColor(col[0],col[1],col[2], 0));
- }
- return bodyMesh;
-}
-
-
-
-void SeparateBodyGraph::addNewData(vector newData)
-{
- AbstractGraph::addNewData(newData);
-}
\ No newline at end of file
diff --git a/of/Utility_Box/src/visual/graph/SeparateBodyGraph.h b/of/Utility_Box/src/visual/graph/SeparateBodyGraph.h
deleted file mode 100644
index 21a3ebb..0000000
--- a/of/Utility_Box/src/visual/graph/SeparateBodyGraph.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#pragma once
-
-#include "ofMain.h"
-#include "AbstractGraph.h"
-
-class testApp;
-
-class SeparateBodyGraph : public AbstractGraph
-{
-public:
- void setup();
- virtual void update();
- virtual void draw();
- virtual void addNewData(vector newData);
- ofMesh getMesh(vector publisherData, float* col);
-
- testApp *app;
-
- float lineWidth;
-
- bool isDrawLines;
- float graphEndPercent;
-};
\ No newline at end of file