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
124
125
126
127
128
|
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup()
{
ofSetLogLevel(OF_LOG_NOTICE);
ofBackground(ofColor::black);
NDI.init();
int framenum=0;
}
//--------------------------------------------------------------
void ofApp::exit()
{
NDI.stopThread();
}
//--------------------------------------------------------------
void ofApp::update()
{
}
ofPolyline ofApp::polyLineTransform(const ofPolyline& poly, ofMatrix4x4 xform){
ofPolyline tempPoly;
for (auto& p:poly){
tempPoly.addVertex(ofVec3f(p)*xform);
}
return tempPoly;
}
ofPolyline ofApp::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 ofApp::drawPoly(ofPolyline poly,float x,float y){
glPushMatrix();
ofTranslate(x,y);
poly.draw();
for (int i=0;i<poly.size();i++){
ofDrawBitmapString(poly.getDegreesAtIndex(i),poly[i].x+10,poly[i].y+10,0);
}
glPopMatrix();
}
//--------------------------------------------------------------
void ofApp::draw(){
ofBackground(0,0,0);
ofSetColor(255,255,255);
ofMatrix4x4 m = ofMatrix4x4::newIdentityMatrix();
m.rotateRad(ofGetElapsedTimef(),0,0,1);
m.translate(ofGetWidth()/2,ofGetHeight()/2,0);
drawPoly(polyLineTransform(makePolygon(4,200),m),200,200);
drawPoly(polyLineTransform(makePolygon(5,200),m),-200,200);
drawPoly(polyLineTransform(makePolygon(6,200),m),-200,-200);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key)
{
switch(key){
case 'c':{
if (NDI.connect()==0){
printf("no connection\n");
}
else printf("connected\n");
}
}
}
//--------------------------------------------------------------
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::gotMessage(ofMessage msg){
}
//--------------------------------------------------------------
void ofApp::dragEvent(ofDragInfo dragInfo){
}
|