summaryrefslogtreecommitdiff
path: root/ofxHelios/example/src/ofApp.cpp
blob: e629ae0e3406a803f4b75e2355d068182a477c12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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){ 

}