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
|
#pragma once
#include "ofMain.h"
#include "ofxSvg.h"
#include "lineSegmenter.h"
#include "ofxClipper.h"
#include "ofxSyphon.h"
#include "ofxOpenCv.h"
#include "ofxHelios.h"
class ofApp : public ofBaseApp{
public:
void setup();
void update();
void updateOutput(ofEventArgs & args);
void draw();
void drawOutput(ofEventArgs & args);
void exit();
void outputKeyPressed(ofKeyEventArgs & args);
void keyPressed(ofKeyEventArgs &keyargs);
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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void outputWindowResized(ofResizeEventArgs &resizeargs);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
vector <lineSegmenter> segmenters;
vector <lineSegmenter> masksegmenters;
vector <ofPolyline> mask;
int numsegments;
float coverage;
int mode;
vector <ofPath> imagepaths;
vector <ofPath> maskpaths;
ofx::Clipper clipper;
ofxSyphonServer mainOutputSyphonServer;
ofVideoPlayer movie;
ofxCvColorImage colorImg;
ofxCvGrayscaleImage grayImage;
ofxCvContourFinder contourFinder;
int threshold;
void serverAnnounced(ofxSyphonServerDirectoryEventArgs &arg);
void serverUpdated(ofxSyphonServerDirectoryEventArgs &args);
void serverRetired(ofxSyphonServerDirectoryEventArgs &arg);
ofxSyphonServerDirectory dir;
ofxSyphonClient client;
int dirIdx;
ofFbo syphonFbo;
ofxHelios laser;
void drawWarpFrame();
void gaussianElimination(float * input, int n);
glm::mat4 getPerspectiveTransformMatrix(const glm::vec2 src[4], const glm::vec2 dst[4]);
ofPolyline polyLineTransform(const ofPolyline& poly, ofMatrix4x4 xform);
ofPolyline makePolygon(int num,float diam);
void drawPoly(ofPolyline poly,float x,float y);
glm::vec2 warpframe[4];
int select_warpframe;
float mapping_scale;
bool bDrawFrame;
};
|