├── .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.
--------------------------------------------------------------------------------