summaryrefslogtreecommitdiff
path: root/drawing/src
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2018-01-17 00:15:21 +0000
committerTim Redfern <tim@getdrop.com>2018-01-17 00:15:21 +0000
commit84b99181e804430acedb94ba848a801ffc33e15a (patch)
tree71492826404c3aa8a5841d3bb2614b9912e9e85f /drawing/src
initial commit
Diffstat (limited to 'drawing/src')
-rw-r--r--drawing/src/lineSegmenter.cpp15
-rw-r--r--drawing/src/lineSegmenter.h14
-rw-r--r--drawing/src/main.cpp22
-rw-r--r--drawing/src/ofApp.cpp128
-rw-r--r--drawing/src/ofApp.h35
5 files changed, 214 insertions, 0 deletions
diff --git a/drawing/src/lineSegmenter.cpp b/drawing/src/lineSegmenter.cpp
new file mode 100644
index 0000000..f848272
--- /dev/null
+++ b/drawing/src/lineSegmenter.cpp
@@ -0,0 +1,15 @@
+#include "lineSegmenter.h"
+
+const vector <ofPolyline> & lineSegmenter::getSegments(int num,float coverage, float phase) const{
+ segments.clear();
+
+ float spacing=1.0f/num;
+
+ for (int i=0;i<num;i++){
+ float endIndex=line.getIndexAtPercent(phase+(i*spacing));
+ }
+
+ float endlength=line.getIndex
+
+ return segments;
+} \ No newline at end of file
diff --git a/drawing/src/lineSegmenter.h b/drawing/src/lineSegmenter.h
new file mode 100644
index 0000000..15797a1
--- /dev/null
+++ b/drawing/src/lineSegmenter.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "ofMain.h"
+
+class lineSegmenter{
+ public:
+ lineSegmenter(ofPolyline &_line){
+ line=_line;
+ }
+ const vector <ofPolyline> &getSegments(int num,float coverage, float phase) const;
+ private:
+ ofPolyline line;
+ vector <ofPolyline> segments;
+}; \ No newline at end of file
diff --git a/drawing/src/main.cpp b/drawing/src/main.cpp
new file mode 100644
index 0000000..0d7049c
--- /dev/null
+++ b/drawing/src/main.cpp
@@ -0,0 +1,22 @@
+#include "ofMain.h"
+#include "ofApp.h"
+
+
+//========================================================================
+int main(int argc, char *argv[]){
+
+
+ ofGLFWWindowSettings settings;
+
+
+ settings.width = 800;
+ settings.height = 800;
+
+ shared_ptr<ofAppBaseWindow> mainWindow = ofCreateWindow(settings);
+
+ shared_ptr<ofApp> mainApp(new ofApp);
+
+ ofRunApp(mainWindow, mainApp);
+ ofRunMainLoop();
+}
+ \ No newline at end of file
diff --git a/drawing/src/ofApp.cpp b/drawing/src/ofApp.cpp
new file mode 100644
index 0000000..f4a00b5
--- /dev/null
+++ b/drawing/src/ofApp.cpp
@@ -0,0 +1,128 @@
+#include "ofApp.h"
+#include "glew.h"
+
+
+//--------------------------------------------------------------
+void ofApp::setup(){
+ ofxSVG svg;
+ svg.load("shapes.svg");
+ vector <ofPath> paths= svg.getPaths();
+
+ for (int i=0;i<paths.size();i++){
+
+ paths[i].setMode(ofPath::COMMANDS);
+
+ vector <ofPolyline> outlines= paths[i].getOutline();
+
+ for (int j=0;j<outlines.size();j++){
+ segments.push_back(lineSegmenter(outlines[j]));
+ }
+
+ }
+
+ cout << "Found " << segments.size() << " segments";
+
+ ofSetFrameRate(30);
+}
+
+//--------------------------------------------------------------
+void ofApp::update(){
+
+
+
+}
+
+
+
+//--------------------------------------------------------------
+void ofApp::draw(){
+ ofBackground(0,0,0);
+ ofSetColor(255,255,255);
+
+ glTranslatef(128,128,0);
+
+
+
+
+
+
+
+ //svg.draw();
+
+ std::stringstream strm;
+ strm << "segments: "<<segments.size();
+ ofSetWindowTitle(strm.str());
+
+}
+
+
+//--------------------------------------------------------------
+void ofApp::exit() {
+
+}
+
+
+
+//--------------------------------------------------------------
+void ofApp::keyPressed(ofKeyEventArgs &args){
+
+
+
+}
+
+
+
+//--------------------------------------------------------------
+void ofApp::keyReleased(int key){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mouseMoved(int x, int y ){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mouseDragged(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mousePressed(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mouseReleased(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mouseEntered(int x, int y){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::mouseExited(int x, int y){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::windowResized(int w, int h){
+
+}
+
+void ofApp::outputWindowResized(ofResizeEventArgs &resizeargs){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::gotMessage(ofMessage msg){
+
+}
+
+//--------------------------------------------------------------
+void ofApp::dragEvent(ofDragInfo dragInfo){
+
+
+}
diff --git a/drawing/src/ofApp.h b/drawing/src/ofApp.h
new file mode 100644
index 0000000..05d4441
--- /dev/null
+++ b/drawing/src/ofApp.h
@@ -0,0 +1,35 @@
+#pragma once
+
+#include "ofMain.h"
+#include "ofxSvg.h"
+#include "lineSegmenter.h"
+
+
+class ofApp : public ofBaseApp{
+
+ public:
+ void setup();
+ void update();
+ void updateOutput(ofEventArgs & args);
+ void draw();
+ void drawOutput(ofEventArgs & args);
+ void exit();
+
+ void outputKeyPressed(ofKeyEventArgs & args);
+
+ void keyPressed(ofKeyEventArgs &keyargs);
+ void keyReleased(int key);
+ void mouseMoved(int x, int y );
+ void mouseDragged(int x, int y, int button);
+ void mousePressed(int x, int y, int button);
+ void mouseReleased(int x, int y, int button);
+ void mouseEntered(int x, int y);
+ void mouseExited(int x, int y);
+ void windowResized(int w, int h);
+ void outputWindowResized(ofResizeEventArgs &resizeargs);
+ void dragEvent(ofDragInfo dragInfo);
+ void gotMessage(ofMessage msg);
+
+ vector <lineSegmenter> segments;
+
+};