├── .DS_Store
├── .gitignore
├── Makefile
├── Project.xcconfig
├── README.md
├── addons.make
├── config.make
├── openFrameworks-Info.plist
├── src
├── arc.cpp
├── arc.h
├── main.cpp
├── ofApp.cpp
├── ofApp.h
├── testApp.cpp
└── testApp.h
└── tron.xcodeproj
├── project.pbxproj
├── project.xcworkspace
├── contents.xcworkspacedata
└── xcuserdata
│ └── zuppaman.xcuserdatad
│ └── UserInterfaceState.xcuserstate
├── xcshareddata
└── xcschemes
│ ├── tron Debug.xcscheme
│ └── tron Release.xcscheme
└── xcuserdata
└── zuppaman.xcuserdatad
└── xcschemes
└── xcschememanagement.plist
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lab101/tronCircles/afedd59e8fcc43f89f8c901ebf38c498e49ca5e5/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | bin
2 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | # Attempt to load a config.make file.
2 | # If none is found, project defaults in config.project.make will be used.
3 | ifneq ($(wildcard config.make),)
4 | include config.make
5 | endif
6 |
7 | # make sure the the OF_ROOT location is defined
8 | ifndef OF_ROOT
9 | OF_ROOT=$(realpath ../../..)
10 | endif
11 |
12 | # call the project makefile!
13 | include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk
14 |
--------------------------------------------------------------------------------
/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 | //ICONS - NEW IN 0072
9 | ICON_NAME_DEBUG = icon-debug.icns
10 | ICON_NAME_RELEASE = icon.icns
11 | ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/
12 |
13 | //IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to:
14 | //ICON_FILE_PATH = bin/data/
15 |
16 | OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS)
17 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS)
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # tronCircles
2 | Josh Nimoy mentioned openFrameworks in his Tron Legacy post So why not try it myself. After some pointers from arturo I managed to get these smooth gradient arcs. Using the FBO and ofMesh from the upcoming openFrameworks 0.7 release. Running super smooth on macbook.
3 |
4 | Some people asked about the license it's BSD (https://opensource.org/licenses/BSD-3-Clause). So you can do whatever you want with it.
5 | It's always nice to see what other people do with it so I would be more than happy if you send me picture.
6 |
--------------------------------------------------------------------------------
/addons.make:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lab101/tronCircles/afedd59e8fcc43f89f8c901ebf38c498e49ca5e5/addons.make
--------------------------------------------------------------------------------
/config.make:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # CONFIGURE PROJECT MAKEFILE (optional)
3 | # This file is where we make project specific configurations.
4 | ################################################################################
5 |
6 | ################################################################################
7 | # OF ROOT
8 | # The location of your root openFrameworks installation
9 | # (default) OF_ROOT = ../../..
10 | ################################################################################
11 | # OF_ROOT = ../../..
12 |
13 | ################################################################################
14 | # PROJECT ROOT
15 | # The location of the project - a starting place for searching for files
16 | # (default) PROJECT_ROOT = . (this directory)
17 | #
18 | ################################################################################
19 | # PROJECT_ROOT = .
20 |
21 | ################################################################################
22 | # PROJECT SPECIFIC CHECKS
23 | # This is a project defined section to create internal makefile flags to
24 | # conditionally enable or disable the addition of various features within
25 | # this makefile. For instance, if you want to make changes based on whether
26 | # GTK is installed, one might test that here and create a variable to check.
27 | ################################################################################
28 | # None
29 |
30 | ################################################################################
31 | # PROJECT EXTERNAL SOURCE PATHS
32 | # These are fully qualified paths that are not within the PROJECT_ROOT folder.
33 | # Like source folders in the PROJECT_ROOT, these paths are subject to
34 | # exlclusion via the PROJECT_EXLCUSIONS list.
35 | #
36 | # (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank)
37 | #
38 | # Note: Leave a leading space when adding list items with the += operator
39 | ################################################################################
40 | # PROJECT_EXTERNAL_SOURCE_PATHS =
41 |
42 | ################################################################################
43 | # PROJECT EXCLUSIONS
44 | # These makefiles assume that all folders in your current project directory
45 | # and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations
46 | # to look for source code. The any folders or files that match any of the
47 | # items in the PROJECT_EXCLUSIONS list below will be ignored.
48 | #
49 | # Each item in the PROJECT_EXCLUSIONS list will be treated as a complete
50 | # string unless teh user adds a wildcard (%) operator to match subdirectories.
51 | # GNU make only allows one wildcard for matching. The second wildcard (%) is
52 | # treated literally.
53 | #
54 | # (default) PROJECT_EXCLUSIONS = (blank)
55 | #
56 | # Will automatically exclude the following:
57 | #
58 | # $(PROJECT_ROOT)/bin%
59 | # $(PROJECT_ROOT)/obj%
60 | # $(PROJECT_ROOT)/%.xcodeproj
61 | #
62 | # Note: Leave a leading space when adding list items with the += operator
63 | ################################################################################
64 | # PROJECT_EXCLUSIONS =
65 |
66 | ################################################################################
67 | # PROJECT LINKER FLAGS
68 | # These flags will be sent to the linker when compiling the executable.
69 | #
70 | # (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs
71 | #
72 | # Note: Leave a leading space when adding list items with the += operator
73 | ################################################################################
74 |
75 | # Currently, shared libraries that are needed are copied to the
76 | # $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to
77 | # add a runtime path to search for those shared libraries, since they aren't
78 | # incorporated directly into the final executable application binary.
79 | # TODO: should this be a default setting?
80 | # PROJECT_LDFLAGS=-Wl,-rpath=./libs
81 |
82 | ################################################################################
83 | # PROJECT DEFINES
84 | # Create a space-delimited list of DEFINES. The list will be converted into
85 | # CFLAGS with the "-D" flag later in the makefile.
86 | #
87 | # (default) PROJECT_DEFINES = (blank)
88 | #
89 | # Note: Leave a leading space when adding list items with the += operator
90 | ################################################################################
91 | # PROJECT_DEFINES =
92 |
93 | ################################################################################
94 | # PROJECT CFLAGS
95 | # This is a list of fully qualified CFLAGS required when compiling for this
96 | # project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS
97 | # defined in your platform specific core configuration files. These flags are
98 | # presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below.
99 | #
100 | # (default) PROJECT_CFLAGS = (blank)
101 | #
102 | # Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in
103 | # your platform specific configuration file will be applied by default and
104 | # further flags here may not be needed.
105 | #
106 | # Note: Leave a leading space when adding list items with the += operator
107 | ################################################################################
108 | # PROJECT_CFLAGS =
109 |
110 | ################################################################################
111 | # PROJECT OPTIMIZATION CFLAGS
112 | # These are lists of CFLAGS that are target-specific. While any flags could
113 | # be conditionally added, they are usually limited to optimization flags.
114 | # These flags are added BEFORE the PROJECT_CFLAGS.
115 | #
116 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets.
117 | #
118 | # (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank)
119 | #
120 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets.
121 | #
122 | # (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank)
123 | #
124 | # Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the
125 | # PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration
126 | # file will be applied by default and further optimization flags here may not
127 | # be needed.
128 | #
129 | # Note: Leave a leading space when adding list items with the += operator
130 | ################################################################################
131 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE =
132 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG =
133 |
134 | ################################################################################
135 | # PROJECT COMPILERS
136 | # Custom compilers can be set for CC and CXX
137 | # (default) PROJECT_CXX = (blank)
138 | # (default) PROJECT_CC = (blank)
139 | # Note: Leave a leading space when adding list items with the += operator
140 | ################################################################################
141 | # PROJECT_CXX =
142 | # PROJECT_CC =
143 |
--------------------------------------------------------------------------------
/openFrameworks-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | cc.openFrameworks.ofapp
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | APPL
15 | CFBundleSignature
16 | ????
17 | CFBundleVersion
18 | 1.0
19 | CFBundleIconFile
20 | ${ICON}
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/arc.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * arc.cpp
3 | * TronDemo
4 | *
5 | * Created by Kris Meeusen on 06/05/11.
6 | * Copyright 2011 Lab101. All rights reserved.
7 | *
8 | */
9 |
10 | #include "arc.h"
11 |
12 |
13 | void arc::createMesh()
14 | {
15 | float x,y;
16 | float angle;
17 | // Use smaller steps on big circles
18 | float angleSteps = 10 / innerRadius ;
19 |
20 | //mesh.setMode(ofPrimitive)
21 |
22 | mesh.setMode(OF_PRIMITIVE_TRIANGLE_STRIP);
23 | meshOutline.setMode(OF_PRIMITIVE_LINE_LOOP);
24 |
25 | //mesh.setMode(OF_TRIANGLE_STRIP_MODE);
26 | //meshOutline.setMode(OF_LINE_LOOP_MODE);
27 |
28 | int index = 0;
29 | float colorBlue = colorBlueStartFactor;
30 | float colorBlueSteps = (colorBlueEndFactor - colorBlueStartFactor) / ((endAngle-startAngle)/angleSteps);
31 |
32 | vector innerCircleMeshOutline;
33 |
34 | for (float angle = startAngle; angle <= endAngle; angle+=angleSteps){
35 | colorBlue += colorBlueSteps;
36 |
37 | x = outerRadius * cos(angle);
38 | y = outerRadius * sin(angle);
39 |
40 | // inner circle fill
41 | mesh.addVertex(ofVec3f(x,y,0));
42 | // adding the points for the border upper part
43 | meshOutline.addVertex(ofVec3f(x,y,0));
44 |
45 | //mesh.addColor(ofColor(0,colorBlue ,colorBlue- colorGreenCorrection));
46 | mesh.addColor(ofFloatColor(0,colorBlue,colorBlue- colorGreenCorrection));
47 | x = innerRadius * cos(angle);
48 | y = innerRadius * sin(angle);
49 |
50 | mesh.addVertex(ofVec3f(x,y,0));
51 | // adding the inner circle points to a vector because they need to be in reverse order.
52 | innerCircleMeshOutline.push_back(ofVec3f(x,y,0));
53 |
54 | mesh.addColor(ofFloatColor(0,colorBlue ,colorBlue- colorGreenCorrection));
55 |
56 | }
57 |
58 | std::reverse(innerCircleMeshOutline.begin(), innerCircleMeshOutline.end());
59 | meshOutline.addVertices(innerCircleMeshOutline);
60 |
61 | }
62 |
63 |
64 | void arc::draw(float rotation)
65 | {
66 | glPushMatrix();
67 |
68 | ofRotateZ(rotation * ((clockwise) ? 1 : -1));
69 |
70 | ofSetLineWidth(1);
71 | ofSetColor(0, 60, 60);
72 | meshOutline.drawFaces();
73 |
74 | ofSetLineWidth(0);
75 | mesh.drawFaces();
76 |
77 | glPopMatrix();
78 | }
--------------------------------------------------------------------------------
/src/arc.h:
--------------------------------------------------------------------------------
1 | /*
2 | * arc.h
3 | * TronDemo
4 | *
5 | * Created by Kris Meeusen on 06/05/11.
6 | * Copyright 2011 Lab101. All rights reserved.
7 | *
8 | */
9 |
10 | #pragma once
11 |
12 | #include "ofMain.h"
13 |
14 | class arc{
15 |
16 | public:
17 | float startAngle;
18 | float endAngle;
19 |
20 | float innerRadius;
21 | float outerRadius;
22 |
23 | bool clockwise;
24 | int hexColor;
25 |
26 | float colorBlueStartFactor;
27 | float colorBlueEndFactor;
28 |
29 | float colorGreenCorrection;
30 | // arc fill
31 | ofMesh mesh;
32 | // arc border
33 | ofMesh meshOutline;
34 | void draw(float rotation);
35 | void createMesh();
36 |
37 | private:
38 |
39 | };
--------------------------------------------------------------------------------
/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ofMain.h"
2 | #include "testApp.h"
3 | #include "ofAppGlutWindow.h"
4 |
5 | //========================================================================
6 | int main( ){
7 |
8 | ofAppGlutWindow window;
9 | #if defined (TARGET_OSX)
10 | window.setGlutDisplayString("rgba double samples>=4 depth");
11 | #endif
12 |
13 | ofSetupOpenGL(&window, 1280,1024, OF_WINDOW); // <-------- setup the GL context
14 |
15 | // this kicks off the running of my app
16 | // can be OF_WINDOW or OF_FULLSCREEN
17 | // pass in width and height too:
18 | ofRunApp( new testApp());
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | #include "ofApp.h"
2 |
3 | //--------------------------------------------------------------
4 | void ofApp::setup(){
5 |
6 | }
7 |
8 | //--------------------------------------------------------------
9 | void ofApp::update(){
10 |
11 | }
12 |
13 | //--------------------------------------------------------------
14 | void ofApp::draw(){
15 |
16 | }
17 |
18 | //--------------------------------------------------------------
19 | void ofApp::keyPressed(int key){
20 |
21 | }
22 |
23 | //--------------------------------------------------------------
24 | void ofApp::keyReleased(int key){
25 |
26 | }
27 |
28 | //--------------------------------------------------------------
29 | void ofApp::mouseMoved(int x, int y ){
30 |
31 | }
32 |
33 | //--------------------------------------------------------------
34 | void ofApp::mouseDragged(int x, int y, int button){
35 |
36 | }
37 |
38 | //--------------------------------------------------------------
39 | void ofApp::mousePressed(int x, int y, int button){
40 |
41 | }
42 |
43 | //--------------------------------------------------------------
44 | void ofApp::mouseReleased(int x, int y, int button){
45 |
46 | }
47 |
48 | //--------------------------------------------------------------
49 | void ofApp::mouseEntered(int x, int y){
50 |
51 | }
52 |
53 | //--------------------------------------------------------------
54 | void ofApp::mouseExited(int x, int y){
55 |
56 | }
57 |
58 | //--------------------------------------------------------------
59 | void ofApp::windowResized(int w, int h){
60 |
61 | }
62 |
63 | //--------------------------------------------------------------
64 | void ofApp::gotMessage(ofMessage msg){
65 |
66 | }
67 |
68 | //--------------------------------------------------------------
69 | void ofApp::dragEvent(ofDragInfo dragInfo){
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/src/ofApp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ofMain.h"
4 |
5 | class ofApp : public ofBaseApp{
6 |
7 | public:
8 | void setup();
9 | void update();
10 | void draw();
11 |
12 | void keyPressed(int key);
13 | void keyReleased(int key);
14 | void mouseMoved(int x, int y );
15 | void mouseDragged(int x, int y, int button);
16 | void mousePressed(int x, int y, int button);
17 | void mouseReleased(int x, int y, int button);
18 | void mouseEntered(int x, int y);
19 | void mouseExited(int x, int y);
20 | void windowResized(int w, int h);
21 | void dragEvent(ofDragInfo dragInfo);
22 | void gotMessage(ofMessage msg);
23 |
24 | };
25 |
--------------------------------------------------------------------------------
/src/testApp.cpp:
--------------------------------------------------------------------------------
1 | #include "testApp.h"
2 |
3 | int nrOfCircles = 1;
4 | float rotation = 0;
5 | float rotationSteps = 0.01;
6 | float lastSwitch;
7 | bool closing;
8 | bool opening;
9 |
10 |
11 | //--------------------------------------------------------------
12 | void testApp::setup(){
13 | ofBackground(0, 0, 0, 255);
14 | ofSetFrameRate(60);
15 | createNewArcs();
16 | closing = false;
17 | opening = true;
18 | ofSetVerticalSync(false);
19 | lastSwitch = ofGetElapsedTimef();
20 | rotationSteps= 0.4;
21 | snapCounter =0;
22 | bSnapshot = false;
23 | scale=0;
24 | }
25 |
26 |
27 | //--------------------------------------------------------------
28 | void testApp::update(){
29 | rotation += rotationSteps;
30 |
31 | if(ofGetElapsedTimef() - lastSwitch > 9 && !closing && !opening)
32 | {
33 | closing =true;
34 | opening = false;
35 | }
36 |
37 | if (closing) {
38 | scale -=(scale) / 8;
39 |
40 | if(scale < 0.1)
41 | {
42 | createNewArcs();
43 | opening = true;
44 | closing = false;
45 | }
46 | }
47 |
48 | if (opening) {
49 | scale+=(1-scale) / 8;
50 | if(scale > 0.99)
51 | {
52 | scale = 1;
53 | lastSwitch = ofGetElapsedTimef();
54 | opening = false;
55 | }
56 | }
57 | }
58 |
59 | //--------------------------------------------------------------
60 | void testApp::draw(){
61 |
62 | if (ofGetElapsedTimef() < 10) {
63 | ofSetColor(40, 100, 100);
64 |
65 | char fpsStr[255]; // an array of chars
66 |
67 | sprintf(fpsStr, "press [f] to \ntoggle fullscreen\nmove mouse horizontaly\nfor speed");
68 | ofDrawBitmapString(fpsStr, ofGetWidth()/2 - 82,ofGetHeight()/2 - 30);
69 | }
70 |
71 |
72 | // uncomment to see the frame - currently framerate limited to 60fps
73 | /*
74 | char fpsStr[255]; // an array of chars
75 | sprintf(fpsStr, "frame rate: %f", ofGetFrameRate());
76 | ofDrawBitmapString(fpsStr, 10,10);
77 | */
78 |
79 | glTranslatef(ofGetWidth()/2,ofGetHeight()/2,0);
80 |
81 | ofScale(scale, scale, 1);
82 |
83 | for (int i=0; i < nrOfCircles; i++)
84 | {
85 | arc* arcObject = arcs.at(i);
86 | arcObject->draw(rotation);
87 | }
88 |
89 | // create screenshot
90 | if (bSnapshot == true){
91 | screenGrabber.grabScreen(0,0,ofGetWidth(),ofGetHeight());
92 | char fileName[255];
93 | sprintf(fileName, "snapshot_%3i.png", snapCounter++);
94 | screenGrabber.saveImage(fileName);
95 | bSnapshot = false;
96 | }
97 | }
98 |
99 |
100 |
101 |
102 | void testApp::createNewArcs()
103 | {
104 | for (int i=0; i < arcs.size(); i++) {
105 | // not sure if cleans out everything...
106 | delete arcs[i];
107 | }
108 | arcs.clear();
109 |
110 | nrOfCircles = 4 + ofRandom(70);
111 |
112 | float innerRadius = 100;
113 | float angle=0;
114 | float cirleAngle =0;
115 | bool clockWise = true;
116 | float lineWidth = 10;
117 | float margin = 0;
118 | float circleStartAngle = 0;
119 |
120 | for (int i=0; i < nrOfCircles; i++) {
121 |
122 | arc* arcObject = new arc();
123 | arcObject->innerRadius = innerRadius;
124 | arcObject->outerRadius = innerRadius + lineWidth;
125 |
126 | angle += ofRandom(0,10) > 2 ? 0.1 : 0;
127 | arcObject->startAngle = angle;
128 |
129 | angle += ofRandom(0.2,4.5);
130 | arcObject->endAngle = angle;
131 |
132 | arcObject->clockwise = clockWise;
133 |
134 | // using negative random values to avoid to much coloring
135 | arcObject->colorBlueStartFactor = ofClamp(ofRandom(-0.4,1.0), 0, 1);
136 | arcObject->colorBlueEndFactor = ofClamp(ofRandom(-0.4,1.0), 0, 1);
137 | arcObject->colorGreenCorrection = ofClamp(ofRandom(-0.4,0.1), 0, 1);
138 |
139 |
140 | if (angle >= ( TWO_PI + circleStartAngle )) {
141 | innerRadius += (margin + lineWidth) ;
142 |
143 | // do correction on last arc
144 | arcObject->endAngle = TWO_PI + circleStartAngle ;
145 |
146 | angle= (angle - ( TWO_PI));
147 | circleStartAngle = angle;
148 | clockWise = ofRandom(10) > 5;
149 |
150 | int lineWidthRandom = ofRandom(20);
151 | if (lineWidthRandom < 3) {
152 | lineWidth = 30;
153 | }else if (lineWidth <10) {
154 | lineWidth = 20;
155 | }else {
156 | lineWidth =10;
157 | }
158 |
159 | //lineWidth = ofRandom(20) > 5 ? 10 : 20;
160 |
161 | int marginRandom = ofRandom(0,20);
162 |
163 | if(marginRandom > 6){
164 | margin =0;
165 | }
166 | else if(marginRandom > 2){
167 | margin =10;
168 | }else
169 | {
170 | margin =30;
171 | }
172 | }
173 |
174 | //cout << arcObject->startAngle << " " << arcObject->endAngle << " angle " << angle << "\n" ;
175 |
176 | arcObject->createMesh();
177 | arcs.push_back(arcObject);
178 |
179 | }
180 | }
181 |
182 |
183 | //--------------------------------------------------------------
184 | void testApp::keyPressed(int key){
185 | if (key == 'f') {
186 | ofToggleFullscreen();
187 | }else if(key == 'p') {
188 | // create a screenshot
189 | bSnapshot = true;
190 | }
191 |
192 | }
193 |
194 | //--------------------------------------------------------------
195 | void testApp::keyReleased(int key){
196 |
197 | }
198 |
199 | //--------------------------------------------------------------
200 | void testApp::mouseMoved(int x, int y ){
201 | rotationSteps= x / (ofGetWidth() / 2.0);
202 | }
203 |
204 | //--------------------------------------------------------------
205 | void testApp::mouseDragged(int x, int y, int button){
206 |
207 | }
208 |
209 | //--------------------------------------------------------------
210 | void testApp::mousePressed(int x, int y, int button){
211 |
212 | }
213 |
214 | //--------------------------------------------------------------
215 | void testApp::mouseReleased(int x, int y, int button){
216 | closing =true;
217 | opening = false;
218 | lastSwitch = ofGetElapsedTimef();
219 |
220 | }
221 |
222 | //--------------------------------------------------------------
223 | void testApp::windowResized(int windowResized, int h){
224 |
225 | }
226 |
227 | //--------------------------------------------------------------
228 | void testApp::gotMessage(ofMessage msg){
229 |
230 | }
231 |
232 | //--------------------------------------------------------------
233 | void testApp::dragEvent(ofDragInfo dragInfo){
234 |
235 | }
--------------------------------------------------------------------------------
/src/testApp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ofMain.h"
4 | #include "arc.h"
5 |
6 | class testApp : public ofBaseApp{
7 |
8 | public:
9 | void setup();
10 | void update();
11 | void draw();
12 |
13 | void keyPressed (int key);
14 | void keyReleased(int key);
15 | void mouseMoved(int x, int y );
16 | void mouseDragged(int x, int y, int button);
17 | void mousePressed(int x, int y, int button);
18 | void mouseReleased(int x, int y, int button);
19 | void windowResized(int w, int h);
20 | void dragEvent(ofDragInfo dragInfo);
21 | void gotMessage(ofMessage msg);
22 |
23 | vector arcs;
24 | void createNewArcs();
25 | int snapCounter;
26 | ofImage screenGrabber;
27 | bool bSnapshot;
28 | char snapString[255];
29 | float scale;
30 |
31 | };
32 |
--------------------------------------------------------------------------------
/tron.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 508E49AD1C6E0C630074886B /* arc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 508E49A91C6E0C630074886B /* arc.cpp */; settings = {ASSET_TAGS = (); }; };
11 | 508E49AE1C6E0C630074886B /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 508E49AB1C6E0C630074886B /* testApp.cpp */; settings = {ASSET_TAGS = (); }; };
12 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
13 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
14 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; };
15 | /* End PBXBuildFile section */
16 |
17 | /* Begin PBXContainerItemProxy section */
18 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
19 | isa = PBXContainerItemProxy;
20 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
21 | proxyType = 2;
22 | remoteGlobalIDString = E4B27C1510CBEB8E00536013;
23 | remoteInfo = openFrameworks;
24 | };
25 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
26 | isa = PBXContainerItemProxy;
27 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
28 | proxyType = 1;
29 | remoteGlobalIDString = E4B27C1410CBEB8E00536013;
30 | remoteInfo = openFrameworks;
31 | };
32 | /* End PBXContainerItemProxy section */
33 |
34 | /* Begin PBXCopyFilesBuildPhase section */
35 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
36 | isa = PBXCopyFilesBuildPhase;
37 | buildActionMask = 2147483647;
38 | dstPath = "";
39 | dstSubfolderSpec = 10;
40 | files = (
41 | );
42 | runOnlyForDeploymentPostprocessing = 0;
43 | };
44 | /* End PBXCopyFilesBuildPhase section */
45 |
46 | /* Begin PBXFileReference section */
47 | 508E49A91C6E0C630074886B /* arc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = arc.cpp; sourceTree = ""; };
48 | 508E49AA1C6E0C630074886B /* arc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arc.h; sourceTree = ""; };
49 | 508E49AB1C6E0C630074886B /* testApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = testApp.cpp; sourceTree = ""; };
50 | 508E49AC1C6E0C630074886B /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = testApp.h; sourceTree = ""; };
51 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
52 | E4B69B5B0A3A1756003C02F2 /* tronDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tronDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
53 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
54 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; };
55 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; };
56 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; };
57 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
58 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; };
59 | /* End PBXFileReference section */
60 |
61 | /* Begin PBXFrameworksBuildPhase section */
62 | E4B69B590A3A1756003C02F2 /* Frameworks */ = {
63 | isa = PBXFrameworksBuildPhase;
64 | buildActionMask = 2147483647;
65 | files = (
66 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
67 | );
68 | runOnlyForDeploymentPostprocessing = 0;
69 | };
70 | /* End PBXFrameworksBuildPhase section */
71 |
72 | /* Begin PBXGroup section */
73 | 6948EE371B920CB800B5AC1A /* local_addons */ = {
74 | isa = PBXGroup;
75 | children = (
76 | );
77 | name = local_addons;
78 | sourceTree = "";
79 | };
80 | BB4B014C10F69532006C3DED /* addons */ = {
81 | isa = PBXGroup;
82 | children = (
83 | );
84 | name = addons;
85 | sourceTree = "";
86 | };
87 | E4328144138ABC890047C5CB /* Products */ = {
88 | isa = PBXGroup;
89 | children = (
90 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
91 | );
92 | name = Products;
93 | sourceTree = "";
94 | };
95 | E4B69B4A0A3A1720003C02F2 = {
96 | isa = PBXGroup;
97 | children = (
98 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
99 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
100 | E4B69E1C0A3A1BDC003C02F2 /* src */,
101 | E4EEC9E9138DF44700A80321 /* openFrameworks */,
102 | BB4B014C10F69532006C3DED /* addons */,
103 | 6948EE371B920CB800B5AC1A /* local_addons */,
104 | E4B69B5B0A3A1756003C02F2 /* tronDebug.app */,
105 | );
106 | sourceTree = "";
107 | };
108 | E4B69E1C0A3A1BDC003C02F2 /* src */ = {
109 | isa = PBXGroup;
110 | children = (
111 | 508E49A91C6E0C630074886B /* arc.cpp */,
112 | 508E49AA1C6E0C630074886B /* arc.h */,
113 | 508E49AB1C6E0C630074886B /* testApp.cpp */,
114 | 508E49AC1C6E0C630074886B /* testApp.h */,
115 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
116 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */,
117 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */,
118 | );
119 | path = src;
120 | sourceTree = SOURCE_ROOT;
121 | };
122 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
123 | isa = PBXGroup;
124 | children = (
125 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
126 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
127 | );
128 | name = openFrameworks;
129 | sourceTree = "";
130 | };
131 | /* End PBXGroup section */
132 |
133 | /* Begin PBXNativeTarget section */
134 | E4B69B5A0A3A1756003C02F2 /* tron */ = {
135 | isa = PBXNativeTarget;
136 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "tron" */;
137 | buildPhases = (
138 | E4B69B580A3A1756003C02F2 /* Sources */,
139 | E4B69B590A3A1756003C02F2 /* Frameworks */,
140 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
141 | E4C2427710CC5ABF004149E2 /* CopyFiles */,
142 | 8466F1851C04CA0E00918B1C /* ShellScript */,
143 | );
144 | buildRules = (
145 | );
146 | dependencies = (
147 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
148 | );
149 | name = tron;
150 | productName = myOFApp;
151 | productReference = E4B69B5B0A3A1756003C02F2 /* tronDebug.app */;
152 | productType = "com.apple.product-type.application";
153 | };
154 | /* End PBXNativeTarget section */
155 |
156 | /* Begin PBXProject section */
157 | E4B69B4C0A3A1720003C02F2 /* Project object */ = {
158 | isa = PBXProject;
159 | attributes = {
160 | LastUpgradeCheck = 0600;
161 | };
162 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "tron" */;
163 | compatibilityVersion = "Xcode 3.2";
164 | developmentRegion = English;
165 | hasScannedForEncodings = 0;
166 | knownRegions = (
167 | English,
168 | Japanese,
169 | French,
170 | German,
171 | );
172 | mainGroup = E4B69B4A0A3A1720003C02F2;
173 | productRefGroup = E4B69B4A0A3A1720003C02F2;
174 | projectDirPath = "";
175 | projectReferences = (
176 | {
177 | ProductGroup = E4328144138ABC890047C5CB /* Products */;
178 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
179 | },
180 | );
181 | projectRoot = "";
182 | targets = (
183 | E4B69B5A0A3A1756003C02F2 /* tron */,
184 | );
185 | };
186 | /* End PBXProject section */
187 |
188 | /* Begin PBXReferenceProxy section */
189 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
190 | isa = PBXReferenceProxy;
191 | fileType = archive.ar;
192 | path = openFrameworksDebug.a;
193 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
194 | sourceTree = BUILT_PRODUCTS_DIR;
195 | };
196 | /* End PBXReferenceProxy section */
197 |
198 | /* Begin PBXShellScriptBuildPhase section */
199 | 8466F1851C04CA0E00918B1C /* ShellScript */ = {
200 | isa = PBXShellScriptBuildPhase;
201 | buildActionMask = 12;
202 | files = (
203 | );
204 | inputPaths = (
205 | );
206 | outputPaths = (
207 | );
208 | runOnlyForDeploymentPostprocessing = 0;
209 | shellPath = /bin/sh;
210 | shellScript = "# ---- Code Sign App Package ----\n \n# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY!\n\n# Verify that $CODE_SIGN_IDENTITY is set\nif [ -z \"${CODE_SIGN_IDENTITY}\" ] ; then\necho \"CODE_SIGN_IDENTITY needs to be set for framework code-signing\"\nexit 0\nfi\n\nif [ -z \"${CODE_SIGN_ENTITLEMENTS}\" ] ; then\necho \"CODE_SIGN_ENTITLEMENTS needs to be set for framework code-signing!\"\n\nif [ \"${CONFIGURATION}\" = \"Release\" ] ; then\nexit 1\nelse\n# Code-signing is optional for non-release builds.\nexit 0\nfi\nfi\n\nITEMS=\"\"\n\nFRAMEWORKS_DIR=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\necho \"$FRAMEWORKS_DIR\"\nif [ -d \"$FRAMEWORKS_DIR\" ] ; then\nFRAMEWORKS=$(find \"${FRAMEWORKS_DIR}\" -depth -type d -name \"*.framework\" -or -name \"*.dylib\" -or -name \"*.bundle\" | sed -e \"s/\\(.*framework\\)/\\1\\/Versions\\/A\\//\")\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\nexit 1\nfi\n\nITEMS=\"${FRAMEWORKS}\"\nfi\n\nLOGINITEMS_DIR=\"${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LoginItems/\"\nif [ -d \"$LOGINITEMS_DIR\" ] ; then\nLOGINITEMS=$(find \"${LOGINITEMS_DIR}\" -depth -type d -name \"*.app\")\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\nexit 1\nfi\n\nITEMS=\"${ITEMS}\"$'\\n'\"${LOGINITEMS}\"\nfi\n\n# Prefer the expanded name, if available.\nCODE_SIGN_IDENTITY_FOR_ITEMS=\"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\nif [ \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\" = \"\" ] ; then\n# Fall back to old behavior.\nCODE_SIGN_IDENTITY_FOR_ITEMS=\"${CODE_SIGN_IDENTITY}\"\nfi\n\necho \"Identity:\"\necho \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\"\n\necho \"Entitlements:\"\necho \"${CODE_SIGN_ENTITLEMENTS}\"\n\necho \"Found:\"\necho \"${ITEMS}\"\n\n# Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below.\nSAVED_IFS=$IFS\nIFS=$(echo -en \"\\n\\b\")\n\n# Loop through all items.\nfor ITEM in $ITEMS;\ndo\necho \"Signing '${ITEM}'\"\ncodesign --force --verbose --sign \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\" --entitlements \"${CODE_SIGN_ENTITLEMENTS}\" \"${ITEM}\"\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\necho \"Failed to sign '${ITEM}'.\"\nIFS=$SAVED_IFS\nexit 1\nfi\ndone\n\n# Restore $IFS.\nIFS=$SAVED_IFS\n";
211 | };
212 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
213 | isa = PBXShellScriptBuildPhase;
214 | buildActionMask = 2147483647;
215 | files = (
216 | );
217 | inputPaths = (
218 | );
219 | outputPaths = (
220 | );
221 | runOnlyForDeploymentPostprocessing = 0;
222 | shellPath = /bin/sh;
223 | shellScript = "mkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n# Copy default icon file into App/Resources\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n# Copy bin/data into App/Resources\nrsync -avz --exclude='.DS_Store' \"${SRCROOT}/bin/data/\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data/\"\n# Copy libfmod and change install directory for fmod to run\nrsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\";\ninstall_name_tool -change @executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\n# Copy GLUT framework (must remove for AppStore submissions)\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\"\n";
224 | };
225 | /* End PBXShellScriptBuildPhase section */
226 |
227 | /* Begin PBXSourcesBuildPhase section */
228 | E4B69B580A3A1756003C02F2 /* Sources */ = {
229 | isa = PBXSourcesBuildPhase;
230 | buildActionMask = 2147483647;
231 | files = (
232 | 508E49AD1C6E0C630074886B /* arc.cpp in Sources */,
233 | 508E49AE1C6E0C630074886B /* testApp.cpp in Sources */,
234 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
235 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */,
236 | );
237 | runOnlyForDeploymentPostprocessing = 0;
238 | };
239 | /* End PBXSourcesBuildPhase section */
240 |
241 | /* Begin PBXTargetDependency section */
242 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
243 | isa = PBXTargetDependency;
244 | name = openFrameworks;
245 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
246 | };
247 | /* End PBXTargetDependency section */
248 |
249 | /* Begin XCBuildConfiguration section */
250 | E4B69B4E0A3A1720003C02F2 /* Debug */ = {
251 | isa = XCBuildConfiguration;
252 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
253 | buildSettings = {
254 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
255 | COPY_PHASE_STRIP = NO;
256 | DEAD_CODE_STRIPPING = YES;
257 | GCC_AUTO_VECTORIZATION = YES;
258 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
259 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
260 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
261 | GCC_OPTIMIZATION_LEVEL = 0;
262 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
263 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
264 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
265 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
266 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
267 | GCC_WARN_UNUSED_VALUE = NO;
268 | GCC_WARN_UNUSED_VARIABLE = NO;
269 | MACOSX_DEPLOYMENT_TARGET = 10.8;
270 | ONLY_ACTIVE_ARCH = YES;
271 | OTHER_CPLUSPLUSFLAGS = (
272 | "-D__MACOSX_CORE__",
273 | "-mtune=native",
274 | );
275 | SDKROOT = macosx;
276 | };
277 | name = Debug;
278 | };
279 | E4B69B4F0A3A1720003C02F2 /* Release */ = {
280 | isa = XCBuildConfiguration;
281 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
282 | buildSettings = {
283 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
284 | COPY_PHASE_STRIP = YES;
285 | DEAD_CODE_STRIPPING = YES;
286 | GCC_AUTO_VECTORIZATION = YES;
287 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
288 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
289 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
290 | GCC_OPTIMIZATION_LEVEL = 3;
291 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
292 | GCC_UNROLL_LOOPS = YES;
293 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
294 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
295 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
296 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
297 | GCC_WARN_UNUSED_VALUE = NO;
298 | GCC_WARN_UNUSED_VARIABLE = NO;
299 | MACOSX_DEPLOYMENT_TARGET = 10.8;
300 | OTHER_CPLUSPLUSFLAGS = (
301 | "-D__MACOSX_CORE__",
302 | "-mtune=native",
303 | );
304 | SDKROOT = macosx;
305 | };
306 | name = Release;
307 | };
308 | E4B69B600A3A1757003C02F2 /* Debug */ = {
309 | isa = XCBuildConfiguration;
310 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
311 | buildSettings = {
312 | COMBINE_HIDPI_IMAGES = YES;
313 | COPY_PHASE_STRIP = NO;
314 | FRAMEWORK_SEARCH_PATHS = (
315 | "$(inherited)",
316 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
317 | );
318 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
319 | GCC_DYNAMIC_NO_PIC = NO;
320 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
321 | GCC_MODEL_TUNING = NONE;
322 | ICON = "$(ICON_NAME_DEBUG)";
323 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
324 | INFOPLIST_FILE = "openFrameworks-Info.plist";
325 | INSTALL_PATH = /Applications;
326 | LIBRARY_SEARCH_PATHS = "$(inherited)";
327 | PRODUCT_NAME = "$(TARGET_NAME)Debug";
328 | WRAPPER_EXTENSION = app;
329 | };
330 | name = Debug;
331 | };
332 | E4B69B610A3A1757003C02F2 /* Release */ = {
333 | isa = XCBuildConfiguration;
334 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
335 | buildSettings = {
336 | COMBINE_HIDPI_IMAGES = YES;
337 | COPY_PHASE_STRIP = YES;
338 | FRAMEWORK_SEARCH_PATHS = (
339 | "$(inherited)",
340 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
341 | );
342 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
343 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
344 | GCC_MODEL_TUNING = NONE;
345 | ICON = "$(ICON_NAME_RELEASE)";
346 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
347 | INFOPLIST_FILE = "openFrameworks-Info.plist";
348 | INSTALL_PATH = /Applications;
349 | LIBRARY_SEARCH_PATHS = "$(inherited)";
350 | PRODUCT_NAME = "$(TARGET_NAME)";
351 | WRAPPER_EXTENSION = app;
352 | baseConfigurationReference = E4EB6923138AFD0F00A09F29;
353 | };
354 | name = Release;
355 | };
356 | /* End XCBuildConfiguration section */
357 |
358 | /* Begin XCConfigurationList section */
359 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "tron" */ = {
360 | isa = XCConfigurationList;
361 | buildConfigurations = (
362 | E4B69B4E0A3A1720003C02F2 /* Debug */,
363 | E4B69B4F0A3A1720003C02F2 /* Release */,
364 | );
365 | defaultConfigurationIsVisible = 0;
366 | defaultConfigurationName = Release;
367 | };
368 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "tron" */ = {
369 | isa = XCConfigurationList;
370 | buildConfigurations = (
371 | E4B69B600A3A1757003C02F2 /* Debug */,
372 | E4B69B610A3A1757003C02F2 /* Release */,
373 | );
374 | defaultConfigurationIsVisible = 0;
375 | defaultConfigurationName = Release;
376 | };
377 | /* End XCConfigurationList section */
378 | };
379 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
380 | }
381 |
--------------------------------------------------------------------------------
/tron.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/tron.xcodeproj/project.xcworkspace/xcuserdata/zuppaman.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lab101/tronCircles/afedd59e8fcc43f89f8c901ebf38c498e49ca5e5/tron.xcodeproj/project.xcworkspace/xcuserdata/zuppaman.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/tron.xcodeproj/xcshareddata/xcschemes/tron Debug.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
69 |
70 |
76 |
77 |
78 |
79 |
81 |
82 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/tron.xcodeproj/xcshareddata/xcschemes/tron Release.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
69 |
70 |
76 |
77 |
78 |
79 |
81 |
82 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/tron.xcodeproj/xcuserdata/zuppaman.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SuppressBuildableAutocreation
6 |
7 | E4B69B5A0A3A1756003C02F2
8 |
9 | primary
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------