summaryrefslogtreecommitdiff
path: root/nditest/src/ofApp.cpp
blob: e8e6422221e2d556cd06db3f960ece3c419d0b2a (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
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){ 

}