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