summaryrefslogtreecommitdiff
path: root/ofxHelios/example-squares/src
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2018-01-30 00:35:30 +0000
committerTim Redfern <tim@getdrop.com>2018-01-30 00:35:30 +0000
commitd60cc2aa2994f9e63d9570bea4fac8b8a9949b43 (patch)
treebc333e74981e1a4bdae2bdc5faf31655033f653f /ofxHelios/example-squares/src
parent512d5703e4e1affc1dc5dcd9f2892ac5944c666f (diff)
much progress
Diffstat (limited to 'ofxHelios/example-squares/src')
-rw-r--r--ofxHelios/example-squares/src/main.cpp12
-rw-r--r--ofxHelios/example-squares/src/ofApp.cpp115
-rw-r--r--ofxHelios/example-squares/src/ofApp.h25
3 files changed, 152 insertions, 0 deletions
diff --git a/ofxHelios/example-squares/src/main.cpp b/ofxHelios/example-squares/src/main.cpp
new file mode 100644
index 0000000..fc3ded3
--- /dev/null
+++ b/ofxHelios/example-squares/src/main.cpp
@@ -0,0 +1,12 @@
+#include "ofMain.h"
+#include "ofApp.h"
+
+//========================================================================
+int main( ){
+ ofSetupOpenGL(1024,1024,OF_WINDOW);
+ // this kicks off the running of my app
+ // can be OF_WINDOW or OF_FULLSCREEN
+ // pass in width and height too:
+ ofRunApp( new testApp());
+
+}
diff --git a/ofxHelios/example-squares/src/ofApp.cpp b/ofxHelios/example-squares/src/ofApp.cpp
new file mode 100644
index 0000000..bddbc58
--- /dev/null
+++ b/ofxHelios/example-squares/src/ofApp.cpp
@@ -0,0 +1,115 @@
+#include "ofApp.h"
+
+int MAX_POINTS=20000;
+int LASER_INTENSITY=37;
+
+
+//--------------------------------------------------------------
+void testApp::setup(){
+ laser.set_pts(MAX_POINTS);
+ laser.set_intensity(LASER_INTENSITY);
+}
+
+//--------------------------------------------------------------
+void testApp::update(){
+
+
+}
+
+ofPolyline polyLineTransform(const ofPolyline& poly, ofMatrix4x4 xform){
+ ofPolyline tempPoly;
+ for (auto& p:poly){
+ tempPoly.addVertex(ofVec3f(p)*xform);
+ }
+ return tempPoly;
+}
+
+ofPolyline makePolygon(int num,float diam){
+ ofPolyline poly;
+ float step=PI*2/num;
+ for (int i=0;i<=num;i++){
+ poly.addVertex(cos(step*i)*diam,sin(step*i)*diam);
+ }
+ return poly;
+}
+
+//--------------------------------------------------------------
+void testApp::draw(){
+ ofBackground(0);
+ ofSetColor(255,255,255);
+
+ ofMatrix4x4 m = ofMatrix4x4::newIdentityMatrix();
+ m.rotateRad(ofGetElapsedTimef(),0,0,1);
+ m.translate(ofGetWidth()/2,ofGetHeight()/2,0);
+ ofPolyline square=polyLineTransform(makePolygon(4,200),m);
+
+ square.draw();
+
+ int num = laser.draw(square);
+
+ if (num>0){
+ ofSetWindowTitle(ofToString(ofGetFrameRate(), 2)+" fps laser points: "+ofToString(num));
+ }
+ else {
+ ofSetWindowTitle("laser error ");
+ }
+
+
+
+}
+
+//--------------------------------------------------------------
+void testApp::keyPressed(int key){
+
+}
+
+//--------------------------------------------------------------
+void testApp::keyReleased(int key){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseMoved(int x, int y ){
+
+
+
+ /// int i = 1;
+ /// while ( i<bounds.size()) {
+ /// float angle = atan2(line[i-1].y - line[i].y, line[i-1].x - line[i].x);
+ /// bounds[i].set(bounds[i-1].x - cos(angle) * 20, bounds[i-1].y - sin(angle) * 20);
+ /// i++;
+ /// }
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseDragged(int x, int y, int button){
+ //line.addVertex(x, y);
+}
+
+//--------------------------------------------------------------
+void testApp::mousePressed(int x, int y, int button){
+
+ //line.clear();
+ //current=-100;
+}
+
+//--------------------------------------------------------------
+void testApp::mouseReleased(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::windowResized(int w, int h){
+
+}
+
+//--------------------------------------------------------------
+void testApp::gotMessage(ofMessage msg){
+
+}
+
+//--------------------------------------------------------------
+void testApp::dragEvent(ofDragInfo dragInfo){
+
+}
diff --git a/ofxHelios/example-squares/src/ofApp.h b/ofxHelios/example-squares/src/ofApp.h
new file mode 100644
index 0000000..745599b
--- /dev/null
+++ b/ofxHelios/example-squares/src/ofApp.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "ofMain.h"
+#include "ofxHelios.h"
+
+class testApp : public ofBaseApp{
+
+ public:
+ void setup();
+ void update();
+ void draw();
+
+ void keyPressed (int key);
+ 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 windowResized(int w, int h);
+ void dragEvent(ofDragInfo dragInfo);
+ void gotMessage(ofMessage msg);
+
+ ofxHelios laser;
+
+};