├── .gitignore ├── 3dMultiscaleTuring ├── Project.xcconfig ├── ofApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── ofApp Debug.xcscheme │ │ └── ofApp Release.xcscheme ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── MultiscaleTuring0 ├── Project.xcconfig ├── ofApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── ofApp Debug.xcscheme │ │ └── ofApp Release.xcscheme ├── openFrameworks-Info.plist └── src │ ├── TuringPattern.h │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── MultiscaleTuring1 ├── Project.xcconfig ├── ofApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── ofApp Debug.xcscheme │ │ └── ofApp Release.xcscheme ├── openFrameworks-Info.plist └── src │ ├── TuringPattern.h │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── MultiscaleTuring2 ├── Project.xcconfig ├── ofApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── ofApp Debug.xcscheme │ │ └── ofApp Release.xcscheme ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── MultiscaleTuring3 ├── Project.xcconfig ├── ofApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ ├── ofApp Debug.xcscheme │ │ └── ofApp Release.xcscheme ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.depend 2 | *.layout 3 | *.mode*v3 4 | *.pbxuser 5 | *.app* 6 | *.DS_* 7 | *.xcworkspacedata 8 | xcuserdata/ 9 | 10 | *.opensdf 11 | *.sdf 12 | *.suo 13 | *.ipch 14 | 15 | .svn/ 16 | obj/ 17 | bin/ 18 | build/ 19 | !data/ -------------------------------------------------------------------------------- /3dMultiscaleTuring/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /3dMultiscaleTuring/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /3dMultiscaleTuring/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /3dMultiscaleTuring/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /3dMultiscaleTuring/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 1280, 720, OF_WINDOW); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /3dMultiscaleTuring/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | bool drawTiles = false; 4 | 5 | int n, wh, side, levels; 6 | floats grid; 7 | floats diffusionLeft, diffusionRight, variation; 8 | floats bestVariation; 9 | bytes bestLevel; 10 | bools direction; 11 | 12 | vector stepSizes; 13 | vector radii; 14 | ofImage buffer; 15 | 16 | void ofApp::setup() { 17 | // initialize settings 18 | side = 64; 19 | float base = 2; 20 | levels = logf(side) / logf(base); 21 | float stepScale = .09; 22 | float stepOffset = .008; 23 | 24 | // allocate space 25 | wh = side * side; 26 | n = side * side * side; 27 | radii.resize(levels); 28 | stepSizes.resize(levels); 29 | grid.resize(n); 30 | diffusionLeft.resize(n); 31 | diffusionRight.resize(n); 32 | variation.resize(n); 33 | bestVariation.resize(n); 34 | bestLevel.resize(n); 35 | direction.resize(n); 36 | buffer.allocate(side, side, OF_IMAGE_COLOR_ALPHA); 37 | 38 | // determines the shape of the patterns 39 | for(int i = 0; i < levels; i++) { 40 | int radius = (int) powf(base, i); 41 | radii[i] = radius; 42 | float diameterRatio = (float) ((2 * radius) + 1) / side; 43 | cout << i << ":" << (int) (100 * diameterRatio) << "%" << endl; 44 | stepSizes[i] = log(radius) * stepScale + stepOffset; 45 | } 46 | 47 | // initialize the grid with noise 48 | for (int i = 0; i < n; i++) { 49 | grid[i] = ofRandom(-1, +1); 50 | } 51 | 52 | unsigned char* pixels = buffer.getPixels(); 53 | for(int i = 0; i < wh; i++) { 54 | for(int j = 0; j < 4; j++) { 55 | pixels[i * 4 + j] = 255; 56 | } 57 | } 58 | ofEnableBlendMode(OF_BLENDMODE_ADD); 59 | } 60 | 61 | void blur(floats& from, floats& to, floats& buffer, int w, int h, int d, int radius) { 62 | // build integral image 63 | int i = 0; 64 | bool hx, hy, hz; 65 | hz = false; 66 | for(int z = 0; z < d; z++) { 67 | hy = false; 68 | for(int y = 0; y < h; y++) { 69 | hx = false; 70 | for(int x = 0; x < w; x++) { 71 | buffer[i] = from[i]; 72 | 73 | if(hx) { 74 | buffer[i] += buffer[i - 1]; 75 | if(hy) { 76 | buffer[i] -= buffer[i - 1 - w]; 77 | if(hz) { 78 | buffer[i] += buffer[i - 1 - w - wh]; 79 | } 80 | } 81 | if(hz) { 82 | buffer[i] -= buffer[i - 1 - wh]; 83 | } 84 | } 85 | if(hy) { 86 | buffer[i] += buffer[i - w]; 87 | if(hz) { 88 | buffer[i] -= buffer[i - w - wh]; 89 | } 90 | } 91 | if(hz) { 92 | buffer[i] += buffer[i - wh]; 93 | } 94 | 95 | /* 96 | int swb = i - 1 - 0 - 0; 97 | int nwb = i - 1 - w - 0; 98 | int nwf = i - 1 - w - wh; 99 | int swf = i - 1 - 0 - wh; 100 | int neb = i - 0 - w - 0; 101 | int nef = i - 0 - w - wh; 102 | int sef = i - 0 - 0 - wh; 103 | if(x > 0) { 104 | buffer[i] += buffer[swb]; 105 | } 106 | if(y > 0) { 107 | buffer[i] += buffer[neb]; 108 | } 109 | if(z > 0) { 110 | buffer[i] += buffer[sef]; 111 | } 112 | if(x > 0 && y > 0 && z > 0) { 113 | buffer[i] += buffer[nwf]; 114 | } 115 | if(x > 0 && y > 0) { 116 | buffer[i] -= buffer[nwb]; 117 | } 118 | if(x > 0 && z > 0) { 119 | buffer[i] -= buffer[swf]; 120 | } 121 | if(y > 0 && z > 0) { 122 | buffer[i] -= buffer[nef]; 123 | } 124 | */ 125 | i++; 126 | hx = true; 127 | } 128 | hy = true; 129 | } 130 | hz = true; 131 | } 132 | // do lookups 133 | i = 0; 134 | for(int z = 0; z < d; z++) { 135 | int minz = max(0, z - radius); 136 | int maxz = min(z + radius, d - 1); 137 | int minzi = minz * wh; 138 | int maxzi = maxz * wh; 139 | for(int y = 0; y < h; y++) { 140 | int miny = max(0, y - radius); 141 | int maxy = min(y + radius, h - 1); 142 | int minyi = miny * w; 143 | int maxyi = maxy * w; 144 | for(int x = 0; x < w; x++) { 145 | int minx = max(0, x - radius); 146 | int maxx = min(x + radius, w - 1); 147 | int volume = (maxx - minx) * (maxy - miny) * (maxz - minz); 148 | 149 | int nwf = minzi + minyi + minx; 150 | int nef = minzi + minyi + maxx; 151 | int swf = minzi + maxyi + minx; 152 | int sef = minzi + maxyi + maxx; 153 | int nwb = maxzi + minyi + minx; 154 | int neb = maxzi + minyi + maxx; 155 | int swb = maxzi + maxyi + minx; 156 | int seb = maxzi + maxyi + maxx; 157 | 158 | to[i] = (+buffer[nwb] 159 | -buffer[neb] 160 | -buffer[swb] 161 | +buffer[seb] 162 | -buffer[nwf] 163 | +buffer[nef] 164 | +buffer[swf] 165 | -buffer[sef]) / volume; 166 | i++; 167 | } 168 | } 169 | } 170 | } 171 | 172 | void ofApp::update() { 173 | floats* activator = &grid; 174 | floats* inhibitor = &diffusionRight; 175 | 176 | for(int level = 0; level < levels - 1; level++) { 177 | // blur activator into inhibitor 178 | int radius = radii[level]; 179 | blur(*activator, *inhibitor, variation, side, side, side, radius); 180 | 181 | // absdiff between activator and inhibitor 182 | for(int i = 0; i < n; i++) { 183 | variation[i] = fabsf((*activator)[i] - (*inhibitor)[i]); 184 | } 185 | 186 | if(level == 0) { 187 | // save bestLevel and bestVariation 188 | for(int i = 0; i < n; i++) { 189 | bestVariation[i] = variation[i]; 190 | bestLevel[i] = level; 191 | direction[i] = (*activator)[i] > (*inhibitor)[i]; 192 | } 193 | activator = &diffusionRight; 194 | inhibitor = &diffusionLeft; 195 | } else { 196 | // check/save bestLevel and bestVariation 197 | for(int i = 0; i < n; i++) { 198 | if(variation[i] < bestVariation[i]) { 199 | bestVariation[i] = variation[i]; 200 | bestLevel[i] = level; 201 | direction[i] = (*activator)[i] > (*inhibitor)[i]; 202 | } 203 | } 204 | swap(activator, inhibitor); 205 | } 206 | } 207 | 208 | // update grid from bestLevel 209 | float smallest = 10; 210 | float largest = -10; 211 | for(int i = 0; i < n; i++) { 212 | float curStep = stepSizes[bestLevel[i]]; 213 | if(direction[i]) { 214 | grid[i] += curStep; 215 | } else { 216 | grid[i] -= curStep; 217 | } 218 | smallest = min(smallest, grid[i]); 219 | largest = max(largest, grid[i]); 220 | } 221 | 222 | // normalize to [-1, +1] 223 | float range = (largest - smallest) / 2; 224 | for (int i = 0; i < n; i++) { 225 | grid[i] = ((grid[i] - smallest) / range) - 1; 226 | } 227 | } 228 | 229 | void ofApp::drawBuffer(floats& grid, int offset) { 230 | unsigned char* pixels = buffer.getPixels(); 231 | for (int i = 0; i < wh; i++) { 232 | float cur = grid[i + offset * wh]; 233 | pixels[i * 4 + 3] = (cur + 1) * 4; 234 | } 235 | buffer.update(); 236 | buffer.draw(0, 0);//, ofGetWidth(), ofGetHeight()); 237 | } 238 | 239 | void ofApp::draw() { 240 | ofBackground(0); 241 | 242 | cam.begin(); 243 | ofScale(5, 5, 5); 244 | ofTranslate(-side / 2, -side / 2, -side / 2); 245 | //ofSetMinMagFilters(GL_NEAREST, GL_NEAREST); 246 | for(int z = 0; z < side; z++) { 247 | ofPushMatrix(); 248 | ofTranslate(0, 0, z); 249 | drawBuffer(grid, z); 250 | ofPopMatrix(); 251 | } 252 | cam.end(); 253 | 254 | if(drawTiles) { 255 | int i = 0; 256 | for(int y = 0; y < 8; y++) { 257 | for(int x = 0; x < 8; x++) { 258 | ofPushMatrix(); 259 | ofTranslate(x * side, y * side); 260 | drawBuffer(grid, i++); 261 | ofPopMatrix(); 262 | } 263 | } 264 | } 265 | 266 | //ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20); 267 | } 268 | 269 | void ofApp::mousePressed(int x, int y, int button) { 270 | //setup(); 271 | } 272 | 273 | void ofApp::keyPressed(int key) { 274 | if(key == ' ') { 275 | buffer.saveImage(ofToString(ofGetFrameNum()) + ".png"); 276 | } 277 | if(key == '\t') { 278 | setup(); 279 | } 280 | } -------------------------------------------------------------------------------- /3dMultiscaleTuring/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxCv.h" 5 | using namespace cv; 6 | 7 | typedef vector floats; 8 | typedef vector bytes; 9 | typedef vector bools; 10 | 11 | class ofApp : public ofBaseApp { 12 | public: 13 | void setup(); 14 | void update(); 15 | void draw(); 16 | void drawBuffer(floats& grid, int offset); 17 | void mousePressed(int x, int y, int button); 18 | void keyPressed(int key); 19 | 20 | ofEasyCam cam; 21 | }; 22 | -------------------------------------------------------------------------------- /MultiscaleTuring0/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /MultiscaleTuring0/ofApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 42; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 27ED8F4D1616472D00C3003B /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27ED8F4B1616472D00C3003B /* ofApp.cpp */; }; 11 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 12 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworks.a */; }; 13 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 14 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 15 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 16 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; 17 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 18 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 19 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 20 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 21 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 22 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 23 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 24 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 25 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 26 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 27 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; 28 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; 29 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; 30 | /* End PBXBuildFile section */ 31 | 32 | /* Begin PBXContainerItemProxy section */ 33 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 34 | isa = PBXContainerItemProxy; 35 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 36 | proxyType = 2; 37 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 38 | remoteInfo = openFrameworks; 39 | }; 40 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 41 | isa = PBXContainerItemProxy; 42 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 43 | proxyType = 1; 44 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 45 | remoteInfo = openFrameworks; 46 | }; 47 | /* End PBXContainerItemProxy section */ 48 | 49 | /* Begin PBXCopyFilesBuildPhase section */ 50 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 51 | isa = PBXCopyFilesBuildPhase; 52 | buildActionMask = 2147483647; 53 | dstPath = ""; 54 | dstSubfolderSpec = 10; 55 | files = ( 56 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 57 | ); 58 | runOnlyForDeploymentPostprocessing = 0; 59 | }; 60 | /* End PBXCopyFilesBuildPhase section */ 61 | 62 | /* Begin PBXFileReference section */ 63 | 27ED8F4B1616472D00C3003B /* ofApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; 64 | 27ED8F4C1616472D00C3003B /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; 65 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 66 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 67 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 68 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 69 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 70 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; 71 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 72 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 73 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 74 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 75 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 76 | E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofAppDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 77 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 78 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 79 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 80 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 81 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 82 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 83 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 84 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; 85 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; 86 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; 87 | /* End PBXFileReference section */ 88 | 89 | /* Begin PBXFrameworksBuildPhase section */ 90 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 91 | isa = PBXFrameworksBuildPhase; 92 | buildActionMask = 2147483647; 93 | files = ( 94 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, 95 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, 96 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 97 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */, 98 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 99 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 100 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 101 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, 102 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 103 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 104 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 105 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 106 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 107 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 108 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 109 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 110 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, 111 | ); 112 | runOnlyForDeploymentPostprocessing = 0; 113 | }; 114 | /* End PBXFrameworksBuildPhase section */ 115 | 116 | /* Begin PBXGroup section */ 117 | BB4B014C10F69532006C3DED /* addons */ = { 118 | isa = PBXGroup; 119 | children = ( 120 | ); 121 | name = addons; 122 | sourceTree = ""; 123 | }; 124 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 125 | isa = PBXGroup; 126 | children = ( 127 | E7F985F515E0DE99003869B5 /* Accelerate.framework */, 128 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 129 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 130 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 131 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 132 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 133 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 134 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */, 135 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 136 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 137 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 138 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 139 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 140 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, 141 | E7E077E715D3B6510020DFD4 /* QTKit.framework */, 142 | ); 143 | name = "system frameworks"; 144 | sourceTree = ""; 145 | }; 146 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 147 | isa = PBXGroup; 148 | children = ( 149 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 150 | ); 151 | name = "3rd party frameworks"; 152 | sourceTree = ""; 153 | }; 154 | E4328144138ABC890047C5CB /* Products */ = { 155 | isa = PBXGroup; 156 | children = ( 157 | E4328148138ABC890047C5CB /* openFrameworks.a */, 158 | ); 159 | name = Products; 160 | sourceTree = ""; 161 | }; 162 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 163 | isa = PBXGroup; 164 | children = ( 165 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 166 | BBAB23C913894ECA00AA2426 /* system frameworks */, 167 | ); 168 | name = frameworks; 169 | sourceTree = ""; 170 | }; 171 | E4B69B4A0A3A1720003C02F2 = { 172 | isa = PBXGroup; 173 | children = ( 174 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 175 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 176 | E4B69E1C0A3A1BDC003C02F2 /* src */, 177 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 178 | BB4B014C10F69532006C3DED /* addons */, 179 | E45BE5980E8CC70C009D7055 /* frameworks */, 180 | E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */, 181 | ); 182 | sourceTree = ""; 183 | }; 184 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 185 | isa = PBXGroup; 186 | children = ( 187 | 27ED8F4B1616472D00C3003B /* ofApp.cpp */, 188 | 27ED8F4C1616472D00C3003B /* ofApp.h */, 189 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 190 | ); 191 | path = src; 192 | sourceTree = SOURCE_ROOT; 193 | }; 194 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 195 | isa = PBXGroup; 196 | children = ( 197 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 198 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 199 | ); 200 | name = openFrameworks; 201 | sourceTree = ""; 202 | }; 203 | /* End PBXGroup section */ 204 | 205 | /* Begin PBXNativeTarget section */ 206 | E4B69B5A0A3A1756003C02F2 /* ofApp */ = { 207 | isa = PBXNativeTarget; 208 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */; 209 | buildPhases = ( 210 | E4B69B580A3A1756003C02F2 /* Sources */, 211 | E4B69B590A3A1756003C02F2 /* Frameworks */, 212 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 213 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 214 | ); 215 | buildRules = ( 216 | ); 217 | dependencies = ( 218 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 219 | ); 220 | name = ofApp; 221 | productName = myOFApp; 222 | productReference = E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */; 223 | productType = "com.apple.product-type.application"; 224 | }; 225 | /* End PBXNativeTarget section */ 226 | 227 | /* Begin PBXProject section */ 228 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 229 | isa = PBXProject; 230 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */; 231 | compatibilityVersion = "Xcode 2.4"; 232 | developmentRegion = English; 233 | hasScannedForEncodings = 0; 234 | knownRegions = ( 235 | English, 236 | Japanese, 237 | French, 238 | German, 239 | ); 240 | mainGroup = E4B69B4A0A3A1720003C02F2; 241 | productRefGroup = E4B69B4A0A3A1720003C02F2; 242 | projectDirPath = ""; 243 | projectReferences = ( 244 | { 245 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 246 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 247 | }, 248 | ); 249 | projectRoot = ""; 250 | targets = ( 251 | E4B69B5A0A3A1756003C02F2 /* ofApp */, 252 | ); 253 | }; 254 | /* End PBXProject section */ 255 | 256 | /* Begin PBXReferenceProxy section */ 257 | E4328148138ABC890047C5CB /* openFrameworks.a */ = { 258 | isa = PBXReferenceProxy; 259 | fileType = archive.ar; 260 | path = openFrameworks.a; 261 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 262 | sourceTree = BUILT_PRODUCTS_DIR; 263 | }; 264 | /* End PBXReferenceProxy section */ 265 | 266 | /* Begin PBXShellScriptBuildPhase section */ 267 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 268 | isa = PBXShellScriptBuildPhase; 269 | buildActionMask = 2147483647; 270 | files = ( 271 | ); 272 | inputPaths = ( 273 | ); 274 | outputPaths = ( 275 | ); 276 | runOnlyForDeploymentPostprocessing = 0; 277 | shellPath = /bin/sh; 278 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; 279 | }; 280 | /* End PBXShellScriptBuildPhase section */ 281 | 282 | /* Begin PBXSourcesBuildPhase section */ 283 | E4B69B580A3A1756003C02F2 /* Sources */ = { 284 | isa = PBXSourcesBuildPhase; 285 | buildActionMask = 2147483647; 286 | files = ( 287 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 288 | 27ED8F4D1616472D00C3003B /* ofApp.cpp in Sources */, 289 | ); 290 | runOnlyForDeploymentPostprocessing = 0; 291 | }; 292 | /* End PBXSourcesBuildPhase section */ 293 | 294 | /* Begin PBXTargetDependency section */ 295 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 296 | isa = PBXTargetDependency; 297 | name = openFrameworks; 298 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 299 | }; 300 | /* End PBXTargetDependency section */ 301 | 302 | /* Begin XCBuildConfiguration section */ 303 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 304 | isa = XCBuildConfiguration; 305 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 306 | buildSettings = { 307 | ARCHS = "$(NATIVE_ARCH)"; 308 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 309 | COPY_PHASE_STRIP = NO; 310 | DEAD_CODE_STRIPPING = YES; 311 | GCC_AUTO_VECTORIZATION = YES; 312 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 313 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 314 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 315 | GCC_OPTIMIZATION_LEVEL = 0; 316 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 317 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 318 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 319 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 320 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 321 | GCC_WARN_UNUSED_VALUE = NO; 322 | GCC_WARN_UNUSED_VARIABLE = NO; 323 | OTHER_CPLUSPLUSFLAGS = ( 324 | "-D__MACOSX_CORE__", 325 | "-lpthread", 326 | "-mtune=native", 327 | ); 328 | }; 329 | name = Debug; 330 | }; 331 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 332 | isa = XCBuildConfiguration; 333 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 334 | buildSettings = { 335 | ARCHS = "$(NATIVE_ARCH)"; 336 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 337 | COPY_PHASE_STRIP = YES; 338 | DEAD_CODE_STRIPPING = YES; 339 | GCC_AUTO_VECTORIZATION = YES; 340 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 341 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 342 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 343 | GCC_OPTIMIZATION_LEVEL = s; 344 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 345 | GCC_UNROLL_LOOPS = YES; 346 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 347 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 348 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 349 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 350 | GCC_WARN_UNUSED_VALUE = NO; 351 | GCC_WARN_UNUSED_VARIABLE = NO; 352 | OTHER_CPLUSPLUSFLAGS = ( 353 | "-D__MACOSX_CORE__", 354 | "-lpthread", 355 | "-mtune=native", 356 | ); 357 | }; 358 | name = Release; 359 | }; 360 | E4B69B600A3A1757003C02F2 /* Debug */ = { 361 | isa = XCBuildConfiguration; 362 | buildSettings = { 363 | COPY_PHASE_STRIP = NO; 364 | FRAMEWORK_SEARCH_PATHS = ( 365 | "$(inherited)", 366 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 367 | ); 368 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 369 | GCC_DYNAMIC_NO_PIC = NO; 370 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 371 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 372 | GCC_MODEL_TUNING = NONE; 373 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 374 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 375 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 376 | INSTALL_PATH = "$(HOME)/Applications"; 377 | LIBRARY_SEARCH_PATHS = ( 378 | "$(inherited)", 379 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 380 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 381 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 382 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 383 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 384 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 385 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 386 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 387 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 388 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 389 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 390 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 391 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 392 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 393 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 394 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 395 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 396 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 397 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 398 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 399 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 400 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 401 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 402 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 403 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 404 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 405 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 406 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 407 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 408 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 409 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 410 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 411 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 412 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 413 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 414 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 440 | ); 441 | PREBINDING = NO; 442 | PRODUCT_NAME = "$(TARGET_NAME)Debug"; 443 | WRAPPER_EXTENSION = app; 444 | }; 445 | name = Debug; 446 | }; 447 | E4B69B610A3A1757003C02F2 /* Release */ = { 448 | isa = XCBuildConfiguration; 449 | buildSettings = { 450 | COPY_PHASE_STRIP = YES; 451 | FRAMEWORK_SEARCH_PATHS = ( 452 | "$(inherited)", 453 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 454 | ); 455 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 456 | GCC_ENABLE_FIX_AND_CONTINUE = NO; 457 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 458 | GCC_MODEL_TUNING = NONE; 459 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 460 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 461 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 462 | INSTALL_PATH = "$(HOME)/Applications"; 463 | LIBRARY_SEARCH_PATHS = ( 464 | "$(inherited)", 465 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 466 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 467 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 468 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 469 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 470 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 471 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 472 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 473 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 474 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 475 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 476 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 477 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 478 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 479 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 480 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 481 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 482 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 483 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 484 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 485 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 486 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 487 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 488 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 489 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 490 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 491 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 492 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 493 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 494 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 526 | ); 527 | PREBINDING = NO; 528 | PRODUCT_NAME = "$(TARGET_NAME)"; 529 | WRAPPER_EXTENSION = app; 530 | }; 531 | name = Release; 532 | }; 533 | /* End XCBuildConfiguration section */ 534 | 535 | /* Begin XCConfigurationList section */ 536 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */ = { 537 | isa = XCConfigurationList; 538 | buildConfigurations = ( 539 | E4B69B4E0A3A1720003C02F2 /* Debug */, 540 | E4B69B4F0A3A1720003C02F2 /* Release */, 541 | ); 542 | defaultConfigurationIsVisible = 0; 543 | defaultConfigurationName = Release; 544 | }; 545 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */ = { 546 | isa = XCConfigurationList; 547 | buildConfigurations = ( 548 | E4B69B600A3A1757003C02F2 /* Debug */, 549 | E4B69B610A3A1757003C02F2 /* Release */, 550 | ); 551 | defaultConfigurationIsVisible = 0; 552 | defaultConfigurationName = Release; 553 | }; 554 | /* End XCConfigurationList section */ 555 | }; 556 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 557 | } 558 | -------------------------------------------------------------------------------- /MultiscaleTuring0/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring0/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring0/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /MultiscaleTuring0/src/TuringPattern.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | typedef vector floats; 4 | typedef vector floatss; 5 | 6 | class TuringPattern { 7 | public://+ 8 | floatss activator;//~ 9 | floatss inhibitor;//~ 10 | floatss variations;//~ 11 | int activatorRadiusx; 12 | int inhibitorRadiusx; 13 | int activatorRadiusy; 14 | int inhibitorRadiusy; 15 | int variationSamplingRadius; 16 | float stepsize; 17 | int num; 18 | 19 | TuringPattern() {}//+ 20 | TuringPattern(int num, int arx, int irx, int ary, int iry, int vsr, float ss) { 21 | activator.resize(num, floats(num));//~ 22 | inhibitor.resize(num, floats(num));//~ 23 | variations.resize(num, floats(num));//~ 24 | activatorRadiusx=arx; 25 | inhibitorRadiusx=irx; 26 | activatorRadiusy=ary; 27 | inhibitorRadiusy=iry; 28 | variationSamplingRadius=vsr; 29 | stepsize=ss; 30 | this->num=num;//~ 31 | } 32 | 33 | void step(floatss& grid, floatss& tmp) {//~ 34 | diffuse(grid, tmp); 35 | sampleVariation(tmp); 36 | } 37 | 38 | void diffuse(floatss& grid, floatss& tmp) {//~ 39 | blur(grid, activator, tmp, activatorRadiusx, activatorRadiusy); 40 | blur(grid, inhibitor, tmp, inhibitorRadiusx, inhibitorRadiusy); 41 | } 42 | 43 | void sampleVariation(floatss& tmp) {//~ 44 | comp(activator, inhibitor, variations, tmp, variationSamplingRadius); 45 | } 46 | 47 | void blur(floatss& source, floatss& dest, floatss& tmp, int radiusx, int radiusy) {//~ 48 | horlineblur(source, tmp, radiusx); 49 | vrtlineblur(tmp, dest, radiusy); 50 | } 51 | 52 | void horlineblur (floatss& source, floatss& dest, int radius) {//~ 53 | for (int j = 0; j < num; ++j) { 54 | float total = 0; 55 | for (int di = -radius; di <= radius; di++) { 56 | total += (di>=0)?source[di][j]:0; 57 | } 58 | dest[0][j] = total / (radius * 2 + 1); 59 | for (int i = 1; i < num; i++) { 60 | total -= (i - radius - 1>=0)?source[i - radius - 1][j]:0; 61 | total += (i + radius =0)?source[i][dj]:0; 72 | } 73 | dest[i][0] = total / (radius * 2 + 1); 74 | for (int j = 1; j < num; j++) { 75 | total -= (j - radius - 1>=0)?source[i][j - radius - 1]:0; 76 | total += (j + radius =0)?abs(source1[di][j]-source2[di][j]):0; 97 | } 98 | dest[0][j] = total / (radius * 2 + 1); 99 | for (int i = 1; i < num;i++) { 100 | total -= (i - radius - 1>=0)?abs(source1[i - radius - 1][j]-source2[i - radius - 1][j]):0; 101 | total += (i + radius =0)?abs(source1[i][dj]-source2[i][dj]):0; 112 | } 113 | dest[i][0] = total / (radius * 2 + 1); 114 | for (int j = 1; j < num; j++) { 115 | total -= (j - radius - 1>=0)?abs(source1[i][j - radius - 1]-source2[i][j - radius - 1]):0; 116 | total += (j + radius floats; 28 | typedef vector floatss; 29 | 30 | floatss grid;//~ 31 | floatss tmp;//~ 32 | int num; 33 | int levels; 34 | vector patterns;//~ 35 | int counter; 36 | 37 | void initGrid();//+ 38 | void step();//+ 39 | void render();//+ 40 | void updateGrid();//+ 41 | 42 | void setup() { 43 | size(800, 800); 44 | num=400; 45 | levels=5; 46 | tmp.resize(num, floats(num)); 47 | patterns.resize(levels); 48 | patterns[0]=TuringPattern(num, 100, 200, 100, 200, 1, 0.05); 49 | patterns[1]=TuringPattern(num, 50, 100, 50, 100, 1, 0.04); 50 | patterns[2]=TuringPattern(num, 10, 20, 10, 20, 1, 0.03); 51 | patterns[3]=TuringPattern(num, 5, 10, 5, 10, 1, 0.02); 52 | patterns[4]=TuringPattern(num, 2, 4, 2, 4, 1, 0.01); 53 | initGrid(); 54 | noStroke(); 55 | ofSetBackgroundAuto(false);//+ 56 | } 57 | 58 | void draw() { 59 | for (int i=0;i<5;i++) step(); 60 | translate((counter%2)*400, ((counter/2)%2)*400); 61 | render(); 62 | } 63 | 64 | void keyPressed() { 65 | saveFrame("MCB_#####.png"); 66 | } 67 | 68 | void mouseReleased() { 69 | initGrid(); 70 | } 71 | 72 | void render() { 73 | for (int i=0;ipatterns[bestlevel].inhibitor[i][j]) { 116 | grid[i][j]+=patterns[bestlevel].stepsize; 117 | } 118 | else { 119 | grid[i][j]-=patterns[bestlevel].stepsize; 120 | } 121 | largest=max(largest, grid[i][j]); 122 | smallest=min(smallest, grid[i][j]); 123 | } 124 | } 125 | float range=0.5*(largest-smallest); 126 | for (int i=0;ikey = key; 22 | psKeyPressed(); 23 | } 24 | void mouseReleased(int x, int y, int button) { 25 | this->button = button; 26 | psMouseReleased(); 27 | } 28 | 29 | int key; 30 | int button; 31 | }; 32 | -------------------------------------------------------------------------------- /MultiscaleTuring1/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /MultiscaleTuring1/ofApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 42; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 2747FD8A16F3223700B1F3F0 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2747FD8816F3223700B1F3F0 /* ofApp.cpp */; }; 11 | 27E7FAD316193015007E0DB3 /* Calibration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACA16193015007E0DB3 /* Calibration.cpp */; }; 12 | 27E7FAD416193015007E0DB3 /* ContourFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACB16193015007E0DB3 /* ContourFinder.cpp */; }; 13 | 27E7FAD516193015007E0DB3 /* Distance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACC16193015007E0DB3 /* Distance.cpp */; }; 14 | 27E7FAD616193015007E0DB3 /* Flow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACD16193015007E0DB3 /* Flow.cpp */; }; 15 | 27E7FAD716193015007E0DB3 /* Helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACE16193015007E0DB3 /* Helpers.cpp */; }; 16 | 27E7FAD816193015007E0DB3 /* RunningBackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FACF16193015007E0DB3 /* RunningBackground.cpp */; }; 17 | 27E7FAD916193015007E0DB3 /* Tracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FAD016193015007E0DB3 /* Tracker.cpp */; }; 18 | 27E7FADA16193015007E0DB3 /* Utilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FAD116193015007E0DB3 /* Utilities.cpp */; }; 19 | 27E7FADB16193015007E0DB3 /* Wrappers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27E7FAD216193015007E0DB3 /* Wrappers.cpp */; }; 20 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 21 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworks.a */; }; 22 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 23 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 24 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 25 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; 26 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 27 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 28 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 29 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 30 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 31 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 32 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 33 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 34 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 35 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 36 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; 37 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; 38 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; 39 | /* End PBXBuildFile section */ 40 | 41 | /* Begin PBXContainerItemProxy section */ 42 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 43 | isa = PBXContainerItemProxy; 44 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 45 | proxyType = 2; 46 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 47 | remoteInfo = openFrameworks; 48 | }; 49 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 50 | isa = PBXContainerItemProxy; 51 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 52 | proxyType = 1; 53 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 54 | remoteInfo = openFrameworks; 55 | }; 56 | /* End PBXContainerItemProxy section */ 57 | 58 | /* Begin PBXCopyFilesBuildPhase section */ 59 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 60 | isa = PBXCopyFilesBuildPhase; 61 | buildActionMask = 2147483647; 62 | dstPath = ""; 63 | dstSubfolderSpec = 10; 64 | files = ( 65 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 66 | ); 67 | runOnlyForDeploymentPostprocessing = 0; 68 | }; 69 | /* End PBXCopyFilesBuildPhase section */ 70 | 71 | /* Begin PBXFileReference section */ 72 | 2747FD8816F3223700B1F3F0 /* ofApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofApp.cpp; sourceTree = ""; }; 73 | 2747FD8916F3223700B1F3F0 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofApp.h; sourceTree = ""; }; 74 | 27D9ED9B1619258700419619 /* cv.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cv.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cv.h; sourceTree = SOURCE_ROOT; }; 75 | 27D9ED9C1619258700419619 /* cv.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cv.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cv.hpp; sourceTree = SOURCE_ROOT; }; 76 | 27D9ED9D1619258700419619 /* cvaux.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvaux.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cvaux.h; sourceTree = SOURCE_ROOT; }; 77 | 27D9ED9E1619258700419619 /* cvaux.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvaux.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cvaux.hpp; sourceTree = SOURCE_ROOT; }; 78 | 27D9ED9F1619258700419619 /* cvwimage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvwimage.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cvwimage.h; sourceTree = SOURCE_ROOT; }; 79 | 27D9EDA01619258700419619 /* cxcore.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxcore.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cxcore.h; sourceTree = SOURCE_ROOT; }; 80 | 27D9EDA11619258700419619 /* cxcore.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxcore.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cxcore.hpp; sourceTree = SOURCE_ROOT; }; 81 | 27D9EDA21619258700419619 /* cxeigen.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxeigen.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cxeigen.hpp; sourceTree = SOURCE_ROOT; }; 82 | 27D9EDA31619258700419619 /* cxmisc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxmisc.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/cxmisc.h; sourceTree = SOURCE_ROOT; }; 83 | 27D9EDA41619258700419619 /* highgui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/highgui.h; sourceTree = SOURCE_ROOT; }; 84 | 27D9EDA51619258700419619 /* ml.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ml.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv/ml.h; sourceTree = SOURCE_ROOT; }; 85 | 27D9EDA71619258700419619 /* calib3d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = calib3d.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d/calib3d.hpp; sourceTree = SOURCE_ROOT; }; 86 | 27D9EDA91619258700419619 /* contrib.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = contrib.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/contrib/contrib.hpp; sourceTree = SOURCE_ROOT; }; 87 | 27D9EDAA1619258700419619 /* retina.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = retina.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/contrib/retina.hpp; sourceTree = SOURCE_ROOT; }; 88 | 27D9EDAC1619258700419619 /* core.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = core.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/core.hpp; sourceTree = SOURCE_ROOT; }; 89 | 27D9EDAD1619258700419619 /* core_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = core_c.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/core_c.h; sourceTree = SOURCE_ROOT; }; 90 | 27D9EDAE1619258700419619 /* eigen.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = eigen.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/eigen.hpp; sourceTree = SOURCE_ROOT; }; 91 | 27D9EDAF1619258700419619 /* internal.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = internal.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/internal.hpp; sourceTree = SOURCE_ROOT; }; 92 | 27D9EDB01619258700419619 /* mat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = mat.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/mat.hpp; sourceTree = SOURCE_ROOT; }; 93 | 27D9EDB11619258700419619 /* operations.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = operations.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/operations.hpp; sourceTree = SOURCE_ROOT; }; 94 | 27D9EDB21619258700419619 /* types_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = types_c.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/types_c.h; sourceTree = SOURCE_ROOT; }; 95 | 27D9EDB31619258700419619 /* version.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = version.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/version.hpp; sourceTree = SOURCE_ROOT; }; 96 | 27D9EDB41619258700419619 /* wimage.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = wimage.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/core/wimage.hpp; sourceTree = SOURCE_ROOT; }; 97 | 27D9EDB61619258700419619 /* features2d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = features2d.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/features2d/features2d.hpp; sourceTree = SOURCE_ROOT; }; 98 | 27D9EDB81619258700419619 /* all_indices.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = all_indices.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/all_indices.h; sourceTree = SOURCE_ROOT; }; 99 | 27D9EDB91619258700419619 /* allocator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = allocator.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/allocator.h; sourceTree = SOURCE_ROOT; }; 100 | 27D9EDBA1619258700419619 /* any.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = any.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/any.h; sourceTree = SOURCE_ROOT; }; 101 | 27D9EDBB1619258700419619 /* autotuned_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = autotuned_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/autotuned_index.h; sourceTree = SOURCE_ROOT; }; 102 | 27D9EDBC1619258700419619 /* composite_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = composite_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/composite_index.h; sourceTree = SOURCE_ROOT; }; 103 | 27D9EDBD1619258700419619 /* config.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = config.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/config.h; sourceTree = SOURCE_ROOT; }; 104 | 27D9EDBE1619258700419619 /* defines.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = defines.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/defines.h; sourceTree = SOURCE_ROOT; }; 105 | 27D9EDBF1619258700419619 /* dist.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dist.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dist.h; sourceTree = SOURCE_ROOT; }; 106 | 27D9EDC01619258700419619 /* dummy.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dummy.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dummy.h; sourceTree = SOURCE_ROOT; }; 107 | 27D9EDC11619258700419619 /* dynamic_bitset.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dynamic_bitset.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dynamic_bitset.h; sourceTree = SOURCE_ROOT; }; 108 | 27D9EDC21619258700419619 /* flann.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = flann.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/flann.hpp; sourceTree = SOURCE_ROOT; }; 109 | 27D9EDC31619258700419619 /* flann_base.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = flann_base.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/flann_base.hpp; sourceTree = SOURCE_ROOT; }; 110 | 27D9EDC41619258700419619 /* general.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = general.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/general.h; sourceTree = SOURCE_ROOT; }; 111 | 27D9EDC51619258700419619 /* ground_truth.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ground_truth.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/ground_truth.h; sourceTree = SOURCE_ROOT; }; 112 | 27D9EDC61619258700419619 /* hdf5.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = hdf5.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/hdf5.h; sourceTree = SOURCE_ROOT; }; 113 | 27D9EDC71619258700419619 /* heap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = heap.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/heap.h; sourceTree = SOURCE_ROOT; }; 114 | 27D9EDC81619258700419619 /* hierarchical_clustering_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = hierarchical_clustering_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/hierarchical_clustering_index.h; sourceTree = SOURCE_ROOT; }; 115 | 27D9EDC91619258700419619 /* index_testing.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = index_testing.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/index_testing.h; sourceTree = SOURCE_ROOT; }; 116 | 27D9EDCA1619258700419619 /* kdtree_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kdtree_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kdtree_index.h; sourceTree = SOURCE_ROOT; }; 117 | 27D9EDCB1619258700419619 /* kdtree_single_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kdtree_single_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kdtree_single_index.h; sourceTree = SOURCE_ROOT; }; 118 | 27D9EDCC1619258700419619 /* kmeans_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kmeans_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kmeans_index.h; sourceTree = SOURCE_ROOT; }; 119 | 27D9EDCD1619258700419619 /* linear_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = linear_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/linear_index.h; sourceTree = SOURCE_ROOT; }; 120 | 27D9EDCE1619258700419619 /* logger.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = logger.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/logger.h; sourceTree = SOURCE_ROOT; }; 121 | 27D9EDCF1619258700419619 /* lsh_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = lsh_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/lsh_index.h; sourceTree = SOURCE_ROOT; }; 122 | 27D9EDD01619258700419619 /* lsh_table.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = lsh_table.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/lsh_table.h; sourceTree = SOURCE_ROOT; }; 123 | 27D9EDD11619258700419619 /* matrix.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = matrix.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/matrix.h; sourceTree = SOURCE_ROOT; }; 124 | 27D9EDD21619258700419619 /* miniflann.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = miniflann.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/miniflann.hpp; sourceTree = SOURCE_ROOT; }; 125 | 27D9EDD31619258700419619 /* nn_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = nn_index.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/nn_index.h; sourceTree = SOURCE_ROOT; }; 126 | 27D9EDD41619258700419619 /* object_factory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = object_factory.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/object_factory.h; sourceTree = SOURCE_ROOT; }; 127 | 27D9EDD51619258700419619 /* params.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = params.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/params.h; sourceTree = SOURCE_ROOT; }; 128 | 27D9EDD61619258700419619 /* random.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = random.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/random.h; sourceTree = SOURCE_ROOT; }; 129 | 27D9EDD71619258700419619 /* result_set.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = result_set.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/result_set.h; sourceTree = SOURCE_ROOT; }; 130 | 27D9EDD81619258700419619 /* sampling.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = sampling.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/sampling.h; sourceTree = SOURCE_ROOT; }; 131 | 27D9EDD91619258700419619 /* saving.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = saving.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/saving.h; sourceTree = SOURCE_ROOT; }; 132 | 27D9EDDA1619258700419619 /* simplex_downhill.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = simplex_downhill.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/simplex_downhill.h; sourceTree = SOURCE_ROOT; }; 133 | 27D9EDDB1619258700419619 /* timer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = timer.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/flann/timer.h; sourceTree = SOURCE_ROOT; }; 134 | 27D9EDDD1619258700419619 /* devmem2d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = devmem2d.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/devmem2d.hpp; sourceTree = SOURCE_ROOT; }; 135 | 27D9EDDE1619258700419619 /* gpu.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = gpu.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpu.hpp; sourceTree = SOURCE_ROOT; }; 136 | 27D9EDDF1619258700419619 /* gpumat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = gpumat.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpumat.hpp; sourceTree = SOURCE_ROOT; }; 137 | 27D9EDE01619258700419619 /* matrix_operations.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = matrix_operations.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/matrix_operations.hpp; sourceTree = SOURCE_ROOT; }; 138 | 27D9EDE11619258700419619 /* stream_accessor.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = stream_accessor.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/stream_accessor.hpp; sourceTree = SOURCE_ROOT; }; 139 | 27D9EDE31619258700419619 /* highgui.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/highgui/highgui.hpp; sourceTree = SOURCE_ROOT; }; 140 | 27D9EDE41619258700419619 /* highgui_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui_c.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/highgui/highgui_c.h; sourceTree = SOURCE_ROOT; }; 141 | 27D9EDE61619258700419619 /* imgproc.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = imgproc.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/imgproc.hpp; sourceTree = SOURCE_ROOT; }; 142 | 27D9EDE71619258700419619 /* imgproc_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = imgproc_c.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/imgproc_c.h; sourceTree = SOURCE_ROOT; }; 143 | 27D9EDE81619258700419619 /* types_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = types_c.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/types_c.h; sourceTree = SOURCE_ROOT; }; 144 | 27D9EDEA1619258700419619 /* blobtrack.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = blobtrack.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/blobtrack.hpp; sourceTree = SOURCE_ROOT; }; 145 | 27D9EDEB1619258700419619 /* compat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = compat.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/compat.hpp; sourceTree = SOURCE_ROOT; }; 146 | 27D9EDEC1619258700419619 /* legacy.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = legacy.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/legacy.hpp; sourceTree = SOURCE_ROOT; }; 147 | 27D9EDED1619258700419619 /* streams.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = streams.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/streams.hpp; sourceTree = SOURCE_ROOT; }; 148 | 27D9EDEF1619258700419619 /* ml.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ml.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/ml/ml.hpp; sourceTree = SOURCE_ROOT; }; 149 | 27D9EDF11619258700419619 /* objdetect.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = objdetect.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect/objdetect.hpp; sourceTree = SOURCE_ROOT; }; 150 | 27D9EDF31619258700419619 /* opencv.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = opencv.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/opencv.hpp; sourceTree = SOURCE_ROOT; }; 151 | 27D9EDF41619258700419619 /* ts.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ts.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/ts/ts.hpp; sourceTree = SOURCE_ROOT; }; 152 | 27D9EDF51619258700419619 /* ts_gtest.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ts_gtest.h; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/ts/ts_gtest.h; sourceTree = SOURCE_ROOT; }; 153 | 27D9EDF71619258700419619 /* background_segm.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = background_segm.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/video/background_segm.hpp; sourceTree = SOURCE_ROOT; }; 154 | 27D9EDF81619258700419619 /* tracking.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = tracking.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/video/tracking.hpp; sourceTree = SOURCE_ROOT; }; 155 | 27D9EDF91619258700419619 /* video.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = video.hpp; path = ../../../addons/ofxOpenCv/libs/opencv/include/opencv2/video/video.hpp; sourceTree = SOURCE_ROOT; }; 156 | 27E7FAC016193015007E0DB3 /* Calibration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Calibration.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Calibration.h; sourceTree = SOURCE_ROOT; }; 157 | 27E7FAC116193015007E0DB3 /* ContourFinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContourFinder.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/ContourFinder.h; sourceTree = SOURCE_ROOT; }; 158 | 27E7FAC216193015007E0DB3 /* Distance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Distance.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Distance.h; sourceTree = SOURCE_ROOT; }; 159 | 27E7FAC316193015007E0DB3 /* Flow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Flow.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Flow.h; sourceTree = SOURCE_ROOT; }; 160 | 27E7FAC416193015007E0DB3 /* Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Helpers.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Helpers.h; sourceTree = SOURCE_ROOT; }; 161 | 27E7FAC516193015007E0DB3 /* RunningBackground.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RunningBackground.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/RunningBackground.h; sourceTree = SOURCE_ROOT; }; 162 | 27E7FAC616193015007E0DB3 /* Tracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tracker.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Tracker.h; sourceTree = SOURCE_ROOT; }; 163 | 27E7FAC716193015007E0DB3 /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utilities.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Utilities.h; sourceTree = SOURCE_ROOT; }; 164 | 27E7FAC816193015007E0DB3 /* Wrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Wrappers.h; path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv/Wrappers.h; sourceTree = SOURCE_ROOT; }; 165 | 27E7FACA16193015007E0DB3 /* Calibration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Calibration.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Calibration.cpp; sourceTree = SOURCE_ROOT; }; 166 | 27E7FACB16193015007E0DB3 /* ContourFinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ContourFinder.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/ContourFinder.cpp; sourceTree = SOURCE_ROOT; }; 167 | 27E7FACC16193015007E0DB3 /* Distance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Distance.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Distance.cpp; sourceTree = SOURCE_ROOT; }; 168 | 27E7FACD16193015007E0DB3 /* Flow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Flow.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Flow.cpp; sourceTree = SOURCE_ROOT; }; 169 | 27E7FACE16193015007E0DB3 /* Helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Helpers.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Helpers.cpp; sourceTree = SOURCE_ROOT; }; 170 | 27E7FACF16193015007E0DB3 /* RunningBackground.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RunningBackground.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/RunningBackground.cpp; sourceTree = SOURCE_ROOT; }; 171 | 27E7FAD016193015007E0DB3 /* Tracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tracker.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Tracker.cpp; sourceTree = SOURCE_ROOT; }; 172 | 27E7FAD116193015007E0DB3 /* Utilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Utilities.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Utilities.cpp; sourceTree = SOURCE_ROOT; }; 173 | 27E7FAD216193015007E0DB3 /* Wrappers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Wrappers.cpp; path = ../../../addons/ofxCv/libs/ofxCv/src/Wrappers.cpp; sourceTree = SOURCE_ROOT; }; 174 | 27E7FADD16193022007E0DB3 /* ofxCv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxCv.h; path = ../../../addons/ofxCv/src/ofxCv.h; sourceTree = SOURCE_ROOT; }; 175 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 176 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 177 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 178 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 179 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 180 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; 181 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 182 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 183 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 184 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 185 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 186 | E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofAppDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 187 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 188 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 189 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 190 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 191 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 192 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 193 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 194 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; 195 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; 196 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; 197 | /* End PBXFileReference section */ 198 | 199 | /* Begin PBXFrameworksBuildPhase section */ 200 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 201 | isa = PBXFrameworksBuildPhase; 202 | buildActionMask = 2147483647; 203 | files = ( 204 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, 205 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, 206 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 207 | E4328149138ABC9F0047C5CB /* openFrameworks.a in Frameworks */, 208 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 209 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 210 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 211 | E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, 212 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 213 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 214 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 215 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 216 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 217 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 218 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 219 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 220 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, 221 | ); 222 | runOnlyForDeploymentPostprocessing = 0; 223 | }; 224 | /* End PBXFrameworksBuildPhase section */ 225 | 226 | /* Begin PBXGroup section */ 227 | 27D9EDA61619258700419619 /* opencv */ = { 228 | isa = PBXGroup; 229 | children = ( 230 | 27D9ED9B1619258700419619 /* cv.h */, 231 | 27D9ED9C1619258700419619 /* cv.hpp */, 232 | 27D9ED9D1619258700419619 /* cvaux.h */, 233 | 27D9ED9E1619258700419619 /* cvaux.hpp */, 234 | 27D9ED9F1619258700419619 /* cvwimage.h */, 235 | 27D9EDA01619258700419619 /* cxcore.h */, 236 | 27D9EDA11619258700419619 /* cxcore.hpp */, 237 | 27D9EDA21619258700419619 /* cxeigen.hpp */, 238 | 27D9EDA31619258700419619 /* cxmisc.h */, 239 | 27D9EDA41619258700419619 /* highgui.h */, 240 | 27D9EDA51619258700419619 /* ml.h */, 241 | ); 242 | name = opencv; 243 | sourceTree = ""; 244 | }; 245 | 27D9EDA81619258700419619 /* calib3d */ = { 246 | isa = PBXGroup; 247 | children = ( 248 | 27D9EDA71619258700419619 /* calib3d.hpp */, 249 | ); 250 | name = calib3d; 251 | sourceTree = ""; 252 | }; 253 | 27D9EDAB1619258700419619 /* contrib */ = { 254 | isa = PBXGroup; 255 | children = ( 256 | 27D9EDA91619258700419619 /* contrib.hpp */, 257 | 27D9EDAA1619258700419619 /* retina.hpp */, 258 | ); 259 | name = contrib; 260 | sourceTree = ""; 261 | }; 262 | 27D9EDB51619258700419619 /* core */ = { 263 | isa = PBXGroup; 264 | children = ( 265 | 27D9EDAC1619258700419619 /* core.hpp */, 266 | 27D9EDAD1619258700419619 /* core_c.h */, 267 | 27D9EDAE1619258700419619 /* eigen.hpp */, 268 | 27D9EDAF1619258700419619 /* internal.hpp */, 269 | 27D9EDB01619258700419619 /* mat.hpp */, 270 | 27D9EDB11619258700419619 /* operations.hpp */, 271 | 27D9EDB21619258700419619 /* types_c.h */, 272 | 27D9EDB31619258700419619 /* version.hpp */, 273 | 27D9EDB41619258700419619 /* wimage.hpp */, 274 | ); 275 | name = core; 276 | sourceTree = ""; 277 | }; 278 | 27D9EDB71619258700419619 /* features2d */ = { 279 | isa = PBXGroup; 280 | children = ( 281 | 27D9EDB61619258700419619 /* features2d.hpp */, 282 | ); 283 | name = features2d; 284 | sourceTree = ""; 285 | }; 286 | 27D9EDDC1619258700419619 /* flann */ = { 287 | isa = PBXGroup; 288 | children = ( 289 | 27D9EDB81619258700419619 /* all_indices.h */, 290 | 27D9EDB91619258700419619 /* allocator.h */, 291 | 27D9EDBA1619258700419619 /* any.h */, 292 | 27D9EDBB1619258700419619 /* autotuned_index.h */, 293 | 27D9EDBC1619258700419619 /* composite_index.h */, 294 | 27D9EDBD1619258700419619 /* config.h */, 295 | 27D9EDBE1619258700419619 /* defines.h */, 296 | 27D9EDBF1619258700419619 /* dist.h */, 297 | 27D9EDC01619258700419619 /* dummy.h */, 298 | 27D9EDC11619258700419619 /* dynamic_bitset.h */, 299 | 27D9EDC21619258700419619 /* flann.hpp */, 300 | 27D9EDC31619258700419619 /* flann_base.hpp */, 301 | 27D9EDC41619258700419619 /* general.h */, 302 | 27D9EDC51619258700419619 /* ground_truth.h */, 303 | 27D9EDC61619258700419619 /* hdf5.h */, 304 | 27D9EDC71619258700419619 /* heap.h */, 305 | 27D9EDC81619258700419619 /* hierarchical_clustering_index.h */, 306 | 27D9EDC91619258700419619 /* index_testing.h */, 307 | 27D9EDCA1619258700419619 /* kdtree_index.h */, 308 | 27D9EDCB1619258700419619 /* kdtree_single_index.h */, 309 | 27D9EDCC1619258700419619 /* kmeans_index.h */, 310 | 27D9EDCD1619258700419619 /* linear_index.h */, 311 | 27D9EDCE1619258700419619 /* logger.h */, 312 | 27D9EDCF1619258700419619 /* lsh_index.h */, 313 | 27D9EDD01619258700419619 /* lsh_table.h */, 314 | 27D9EDD11619258700419619 /* matrix.h */, 315 | 27D9EDD21619258700419619 /* miniflann.hpp */, 316 | 27D9EDD31619258700419619 /* nn_index.h */, 317 | 27D9EDD41619258700419619 /* object_factory.h */, 318 | 27D9EDD51619258700419619 /* params.h */, 319 | 27D9EDD61619258700419619 /* random.h */, 320 | 27D9EDD71619258700419619 /* result_set.h */, 321 | 27D9EDD81619258700419619 /* sampling.h */, 322 | 27D9EDD91619258700419619 /* saving.h */, 323 | 27D9EDDA1619258700419619 /* simplex_downhill.h */, 324 | 27D9EDDB1619258700419619 /* timer.h */, 325 | ); 326 | name = flann; 327 | sourceTree = ""; 328 | }; 329 | 27D9EDE21619258700419619 /* gpu */ = { 330 | isa = PBXGroup; 331 | children = ( 332 | 27D9EDDD1619258700419619 /* devmem2d.hpp */, 333 | 27D9EDDE1619258700419619 /* gpu.hpp */, 334 | 27D9EDDF1619258700419619 /* gpumat.hpp */, 335 | 27D9EDE01619258700419619 /* matrix_operations.hpp */, 336 | 27D9EDE11619258700419619 /* stream_accessor.hpp */, 337 | ); 338 | name = gpu; 339 | sourceTree = ""; 340 | }; 341 | 27D9EDE51619258700419619 /* highgui */ = { 342 | isa = PBXGroup; 343 | children = ( 344 | 27D9EDE31619258700419619 /* highgui.hpp */, 345 | 27D9EDE41619258700419619 /* highgui_c.h */, 346 | ); 347 | name = highgui; 348 | sourceTree = ""; 349 | }; 350 | 27D9EDE91619258700419619 /* imgproc */ = { 351 | isa = PBXGroup; 352 | children = ( 353 | 27D9EDE61619258700419619 /* imgproc.hpp */, 354 | 27D9EDE71619258700419619 /* imgproc_c.h */, 355 | 27D9EDE81619258700419619 /* types_c.h */, 356 | ); 357 | name = imgproc; 358 | sourceTree = ""; 359 | }; 360 | 27D9EDEE1619258700419619 /* legacy */ = { 361 | isa = PBXGroup; 362 | children = ( 363 | 27D9EDEA1619258700419619 /* blobtrack.hpp */, 364 | 27D9EDEB1619258700419619 /* compat.hpp */, 365 | 27D9EDEC1619258700419619 /* legacy.hpp */, 366 | 27D9EDED1619258700419619 /* streams.hpp */, 367 | ); 368 | name = legacy; 369 | sourceTree = ""; 370 | }; 371 | 27D9EDF01619258700419619 /* ml */ = { 372 | isa = PBXGroup; 373 | children = ( 374 | 27D9EDEF1619258700419619 /* ml.hpp */, 375 | ); 376 | name = ml; 377 | sourceTree = ""; 378 | }; 379 | 27D9EDF21619258700419619 /* objdetect */ = { 380 | isa = PBXGroup; 381 | children = ( 382 | 27D9EDF11619258700419619 /* objdetect.hpp */, 383 | ); 384 | name = objdetect; 385 | sourceTree = ""; 386 | }; 387 | 27D9EDF61619258700419619 /* ts */ = { 388 | isa = PBXGroup; 389 | children = ( 390 | 27D9EDF41619258700419619 /* ts.hpp */, 391 | 27D9EDF51619258700419619 /* ts_gtest.h */, 392 | ); 393 | name = ts; 394 | sourceTree = ""; 395 | }; 396 | 27D9EDFA1619258700419619 /* video */ = { 397 | isa = PBXGroup; 398 | children = ( 399 | 27D9EDF71619258700419619 /* background_segm.hpp */, 400 | 27D9EDF81619258700419619 /* tracking.hpp */, 401 | 27D9EDF91619258700419619 /* video.hpp */, 402 | ); 403 | name = video; 404 | sourceTree = ""; 405 | }; 406 | 27D9EDFB1619258700419619 /* opencv2 */ = { 407 | isa = PBXGroup; 408 | children = ( 409 | 27D9EDA81619258700419619 /* calib3d */, 410 | 27D9EDAB1619258700419619 /* contrib */, 411 | 27D9EDB51619258700419619 /* core */, 412 | 27D9EDB71619258700419619 /* features2d */, 413 | 27D9EDDC1619258700419619 /* flann */, 414 | 27D9EDE21619258700419619 /* gpu */, 415 | 27D9EDE51619258700419619 /* highgui */, 416 | 27D9EDE91619258700419619 /* imgproc */, 417 | 27D9EDEE1619258700419619 /* legacy */, 418 | 27D9EDF01619258700419619 /* ml */, 419 | 27D9EDF21619258700419619 /* objdetect */, 420 | 27D9EDF31619258700419619 /* opencv.hpp */, 421 | 27D9EDF61619258700419619 /* ts */, 422 | 27D9EDFA1619258700419619 /* video */, 423 | ); 424 | name = opencv2; 425 | sourceTree = ""; 426 | }; 427 | 27D9EDFC1619258700419619 /* include */ = { 428 | isa = PBXGroup; 429 | children = ( 430 | 27D9EDA61619258700419619 /* opencv */, 431 | 27D9EDFB1619258700419619 /* opencv2 */, 432 | ); 433 | name = include; 434 | sourceTree = ""; 435 | }; 436 | 27D9EDFD1619258700419619 /* opencv */ = { 437 | isa = PBXGroup; 438 | children = ( 439 | 27D9EDFC1619258700419619 /* include */, 440 | ); 441 | name = opencv; 442 | sourceTree = ""; 443 | }; 444 | 27D9EDFE1619258700419619 /* libs */ = { 445 | isa = PBXGroup; 446 | children = ( 447 | 27E7FABD16193015007E0DB3 /* ofxCv */, 448 | 27D9EDFD1619258700419619 /* opencv */, 449 | ); 450 | name = libs; 451 | sourceTree = ""; 452 | }; 453 | 27E7FABC16193003007E0DB3 /* ofxCv */ = { 454 | isa = PBXGroup; 455 | children = ( 456 | 27E7FADC16193022007E0DB3 /* src */, 457 | 27D9EDFE1619258700419619 /* libs */, 458 | ); 459 | name = ofxCv; 460 | sourceTree = ""; 461 | }; 462 | 27E7FABD16193015007E0DB3 /* ofxCv */ = { 463 | isa = PBXGroup; 464 | children = ( 465 | 27E7FABE16193015007E0DB3 /* include */, 466 | 27E7FAC916193015007E0DB3 /* src */, 467 | ); 468 | name = ofxCv; 469 | path = ../../../addons/ofxCv/libs/ofxCv; 470 | sourceTree = SOURCE_ROOT; 471 | }; 472 | 27E7FABE16193015007E0DB3 /* include */ = { 473 | isa = PBXGroup; 474 | children = ( 475 | 27E7FABF16193015007E0DB3 /* ofxCv */, 476 | ); 477 | name = include; 478 | path = ../../../addons/ofxCv/libs/ofxCv/include; 479 | sourceTree = SOURCE_ROOT; 480 | }; 481 | 27E7FABF16193015007E0DB3 /* ofxCv */ = { 482 | isa = PBXGroup; 483 | children = ( 484 | 27E7FAC016193015007E0DB3 /* Calibration.h */, 485 | 27E7FAC116193015007E0DB3 /* ContourFinder.h */, 486 | 27E7FAC216193015007E0DB3 /* Distance.h */, 487 | 27E7FAC316193015007E0DB3 /* Flow.h */, 488 | 27E7FAC416193015007E0DB3 /* Helpers.h */, 489 | 27E7FAC516193015007E0DB3 /* RunningBackground.h */, 490 | 27E7FAC616193015007E0DB3 /* Tracker.h */, 491 | 27E7FAC716193015007E0DB3 /* Utilities.h */, 492 | 27E7FAC816193015007E0DB3 /* Wrappers.h */, 493 | ); 494 | name = ofxCv; 495 | path = ../../../addons/ofxCv/libs/ofxCv/include/ofxCv; 496 | sourceTree = SOURCE_ROOT; 497 | }; 498 | 27E7FAC916193015007E0DB3 /* src */ = { 499 | isa = PBXGroup; 500 | children = ( 501 | 27E7FACA16193015007E0DB3 /* Calibration.cpp */, 502 | 27E7FACB16193015007E0DB3 /* ContourFinder.cpp */, 503 | 27E7FACC16193015007E0DB3 /* Distance.cpp */, 504 | 27E7FACD16193015007E0DB3 /* Flow.cpp */, 505 | 27E7FACE16193015007E0DB3 /* Helpers.cpp */, 506 | 27E7FACF16193015007E0DB3 /* RunningBackground.cpp */, 507 | 27E7FAD016193015007E0DB3 /* Tracker.cpp */, 508 | 27E7FAD116193015007E0DB3 /* Utilities.cpp */, 509 | 27E7FAD216193015007E0DB3 /* Wrappers.cpp */, 510 | ); 511 | name = src; 512 | path = ../../../addons/ofxCv/libs/ofxCv/src; 513 | sourceTree = SOURCE_ROOT; 514 | }; 515 | 27E7FADC16193022007E0DB3 /* src */ = { 516 | isa = PBXGroup; 517 | children = ( 518 | 27E7FADD16193022007E0DB3 /* ofxCv.h */, 519 | ); 520 | name = src; 521 | path = ../../../addons/ofxCv/src; 522 | sourceTree = SOURCE_ROOT; 523 | }; 524 | BB4B014C10F69532006C3DED /* addons */ = { 525 | isa = PBXGroup; 526 | children = ( 527 | 27E7FABC16193003007E0DB3 /* ofxCv */, 528 | ); 529 | name = addons; 530 | sourceTree = ""; 531 | }; 532 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 533 | isa = PBXGroup; 534 | children = ( 535 | E7F985F515E0DE99003869B5 /* Accelerate.framework */, 536 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 537 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 538 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 539 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 540 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 541 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 542 | E45BE9740E8CC7DD009D7055 /* Carbon.framework */, 543 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 544 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 545 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 546 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 547 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 548 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, 549 | E7E077E715D3B6510020DFD4 /* QTKit.framework */, 550 | ); 551 | name = "system frameworks"; 552 | sourceTree = ""; 553 | }; 554 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 555 | isa = PBXGroup; 556 | children = ( 557 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 558 | ); 559 | name = "3rd party frameworks"; 560 | sourceTree = ""; 561 | }; 562 | E4328144138ABC890047C5CB /* Products */ = { 563 | isa = PBXGroup; 564 | children = ( 565 | E4328148138ABC890047C5CB /* openFrameworks.a */, 566 | ); 567 | name = Products; 568 | sourceTree = ""; 569 | }; 570 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 571 | isa = PBXGroup; 572 | children = ( 573 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 574 | BBAB23C913894ECA00AA2426 /* system frameworks */, 575 | ); 576 | name = frameworks; 577 | sourceTree = ""; 578 | }; 579 | E4B69B4A0A3A1720003C02F2 = { 580 | isa = PBXGroup; 581 | children = ( 582 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 583 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 584 | E4B69E1C0A3A1BDC003C02F2 /* src */, 585 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 586 | BB4B014C10F69532006C3DED /* addons */, 587 | E45BE5980E8CC70C009D7055 /* frameworks */, 588 | E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */, 589 | ); 590 | sourceTree = ""; 591 | }; 592 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 593 | isa = PBXGroup; 594 | children = ( 595 | 2747FD8816F3223700B1F3F0 /* ofApp.cpp */, 596 | 2747FD8916F3223700B1F3F0 /* ofApp.h */, 597 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 598 | ); 599 | path = src; 600 | sourceTree = SOURCE_ROOT; 601 | }; 602 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 603 | isa = PBXGroup; 604 | children = ( 605 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 606 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 607 | ); 608 | name = openFrameworks; 609 | sourceTree = ""; 610 | }; 611 | /* End PBXGroup section */ 612 | 613 | /* Begin PBXNativeTarget section */ 614 | E4B69B5A0A3A1756003C02F2 /* ofApp */ = { 615 | isa = PBXNativeTarget; 616 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */; 617 | buildPhases = ( 618 | E4B69B580A3A1756003C02F2 /* Sources */, 619 | E4B69B590A3A1756003C02F2 /* Frameworks */, 620 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 621 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 622 | ); 623 | buildRules = ( 624 | ); 625 | dependencies = ( 626 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 627 | ); 628 | name = ofApp; 629 | productName = myOFApp; 630 | productReference = E4B69B5B0A3A1756003C02F2 /* ofAppDebug.app */; 631 | productType = "com.apple.product-type.application"; 632 | }; 633 | /* End PBXNativeTarget section */ 634 | 635 | /* Begin PBXProject section */ 636 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 637 | isa = PBXProject; 638 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */; 639 | compatibilityVersion = "Xcode 2.4"; 640 | developmentRegion = English; 641 | hasScannedForEncodings = 0; 642 | knownRegions = ( 643 | English, 644 | Japanese, 645 | French, 646 | German, 647 | ); 648 | mainGroup = E4B69B4A0A3A1720003C02F2; 649 | productRefGroup = E4B69B4A0A3A1720003C02F2; 650 | projectDirPath = ""; 651 | projectReferences = ( 652 | { 653 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 654 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 655 | }, 656 | ); 657 | projectRoot = ""; 658 | targets = ( 659 | E4B69B5A0A3A1756003C02F2 /* ofApp */, 660 | ); 661 | }; 662 | /* End PBXProject section */ 663 | 664 | /* Begin PBXReferenceProxy section */ 665 | E4328148138ABC890047C5CB /* openFrameworks.a */ = { 666 | isa = PBXReferenceProxy; 667 | fileType = archive.ar; 668 | path = openFrameworks.a; 669 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 670 | sourceTree = BUILT_PRODUCTS_DIR; 671 | }; 672 | /* End PBXReferenceProxy section */ 673 | 674 | /* Begin PBXShellScriptBuildPhase section */ 675 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 676 | isa = PBXShellScriptBuildPhase; 677 | buildActionMask = 2147483647; 678 | files = ( 679 | ); 680 | inputPaths = ( 681 | ); 682 | outputPaths = ( 683 | ); 684 | runOnlyForDeploymentPostprocessing = 0; 685 | shellPath = /bin/sh; 686 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; 687 | }; 688 | /* End PBXShellScriptBuildPhase section */ 689 | 690 | /* Begin PBXSourcesBuildPhase section */ 691 | E4B69B580A3A1756003C02F2 /* Sources */ = { 692 | isa = PBXSourcesBuildPhase; 693 | buildActionMask = 2147483647; 694 | files = ( 695 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 696 | 27E7FAD316193015007E0DB3 /* Calibration.cpp in Sources */, 697 | 27E7FAD416193015007E0DB3 /* ContourFinder.cpp in Sources */, 698 | 27E7FAD516193015007E0DB3 /* Distance.cpp in Sources */, 699 | 27E7FAD616193015007E0DB3 /* Flow.cpp in Sources */, 700 | 27E7FAD716193015007E0DB3 /* Helpers.cpp in Sources */, 701 | 27E7FAD816193015007E0DB3 /* RunningBackground.cpp in Sources */, 702 | 27E7FAD916193015007E0DB3 /* Tracker.cpp in Sources */, 703 | 27E7FADA16193015007E0DB3 /* Utilities.cpp in Sources */, 704 | 27E7FADB16193015007E0DB3 /* Wrappers.cpp in Sources */, 705 | 2747FD8A16F3223700B1F3F0 /* ofApp.cpp in Sources */, 706 | ); 707 | runOnlyForDeploymentPostprocessing = 0; 708 | }; 709 | /* End PBXSourcesBuildPhase section */ 710 | 711 | /* Begin PBXTargetDependency section */ 712 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 713 | isa = PBXTargetDependency; 714 | name = openFrameworks; 715 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 716 | }; 717 | /* End PBXTargetDependency section */ 718 | 719 | /* Begin XCBuildConfiguration section */ 720 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 721 | isa = XCBuildConfiguration; 722 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 723 | buildSettings = { 724 | ARCHS = "$(NATIVE_ARCH)"; 725 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 726 | COPY_PHASE_STRIP = NO; 727 | DEAD_CODE_STRIPPING = YES; 728 | GCC_AUTO_VECTORIZATION = YES; 729 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 730 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 731 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 732 | GCC_OPTIMIZATION_LEVEL = 0; 733 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 734 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 735 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 736 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 737 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 738 | GCC_WARN_UNUSED_VALUE = NO; 739 | GCC_WARN_UNUSED_VARIABLE = NO; 740 | HEADER_SEARCH_PATHS = ( 741 | "$(OF_CORE_HEADERS)", 742 | ../../../addons/ofxCv/libs/ofxCv/include/, 743 | "../../../addons/ofxOpenCv/libs/**", 744 | ../../../addons/ofxOpenCv/src, 745 | ); 746 | OTHER_CPLUSPLUSFLAGS = ( 747 | "-D__MACOSX_CORE__", 748 | "-lpthread", 749 | "-mtune=native", 750 | ); 751 | OTHER_LDFLAGS = ( 752 | "$(OF_CORE_LIBS)", 753 | ../../../addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a, 754 | ); 755 | }; 756 | name = Debug; 757 | }; 758 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 759 | isa = XCBuildConfiguration; 760 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 761 | buildSettings = { 762 | ARCHS = "$(NATIVE_ARCH)"; 763 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 764 | COPY_PHASE_STRIP = YES; 765 | DEAD_CODE_STRIPPING = YES; 766 | GCC_AUTO_VECTORIZATION = YES; 767 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 768 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 769 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 770 | GCC_OPTIMIZATION_LEVEL = 3; 771 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 772 | GCC_UNROLL_LOOPS = YES; 773 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 774 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 775 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 776 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 777 | GCC_WARN_UNUSED_VALUE = NO; 778 | GCC_WARN_UNUSED_VARIABLE = NO; 779 | HEADER_SEARCH_PATHS = ( 780 | "$(OF_CORE_HEADERS)", 781 | ../../../addons/ofxCv/libs/ofxCv/include/, 782 | "../../../addons/ofxOpenCv/libs/**", 783 | ../../../addons/ofxOpenCv/src, 784 | ); 785 | OTHER_CPLUSPLUSFLAGS = ( 786 | "-D__MACOSX_CORE__", 787 | "-lpthread", 788 | "-mtune=native", 789 | ); 790 | OTHER_LDFLAGS = ( 791 | "$(OF_CORE_LIBS)", 792 | ../../../addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a, 793 | ); 794 | }; 795 | name = Release; 796 | }; 797 | E4B69B600A3A1757003C02F2 /* Debug */ = { 798 | isa = XCBuildConfiguration; 799 | buildSettings = { 800 | COPY_PHASE_STRIP = NO; 801 | FRAMEWORK_SEARCH_PATHS = ( 802 | "$(inherited)", 803 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 804 | ); 805 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 806 | GCC_DYNAMIC_NO_PIC = NO; 807 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 808 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 809 | GCC_MODEL_TUNING = NONE; 810 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 811 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 812 | HEADER_SEARCH_PATHS = ( 813 | "$(OF_CORE_HEADERS)", 814 | ../../../addons/ofxCv/libs/ofxCv/include/, 815 | "../../../addons/ofxOpenCv/libs/**", 816 | ../../../addons/ofxOpenCv/src, 817 | ); 818 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 819 | INSTALL_PATH = "$(HOME)/Applications"; 820 | LIBRARY_SEARCH_PATHS = ( 821 | "$(inherited)", 822 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 823 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 824 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 825 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 826 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 827 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 828 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 829 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 830 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 831 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 832 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 833 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 834 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 835 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 836 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 837 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 838 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 839 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 840 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 841 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 842 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 843 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 844 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 845 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 846 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 847 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 848 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 849 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 850 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 851 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 852 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 853 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 854 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 855 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 856 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 857 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 858 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 859 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 860 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 861 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 862 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 863 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 864 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 865 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 866 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 867 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 868 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 869 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 870 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 871 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 872 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 873 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 874 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 875 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 876 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 877 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 878 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 879 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 880 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 881 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 882 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 883 | ); 884 | PREBINDING = NO; 885 | PRODUCT_NAME = "$(TARGET_NAME)Debug"; 886 | WRAPPER_EXTENSION = app; 887 | }; 888 | name = Debug; 889 | }; 890 | E4B69B610A3A1757003C02F2 /* Release */ = { 891 | isa = XCBuildConfiguration; 892 | buildSettings = { 893 | COPY_PHASE_STRIP = YES; 894 | FRAMEWORK_SEARCH_PATHS = ( 895 | "$(inherited)", 896 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 897 | ); 898 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 899 | GCC_ENABLE_FIX_AND_CONTINUE = NO; 900 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 901 | GCC_MODEL_TUNING = NONE; 902 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 903 | GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 904 | HEADER_SEARCH_PATHS = ( 905 | "$(OF_CORE_HEADERS)", 906 | ../../../addons/ofxCv/libs/ofxCv/include/, 907 | "../../../addons/ofxOpenCv/libs/**", 908 | ../../../addons/ofxOpenCv/src, 909 | ); 910 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 911 | INSTALL_PATH = "$(HOME)/Applications"; 912 | LIBRARY_SEARCH_PATHS = ( 913 | "$(inherited)", 914 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 915 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 916 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 917 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 918 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 919 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 920 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 921 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 922 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 923 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 924 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 925 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 926 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 927 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 928 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 929 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 930 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 931 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 932 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 933 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 934 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 935 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 936 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 937 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 938 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 939 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 940 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 941 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 942 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 943 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 944 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 945 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 946 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 947 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 948 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 949 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 950 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 951 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 952 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 953 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 954 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 955 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 956 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 957 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 958 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 959 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 960 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 961 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 962 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 963 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 964 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 965 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 966 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 967 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 968 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 969 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 970 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 971 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 972 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 973 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 974 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 975 | ); 976 | PREBINDING = NO; 977 | PRODUCT_NAME = "$(TARGET_NAME)"; 978 | WRAPPER_EXTENSION = app; 979 | }; 980 | name = Release; 981 | }; 982 | /* End XCBuildConfiguration section */ 983 | 984 | /* Begin XCConfigurationList section */ 985 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofApp" */ = { 986 | isa = XCConfigurationList; 987 | buildConfigurations = ( 988 | E4B69B4E0A3A1720003C02F2 /* Debug */, 989 | E4B69B4F0A3A1720003C02F2 /* Release */, 990 | ); 991 | defaultConfigurationIsVisible = 0; 992 | defaultConfigurationName = Release; 993 | }; 994 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofApp" */ = { 995 | isa = XCConfigurationList; 996 | buildConfigurations = ( 997 | E4B69B600A3A1757003C02F2 /* Debug */, 998 | E4B69B610A3A1757003C02F2 /* Release */, 999 | ); 1000 | defaultConfigurationIsVisible = 0; 1001 | defaultConfigurationName = Release; 1002 | }; 1003 | /* End XCConfigurationList section */ 1004 | }; 1005 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 1006 | } 1007 | -------------------------------------------------------------------------------- /MultiscaleTuring1/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring1/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring1/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /MultiscaleTuring1/src/TuringPattern.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofxCv.h" 4 | using namespace cv; 5 | using namespace ofxCv; 6 | 7 | typedef vector floats; 8 | 9 | class TuringPattern { 10 | public: 11 | floats activator, inhibitor, variations; 12 | floats tmp; 13 | int ar, ir, n; 14 | float ss; 15 | 16 | TuringPattern(int n, int ar, int ir, float ss) : 17 | ar(ar), ir(ir), ss(ss), n(n) { 18 | activator.resize(n * n); 19 | inhibitor.resize(n * n); 20 | variations.resize(n * n); 21 | tmp.resize(n * n); 22 | } 23 | 24 | void step(floats& src) { 25 | Mat srcMat(n, n, CV_32FC1, &(src[0])); 26 | Mat activatorMat(n, n, CV_32FC1, &(activator[0])); 27 | Mat inhibitorMat(n, n, CV_32FC1, &(inhibitor[0])); 28 | Mat variationsMat(n, n, CV_32FC1, &(variations[0])); 29 | 30 | blur(srcMat, activatorMat, ar); 31 | blur(srcMat, inhibitorMat, ir); 32 | absdiff(activatorMat, inhibitorMat, variationsMat); 33 | } 34 | 35 | void blur(Mat& src, Mat& dst, int radius) { 36 | //cv::GaussianBlur(src, dst, cv::Size(radius * 2 + 1, radius * 2 + 1), 0, 0); 37 | cv::blur(src, dst, cv::Size(radius * 2 + 1, radius * 2 + 1)); 38 | 39 | /* 40 | Mat tmpMat(n, n, CV_32FC1, &(tmp[0])); 41 | IplImage tmpIpl = tmpMat; 42 | IplImage srcIpl = src; 43 | IplImage dstIpl = dst; 44 | 45 | cvLogPolar(&srcIpl, &dstIpl, cvPoint2D32f(n / 2, n / 2), n / 6, CV_INTER_LINEAR); 46 | cv::blur(dst, tmpMat, cv::Size(radius * 2 + 1, radius * 2 + 1)); 47 | cvLogPolar(&tmpIpl, &dstIpl, cvPoint2D32f(n / 2, n / 2), n / 6, CV_INTER_LINEAR + CV_WARP_INVERSE_MAP); 48 | */ 49 | } 50 | }; 51 | -------------------------------------------------------------------------------- /MultiscaleTuring1/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 512, 512, OF_WINDOW); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /MultiscaleTuring1/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | typedef vector floats; 4 | 5 | floats grid; 6 | int num; 7 | vector patterns; 8 | ofImage buffer; 9 | 10 | void updateGrid() { 11 | float smallest=10; 12 | float largest=-10; 13 | int n = num * num; 14 | for (int i = 0; i < n; i++) { 15 | // this is the magic 16 | // use the stepsize from the level with the least variation 17 | // in other words: take the scale at which the current value is most representative 18 | // and walk a similar amount much in that direction. 19 | float bestvariation=patterns[0].variations[i]; 20 | int bestlevel=0; 21 | for (int k=1;kpatterns[bestlevel].inhibitor[i]) { 28 | grid[i]+=patterns[bestlevel].ss; 29 | //grid[i]=+patterns[bestlevel].ss; 30 | } 31 | else { 32 | grid[i]-=patterns[bestlevel].ss; 33 | //grid[i]=-patterns[bestlevel].ss; 34 | } 35 | 36 | largest=max(largest, grid[i]); 37 | smallest=min(smallest, grid[i]); 38 | } 39 | // map everything from min/max onto -1 to +1 40 | float range=0.5*(largest-smallest); 41 | for (int i=0;i 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring2/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring2/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /MultiscaleTuring2/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 1680, 1050, OF_FULLSCREEN); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /MultiscaleTuring2/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | typedef vector floats; 4 | 5 | floats grid; 6 | int num, levels; 7 | vector diffusion; 8 | vector stepSizes; 9 | vector radii; 10 | 11 | ofImage buffer; 12 | 13 | void updateGridFromDiffusion() { 14 | float smallest = 10; 15 | float largest = -10; 16 | int n = num * num; 17 | for (int i = 0; i < n; i++) { 18 | float bestVariation = 0; 19 | int bestLevel = 0; 20 | for(int level = 0; level < diffusion.size() - 1; level++) { 21 | float curVariation = fabsf(diffusion[level][i] - diffusion[level + 1][i]); 22 | if(level == 0 || curVariation < bestVariation) { 23 | bestLevel = level; 24 | bestVariation = curVariation; 25 | } 26 | } 27 | float curActivator = diffusion[bestLevel][i]; 28 | float curInhibitor = diffusion[bestLevel + 1][i]; 29 | if(curActivator > curInhibitor) { 30 | grid[i] += stepSizes[bestLevel]; 31 | } else { 32 | grid[i] -= stepSizes[bestLevel]; 33 | } 34 | 35 | largest = max(largest, grid[i]); 36 | smallest = min(smallest, grid[i]); 37 | } 38 | float range = (largest - smallest) / 2; 39 | for (int i = 0; i < n; i++) { 40 | grid[i] = ((grid[i] - smallest) / range) - 1; 41 | } 42 | } 43 | 44 | void updateDiffusion() { 45 | Mat srcMat(num, num, CV_32FC1, &(grid[0])); 46 | for(int i = 0; i < diffusion.size(); i++) { 47 | Mat curMat(num, num, CV_32FC1, &(diffusion[i][0])); 48 | int radius = radii[i]; 49 | cv::blur(i == 0 ? srcMat : Mat(num, num, CV_32FC1, &(diffusion[i - 1][0])), 50 | curMat, cv::Size(radius * 2 + 1, radius * 2 + 1)); 51 | } 52 | } 53 | 54 | void ofApp::setup() { 55 | num=4096; 56 | int n = num * num; 57 | 58 | levels = 9; 59 | radii.resize(levels); 60 | stepSizes.resize(levels); 61 | diffusion.resize(levels, floats(n)); 62 | float scale = .009; 63 | float base = .008; 64 | for(int i = 0; i < levels; i++) { 65 | int radius = (int) powf(2.5, i); 66 | radii[i] = (radius); 67 | stepSizes[i] = log(radius) * scale + base; 68 | } 69 | 70 | grid.resize(n); 71 | for (int i = 0; i < n; i++) { 72 | grid[i] = ofRandom(-1, 1); 73 | } 74 | 75 | buffer.allocate(num, num, OF_IMAGE_GRAYSCALE); 76 | } 77 | 78 | void ofApp::update() { 79 | updateDiffusion(); 80 | updateGridFromDiffusion(); 81 | } 82 | 83 | void drawBuffer(floats& grid) { 84 | unsigned char* pixels = buffer.getPixels(); 85 | int n = num * num; 86 | for (int i = 0; i < n; i++) { 87 | pixels[i] = 128 + 100*grid[i]; 88 | } 89 | buffer.update(); 90 | buffer.draw(0, 0); 91 | } 92 | 93 | void ofApp::draw() { 94 | drawBuffer(grid); 95 | ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20); 96 | 97 | ofTranslate(0, 256); 98 | /* 99 | for(int i = 0; i < diffusion.size(); i++) { 100 | drawBuffer(diffusion[i]); 101 | ofTranslate(num, 0); 102 | }*/ 103 | } 104 | 105 | void ofApp::mousePressed(int x, int y, int button) { 106 | buffer.saveImage(ofToString(ofGetFrameNum()) + ".png"); 107 | setup(); 108 | } 109 | 110 | void ofApp::mouseMoved(int x, int y) { 111 | /* 112 | for(int i = 0; i < levels; i++) { 113 | int radius = (int) powf(ofMap(x, 0, ofGetWidth(), 1.5, 4), i); 114 | radii[i] = (radius); 115 | } 116 | */ 117 | } -------------------------------------------------------------------------------- /MultiscaleTuring2/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxCv.h" 5 | using namespace cv; 6 | 7 | class ofApp : public ofBaseApp { 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | void mousePressed(int x, int y, int button); 13 | void mouseMoved(int x, int y); 14 | }; 15 | -------------------------------------------------------------------------------- /MultiscaleTuring3/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 9 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 10 | -------------------------------------------------------------------------------- /MultiscaleTuring3/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring3/ofApp.xcodeproj/xcshareddata/xcschemes/ofApp Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /MultiscaleTuring3/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.openFrameworks 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /MultiscaleTuring3/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | #include "ofAppGlutWindow.h" 3 | 4 | int main() { 5 | ofAppGlutWindow window; 6 | ofSetupOpenGL(&window, 512, 512, OF_WINDOW); 7 | ofRunApp(new ofApp()); 8 | } 9 | -------------------------------------------------------------------------------- /MultiscaleTuring3/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | typedef vector floats; 4 | typedef vector bytes; 5 | typedef vector bools; 6 | 7 | int n, side, levels; 8 | floats grid; 9 | floats diffusionLeft, diffusionRight, variation; 10 | floats bestVariation; 11 | bytes bestLevel; 12 | bools direction; 13 | 14 | vector stepSizes; 15 | vector radii; 16 | ofImage buffer; 17 | 18 | void ofApp::setup() { 19 | // initialize settings 20 | side = 512; 21 | float base = ofRandom(1.5, 2.5); 22 | levels = logf(side) / logf(base); 23 | float stepScale = ofRandom(-.003, +.003) + .009; 24 | float stepOffset = ofRandom(-.003, +.003) + .008; 25 | 26 | // allocate space 27 | n = side * side; 28 | radii.resize(levels); 29 | stepSizes.resize(levels); 30 | grid.resize(n); 31 | diffusionLeft.resize(n); 32 | diffusionRight.resize(n); 33 | variation.resize(n); 34 | bestVariation.resize(n); 35 | bestLevel.resize(n); 36 | direction.resize(n); 37 | buffer.allocate(side, side, OF_IMAGE_GRAYSCALE); 38 | 39 | // determines the shape of the patterns 40 | for(int i = 0; i < levels; i++) { 41 | int radius = (int) powf(base, i); 42 | radii[i] = radius; 43 | float diameterRatio = (float) ((2 * radius) + 1) / side; 44 | cout << i << ":" << (int) (100 * diameterRatio) << "%" << endl; 45 | stepSizes[i] = log(radius) * stepScale + stepOffset; 46 | } 47 | 48 | // initialize the grid with noise 49 | for (int i = 0; i < n; i++) { 50 | grid[i] = ofRandom(-1, +1); 51 | } 52 | // initialize with a few pixels 53 | for(int i = 0; i < 8; i++) { 54 | grid[ofRandom(0, side) * side + ofRandom(0, side)] = ofRandom(-.01, +.01); 55 | } 56 | } 57 | 58 | void ofApp::update() { 59 | floats* activator = &grid; 60 | floats* inhibitor = &diffusionRight; 61 | 62 | Mat variationMat(side, side, CV_32FC1, &(variation[0])); 63 | 64 | for(int level = 0; level < levels - 1; level++) { 65 | Mat activatorMat(side, side, CV_32FC1, &((*activator)[0])); 66 | Mat inhibitorMat(side, side, CV_32FC1, &((*inhibitor)[0])); 67 | 68 | // blur activator into inhibitor 69 | int radius = radii[level]; 70 | cv::Size kernelSize(radius * 2 + 1, radius * 2 + 1); 71 | cv::blur(activatorMat, inhibitorMat, kernelSize); 72 | //cv::GaussianBlur(activatorMat, inhibitorMat, kernelSize, 0); 73 | 74 | // absdiff between activator and inhibitor 75 | cv::absdiff(activatorMat, inhibitorMat, variationMat); 76 | 77 | if(level == 0) { 78 | // save bestLevel and bestVariation 79 | for(int i = 0; i < n; i++) { 80 | bestVariation[i] = variation[i]; 81 | bestLevel[i] = level; 82 | direction[i] = (*activator)[i] > (*inhibitor)[i]; 83 | } 84 | activator = &diffusionRight; 85 | inhibitor = &diffusionLeft; 86 | } else { 87 | // check/save bestLevel and bestVariation 88 | for(int i = 0; i < n; i++) { 89 | if(variation[i] < bestVariation[i]) { 90 | bestVariation[i] = variation[i]; 91 | bestLevel[i] = level; 92 | direction[i] = (*activator)[i] > (*inhibitor)[i]; 93 | } 94 | } 95 | swap(activator, inhibitor); 96 | } 97 | } 98 | 99 | // update grid from bestLevel 100 | float smallest = 10; 101 | float largest = -10; 102 | for(int i = 0; i < n; i++) { 103 | float curStep = stepSizes[bestLevel[i]]; 104 | if(direction[i]) { 105 | grid[i] += curStep; 106 | } else { 107 | grid[i] -= curStep; 108 | } 109 | smallest = min(smallest, grid[i]); 110 | largest = max(largest, grid[i]); 111 | } 112 | 113 | // normalize to [-1, +1] 114 | float range = (largest - smallest) / 2; 115 | for (int i = 0; i < n; i++) { 116 | grid[i] = ((grid[i] - smallest) / range) - 1; 117 | } 118 | } 119 | 120 | template 121 | void drawBuffer(vector& grid) { 122 | unsigned char* pixels = buffer.getPixels(); 123 | for (int i = 0; i < n; i++) { 124 | pixels[i] = 128 + 128 * grid[i]; 125 | } 126 | buffer.update(); 127 | buffer.draw(0, 0);//, ofGetWidth(), ofGetHeight()); 128 | } 129 | 130 | void ofApp::draw() { 131 | drawBuffer(grid); 132 | ofDrawBitmapString(ofToString((int) ofGetFrameRate()), 10, 20); 133 | } 134 | 135 | void ofApp::mousePressed(int x, int y, int button) { 136 | setup(); 137 | } 138 | 139 | void ofApp::keyPressed(int key) { 140 | if(key == ' ') { 141 | buffer.saveImage(ofToString(ofGetFrameNum()) + ".png"); 142 | } 143 | } -------------------------------------------------------------------------------- /MultiscaleTuring3/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxCv.h" 5 | using namespace cv; 6 | 7 | class ofApp : public ofBaseApp { 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | void mousePressed(int x, int y, int button); 13 | void keyPressed(int key); 14 | }; 15 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # MultiscaleTuring 2 | 3 | This is an implementation of multiscale turing patterns using openFrameworks and OpenCv. Originally based on the implementation [here](http://www.wblut.com/2011/07/13/mccabeism-turning-noise-into-a-thing-of-beauty/). 4 | 5 | The basic sketch will run in your browser on [Open Processing](http://www.openprocessing.org/sketch/31195). 6 | 7 | Each version of the code (`MultiscaleTuring0` through `MultiscaleTuring3`) represents a new way of thinking about how to optimize the multiscale turing computation. `MultiscaleTuring0` is a direct port from a Processing implementation, while `MultiscaleTuring3` represents an attempt at a hyper-optimized implementation. 8 | 9 | `3DMultiscaleTuring` evaluates the multiscale turing algorithm across multiple 2d slices of a 3d space. --------------------------------------------------------------------------------