summaryrefslogtreecommitdiff
path: root/ofxHelios/example/src
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2018-01-28 22:20:49 +0000
committerTim Redfern <tim@getdrop.com>2018-01-28 22:20:49 +0000
commit64c89ab53447a004002ec0b0db94fd0a1e632cf6 (patch)
tree65ce3b4802bbb0656cc1a8c843c81d7a3fcda8c9 /ofxHelios/example/src
parent404746784ce6ef2b87c396a12451947fee28b244 (diff)
POC driver
Diffstat (limited to 'ofxHelios/example/src')
-rw-r--r--ofxHelios/example/src/main.cpp12
-rw-r--r--ofxHelios/example/src/ofApp.cpp123
-rw-r--r--ofxHelios/example/src/ofApp.h25
3 files changed, 160 insertions, 0 deletions
diff --git a/ofxHelios/example/src/main.cpp b/ofxHelios/example/src/main.cpp
new file mode 100644
index 0000000..fc3ded3
--- /dev/null
+++ b/ofxHelios/example/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/src/ofApp.cpp b/ofxHelios/example/src/ofApp.cpp
new file mode 100644
index 0000000..e629ae0
--- /dev/null
+++ b/ofxHelios/example/src/ofApp.cpp
@@ -0,0 +1,123 @@
+#include "ofApp.h"
+
+int MAX_POINTS=30000;
+int NUM_POINTS=1024;
+int LASER_INTENSITY=37;
+
+//--------------------------------------------------------------
+void testApp::setup(){
+ laser.set_pts(MAX_POINTS);
+ laser.set_intensity(LASER_INTENSITY);
+}
+
+//--------------------------------------------------------------
+void testApp::update(){
+ ofSetWindowTitle(ofToString(ofGetFrameRate(), 2));
+
+}
+
+//--------------------------------------------------------------
+void testApp::draw(){
+ ofBackground(0);
+ ofSetColor(255,255,255);
+/*
+ if (line.size()){
+ current++;
+ }
+ ofPolyline todraw;
+ for (int i=max(0,min(current,(int)line.size())) ;i<line.size();i++){
+ todraw.addVertex(line[i]);
+ }
+
+ what should the default coordinate system be?
+ centred?
+
+ the coordinate system goes from 0-4096 in X and Y
+ It's preferable that drawing is centred around 2000
+
+ Let's offset the centre of the screen to 0 and draw natively from there
+ Let's apply a scaling factor which can increase coords
+ And a calibration/ warp
+
+ The aim is to be able to preview in any size window
+
+
+ todraw.draw();
+ */
+
+ float pfactor=(PI*2)/NUM_POINTS;
+
+ colourPolyline line;
+
+
+ for (int i=0;i<NUM_POINTS;i++){
+ line.addVertex(
+ ((cos(float(i)*pfactor)+1)*512),
+ ((sin(float(i)*pfactor)+1)*512),
+ (sin(float(i+(ofGetElapsedTimef()*30))*pfactor)+1)*128,
+ (sin(float(i+(ofGetElapsedTimef()*57))*pfactor)+1)*128,
+ (sin(float(i+(ofGetElapsedTimef()*101))*pfactor)+1)*128
+ );
+ }
+
+ line.draw();
+
+ laser.draw(line);
+
+}
+
+//--------------------------------------------------------------
+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/src/ofApp.h b/ofxHelios/example/src/ofApp.h
new file mode 100644
index 0000000..745599b
--- /dev/null
+++ b/ofxHelios/example/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;
+
+};