summaryrefslogtreecommitdiff
path: root/TRRSS_01_rec
diff options
context:
space:
mode:
Diffstat (limited to 'TRRSS_01_rec')
-rwxr-xr-xTRRSS_01_rec/Makefile2
-rwxr-xr-xTRRSS_01_rec/TRRSS_01_rec.cbp123
-rw-r--r--TRRSS_01_rec/TRRSS_01_rec.layout25
-rwxr-xr-xTRRSS_01_rec/TRRSS_01_rec.workspace9
-rw-r--r--TRRSS_01_rec/addons.make5
-rwxr-xr-xTRRSS_01_rec/config.make56
-rwxr-xr-xTRRSS_01_rec/src/main.cpp19
-rwxr-xr-xTRRSS_01_rec/src/testApp.cpp164
-rwxr-xr-xTRRSS_01_rec/src/testApp.h75
9 files changed, 478 insertions, 0 deletions
diff --git a/TRRSS_01_rec/Makefile b/TRRSS_01_rec/Makefile
new file mode 100755
index 0000000..2d83a77
--- /dev/null
+++ b/TRRSS_01_rec/Makefile
@@ -0,0 +1,2 @@
+include config.make
+include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples
diff --git a/TRRSS_01_rec/TRRSS_01_rec.cbp b/TRRSS_01_rec/TRRSS_01_rec.cbp
new file mode 100755
index 0000000..9fd8544
--- /dev/null
+++ b/TRRSS_01_rec/TRRSS_01_rec.cbp
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+ <FileVersion major="1" minor="6" />
+ <Project>
+ <Option title="TRRSS_01_rec" />
+ <Option makefile_is_custom="1" />
+ <Option pch_mode="2" />
+ <Option compiler="gcc" />
+ <Option virtualFolders="addons/;src/;build config/;addons/ofxOpenNI/src/;" />
+ <Build>
+ <Target title="Debug">
+ <Option output="bin/$(PROJECT_NAME)_debug" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Debug/" />
+ <Option external_deps="../../openFrameworks/libs/openFrameworksCompiled/lib/linux64/libopenFrameworksDebug.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ <Target title="Release">
+ <Option output="bin/$(PROJECT_NAME)" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Release/" />
+ <Option external_deps="../../openFrameworks/libs/openFrameworksCompiled/lib/linux64/libopenFrameworks.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ </Build>
+ <Unit filename="addons.make">
+ <Option virtualFolder="build config/" />
+ </Unit>
+ <Unit filename="config.make">
+ <Option virtualFolder="build config" />
+ </Unit>
+ <Unit filename="src/main.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.h">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxDepthGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxDepthGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxGestureGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxGestureGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxHandGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxHandGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxHardwareDriver.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxHardwareDriver.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxIRGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxIRGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxImageGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxImageGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNI.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIContext.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIContext.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIMacros.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIRecorder.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIRecorder.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxTrackedHand.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxTrackedHand.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxTrackedUser.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxTrackedUser.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxUserGenerator.cpp">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Unit filename="../../openFrameworks/addons/ofxOpenNI/src/ofxUserGenerator.h">
+ <Option virtualFolder="addons/ofxOpenNI/src" />
+ </Unit>
+ <Extensions>
+ <code_completion />
+ <envvars />
+ <debugger />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
diff --git a/TRRSS_01_rec/TRRSS_01_rec.layout b/TRRSS_01_rec/TRRSS_01_rec.layout
new file mode 100644
index 0000000..9a9709a
--- /dev/null
+++ b/TRRSS_01_rec/TRRSS_01_rec.layout
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_layout_file>
+ <ActiveTarget name="Debug" />
+ <File name="addons.make" open="1" top="0" tabpos="2">
+ <Cursor position="53" topLine="0" />
+ </File>
+ <File name="config.make" open="0" top="0" tabpos="0">
+ <Cursor position="601" topLine="0" />
+ </File>
+ <File name="src/main.cpp" open="0" top="0" tabpos="0">
+ <Cursor position="187" topLine="0" />
+ </File>
+ <File name="src/testApp.cpp" open="1" top="1" tabpos="6">
+ <Cursor position="2624" topLine="24" />
+ </File>
+ <File name="src/testApp.h" open="0" top="0" tabpos="0">
+ <Cursor position="731" topLine="15" />
+ </File>
+ <File name="../../openFrameworks/addons/ofxOpenNI/src/ofxImageGenerator.h" open="1" top="0" tabpos="5">
+ <Cursor position="1643" topLine="21" />
+ </File>
+ <File name="../../openFrameworks/addons/ofxOpenNI/src/ofxOpenNIContext.h" open="0" top="0" tabpos="0">
+ <Cursor position="1305" topLine="16" />
+ </File>
+</CodeBlocks_layout_file>
diff --git a/TRRSS_01_rec/TRRSS_01_rec.workspace b/TRRSS_01_rec/TRRSS_01_rec.workspace
new file mode 100755
index 0000000..d8488cd
--- /dev/null
+++ b/TRRSS_01_rec/TRRSS_01_rec.workspace
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_workspace_file>
+ <Workspace title="TRRSS_01_rec">
+ <Project filename="TRRSS_01_rec.cbp" active="1">
+ <Depends filename="../../openFrameworks/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp" />
+ </Project>
+ <Project filename="../../openFrameworks/libs/openFrameworksCompiled/project/linux64/libopenFrameworks.cbp" />
+ </Workspace>
+</CodeBlocks_workspace_file>
diff --git a/TRRSS_01_rec/addons.make b/TRRSS_01_rec/addons.make
new file mode 100644
index 0000000..0b4df47
--- /dev/null
+++ b/TRRSS_01_rec/addons.make
@@ -0,0 +1,5 @@
+ofxOpenNI
+ofxFenster
+ofxGui
+ofxXmlSettings
+ofxMayaCam
diff --git a/TRRSS_01_rec/config.make b/TRRSS_01_rec/config.make
new file mode 100755
index 0000000..821a73a
--- /dev/null
+++ b/TRRSS_01_rec/config.make
@@ -0,0 +1,56 @@
+# add custom variables to this file
+
+# OF_ROOT allows to move projects outside apps/* just set this variable to the
+# absoulte path to the OF root folder
+
+OF_ROOT = ../../openFrameworks
+
+
+# USER_CFLAGS allows to pass custom flags to the compiler
+# for example search paths like:
+# USER_CFLAGS = -I src/objects
+
+USER_CFLAGS = -I $(OF_ROOT)/addons/ofxOpenNI/include/openni -I $(OF_ROOT)/addons/ofxOpenNI/include/nite -I $(OF_ROOT)/addons/ofxOpenNI/src
+
+
+# USER_LDFLAGS allows to pass custom flags to the linker
+# for example libraries like:
+# USER_LDFLAGS = libs/libawesomelib.a
+
+USER_LDFLAGS = -lOpenNI
+
+
+EXCLUDE_FROM_SOURCE="bin,.xcodeproj,obj"
+
+# change this to add different compiler optimizations to your project
+
+USER_COMPILER_OPTIMIZATION = -march=native -mtune=native -Os
+
+
+# android specific, in case you want to use different optimizations
+USER_LIBS_ARM =
+USER_LIBS_ARM7 =
+USER_LIBS_NEON =
+
+# android optimizations
+
+ANDROID_COMPILER_OPTIMIZATION = -Os
+
+NDK_PLATFORM = android-8
+
+# uncomment this for custom application name (if the folder name is different than the application name)
+#APPNAME = folderName
+
+# uncomment this for custom package name, must be the same as the java package that contains OFActivity
+#PKGNAME = cc.openframeworks.$(APPNAME)
+
+
+
+
+
+# linux arm flags
+
+LINUX_ARM7_COMPILER_OPTIMIZATIONS = -march=armv7-a -mtune=cortex-a8 -finline-functions -funroll-all-loops -O3 -funsafe-math-optimizations -mfpu=neon -ftree-vectorize -mfloat-abi=hard -mfpu=vfp
+
+
+
diff --git a/TRRSS_01_rec/src/main.cpp b/TRRSS_01_rec/src/main.cpp
new file mode 100755
index 0000000..1f1c3a1
--- /dev/null
+++ b/TRRSS_01_rec/src/main.cpp
@@ -0,0 +1,19 @@
+#include "ofMain.h"
+#include "testApp.h"
+#include "ofAppGlutWindow.h"
+
+//========================================================================
+int main( ){
+
+ ofAppGlutWindow window;
+ ofSetupOpenGL(ofxFensterManager::get(),1024,768, OF_WINDOW); //2048,768
+ //ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context
+ //ofSetupOpenGL(&window, 1024,768, OF_WINDOW);
+
+ // this kicks off the running of my app
+ // can be OF_WINDOW or OF_FULLSCREEN
+ // pass in width and height too:
+ //ofRunApp( new testApp());
+ ofRunFensterApp( new testApp());
+
+}
diff --git a/TRRSS_01_rec/src/testApp.cpp b/TRRSS_01_rec/src/testApp.cpp
new file mode 100755
index 0000000..1c333bf
--- /dev/null
+++ b/TRRSS_01_rec/src/testApp.cpp
@@ -0,0 +1,164 @@
+#include "testApp.h"
+//texture binding with normalised coords
+void bindTexture(ofBaseHasTexture &t) {
+ ofTexture &tex = t.getTextureReference();
+ tex.bind();
+
+ glMatrixMode(GL_TEXTURE);
+ glPushMatrix();
+ glLoadIdentity();
+
+ ofTextureData texData = tex.getTextureData();
+ if(texData.textureTarget == GL_TEXTURE_RECTANGLE_ARB) {
+ glScalef(tex.getWidth(), tex.getHeight(), 1.0f);
+ } else {
+ glScalef(tex.getWidth() / texData.tex_w, tex.getHeight() / texData.tex_h, 1.0f);
+ }
+
+ glMatrixMode(GL_MODELVIEW);
+}
+void unbindTexture(ofBaseHasTexture &t) {
+ t.getTextureReference().unbind();
+
+ glMatrixMode(GL_TEXTURE);
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+}
+void bindTex(ofTexture &tex) {
+ tex.bind();
+
+ glMatrixMode(GL_TEXTURE);
+ glPushMatrix();
+ glLoadIdentity();
+
+ ofTextureData texData = tex.getTextureData();
+ if(texData.textureTarget == GL_TEXTURE_RECTANGLE_ARB) {
+ glScalef(tex.getWidth(), tex.getHeight(), 1.0f);
+ } else {
+ glScalef(tex.getWidth() / texData.tex_w, tex.getHeight() / texData.tex_h, 1.0f);
+ }
+
+ glMatrixMode(GL_MODELVIEW);
+}
+void unbindTex(ofTexture &tex) {
+ tex.unbind();
+
+ glMatrixMode(GL_TEXTURE);
+ glPopMatrix();
+ glMatrixMode(GL_MODELVIEW);
+}
+//--------------------------------------------------------------
+void testApp::setup(){
+ recordContext.setup();
+ recordDepth.setup(&recordContext);
+ recordImage.setup(&recordContext);
+ recordUser.setup(&recordContext);
+ recordUser.setUseCloudPoints(true);
+ recordContext.toggleRegisterViewport();
+
+ guiWin=new guiWindow();
+ ofxFenster* win=ofxFensterManager::get()->createFenster(0, 0, 200, 400, OF_WINDOW);
+ win->setWindowTitle("config");
+ win->addListener(guiWin);
+ guiWin->setup();
+}
+
+//--------------------------------------------------------------
+void testApp::update(){
+ recordContext.update();
+ recordDepth.update();
+ recordImage.update();
+ recordUser.update();
+}
+
+//--------------------------------------------------------------
+void testApp::draw(){
+ cam.begin();
+ //bind texture recordImage
+ //get point data from recordDepth
+ //draw textured polys and allow manipulation
+ ofPushMatrix();
+ ofTranslate(320,240,-1000);
+ //ofRotate(0,0,1,180);
+ bindTex(recordImage.getTexture());
+ int step = 1;
+ for(int y = step; y < 480; y += step) {
+ glBegin(GL_QUADS);
+ for(int x = step; x < 640; x += step) {
+ ofPoint pos1 = recordUser.getWorldCoordinateAt(x-step, y-step, 0); //userID);
+ ofPoint pos2 = recordUser.getWorldCoordinateAt(x, y-step, 0); //userID);
+ ofPoint pos3 = recordUser.getWorldCoordinateAt(x-step, y, 0); //userID);
+ ofPoint pos4 = recordUser.getWorldCoordinateAt(x, y, 0); //userID);
+
+ if ((guiWin->distMin<pos1.z&&pos1.z<guiWin->distMax)&&
+ (guiWin->distMin<pos2.z&&pos2.z<guiWin->distMax)&&
+ (guiWin->distMin<pos3.z&&pos3.z<guiWin->distMax)&&
+ (guiWin->distMin<pos4.z&&pos4.z<guiWin->distMax)) {
+
+ glTexCoord2f(((float)x-step)/640.0f,((float)y-step)/480.0f);
+ glVertex3f(pos1.x, -pos1.y,pos1.z);
+ glTexCoord2f(((float)x)/640.0f,((float)y-step)/480.0f);
+ glVertex3f(pos2.x, -pos2.y,pos2.z);
+ glTexCoord2f(((float)x)/640.0f,((float)y)/480.0f);
+ glVertex3f(pos4.x, -pos4.y,pos4.z);
+ glTexCoord2f(((float)x-step)/640.0f,((float)y)/480.0f);
+ glVertex3f(pos3.x, -pos3.y,pos3.z);
+ }
+ }
+ glEnd();
+ }
+ ofPopMatrix();
+
+ unbindTex(recordImage.getTexture());
+
+ //recordImage.draw(0, 0, ofGetWidth(),ofGetHeight());
+
+ cam.end();
+
+
+}
+
+//--------------------------------------------------------------
+void testApp::keyPressed(int key){
+
+}
+
+//--------------------------------------------------------------
+void testApp::keyReleased(int key){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseMoved(int x, int y ){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseDragged(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mousePressed(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseReleased(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::windowResized(int w, int h){
+
+}
+
+//--------------------------------------------------------------
+void testApp::gotMessage(ofMessage msg){
+
+}
+
+//--------------------------------------------------------------
+void testApp::dragEvent(ofDragInfo dragInfo){
+
+}
diff --git a/TRRSS_01_rec/src/testApp.h b/TRRSS_01_rec/src/testApp.h
new file mode 100755
index 0000000..1da9c6e
--- /dev/null
+++ b/TRRSS_01_rec/src/testApp.h
@@ -0,0 +1,75 @@
+#pragma once
+
+//for tomorrow: drawing interface & screengrab
+
+//thursday:
+//2 camera calibration
+//recording - whats the best format - in memeory + save at end?
+//movie + pixels?
+
+#include "ofMain.h"
+#include "ofxOpenNI.h"
+
+#include "ofxFensterManager.h"
+#include "ofxGui.h"
+
+#include "ofxMayaCam.h"
+
+class guiWindow;
+
+class testApp : public ofxFensterListener{
+
+ public:
+ void setup();
+ void update();
+ void draw();
+
+ void keyPressed (int key);
+ void keyReleased(int key);
+ void mouseMoved(int x, int y );
+ void mouseDragged(int x, int y, int button);
+ void mousePressed(int x, int y, int button);
+ void mouseReleased(int x, int y, int button);
+ void windowResized(int w, int h);
+ void dragEvent(ofDragInfo dragInfo);
+ void gotMessage(ofMessage msg);
+
+ ofxOpenNIContext recordContext;
+ ofxDepthGenerator recordDepth;
+ ofxImageGenerator recordImage;
+ ofxUserGenerator recordUser;
+
+ guiWindow *guiWin;
+
+ ofxMayaCam cam;
+
+};
+
+class guiWindow: public ofxFensterListener{
+ public:
+ ofxPanel gui;
+ ofxFloatSlider dMin;
+ ofxParameter<float> distMin;
+ ofxFloatSlider dMax;
+ ofxParameter<float> distMax;
+ ofxToggle dPoints;
+ ofxParameter<bool> drawPoints;
+ ofxFloatSlider pSize;
+ ofxParameter<float> pointSize;
+
+
+ void setup(){
+ gui.setup("","panel.xml",0,0);
+ distMin=400;
+ gui.add(dMin.setup("min distance",distMin,0,5000,255));
+ distMax=2000;
+ gui.add(dMax.setup("max distance",distMax,0,5000,255));
+ drawPoints=false;
+ gui.add(dPoints.setup("draw points",drawPoints));
+ pointSize=2.0;
+ gui.add(pSize.setup("point size",pointSize,1.0,20.0,255));
+ }
+ void draw() { gui.draw(); }
+
+
+};