Showing preview only (6,647K chars total). Download the full file or copy to clipboard to get everything.
Repository: lewislepton/openFrameworksTutorialSeries
Branch: master
Commit: de396349bf89
Files: 302
Total size: 6.3 MB
Directory structure:
gitextract_v7wr2kin/
├── 001_projectSetup/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 003_2DShapes/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 004_3DShapes/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 005_translate/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 006_color/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 007_image/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 008_text/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 009_font/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 010_audio/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 011_video/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 012_webcam/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 013_keyboard/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 014_mouse/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 015_smoothing/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 016_screenshot/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 017_ofxGui/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 018_ofParameter/
│ ├── addons.make
│ └── src/
│ ├── Circle.cpp
│ ├── Circle.hpp
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 019_ofEasyCam/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 020_rotation/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 021_ofxOsc/
│ ├── 021_ofxOsc.jzml
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 022_dragDrop/
│ ├── bin/
│ │ └── data/
│ │ └── .gitkeep
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 023_fullscreen/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 024_ofFbo/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 025_lineDrawing/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 026_projectDraw/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 027_3DModels/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ ├── object.dae
│ │ ├── object.fbx
│ │ ├── object.obj
│ │ └── object.ply
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 028_ofxOpenCv/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 029_ofxOpenCvContour/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 030_ofxOpenCvHaar/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ └── haarcascade_frontalface_default.xml
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 031_ofxPS3EyeGrabber/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 032_ofxPS3EyeGrabberHaar/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ └── haarcascade_frontalface_default.xml
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 033_ofxKinect/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 034_ofxKinectHaar/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ └── haarcascade_frontalface_default.xml
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 035_ofxKinectV2/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 036_ofxKinectV2Haar/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ └── haarcascade_frontalface_default.xml
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 037_videoTexturePixels/
│ ├── bin/
│ │ └── data/
│ │ └── .gitkeep
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 038_ofNoise/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 039_videoPlayerGui/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 040_ofxCv/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 041_ofxCvCameras/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 042_ofxCvHaar/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ └── haarcascade_frontalface_default.xml
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 043_ofShader/
│ ├── bin/
│ │ └── data/
│ │ ├── shader.frag
│ │ └── shader.vert
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 044_ofShaderUniform/
│ ├── bin/
│ │ └── data/
│ │ ├── .gitkeep
│ │ ├── shader.frag
│ │ └── shader.vert
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 045_ofxShader/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── shader.frag
│ │ └── shader.vert
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 046_ofxBox2d/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 047_audioReactive/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 048_audioReactivePolyline/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 049_interactLinesKinect/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 050_box2dKinectInteractive/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 051_polylineDifferenceInteractive/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 052_ofShaderChromaKey/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── shader.frag
│ │ └── shader.vert
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 053_ofxCvBlurEffects/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 054_ofxDelaunay/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 055_ofLight/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 056_ofxPostProcessing/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 057_ofxSequencer/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 058_ofxMidi/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 059_ofxHapPlayer/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 060_constellationControl/
│ ├── 060_constellationControl.touchosc
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 061_mosaicCircles/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 062_polygonShapes/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 063_visualStudioCode/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 064_funWithTriangles/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 065_colorDropper/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 066_colorTracking/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 067_meshNoise/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 068_ofxFFmpegRecorder/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ └── linux/
│ │ ├── ffmpeg_4.1.4-1build2.debian.tar.xz
│ │ └── ffmpeg_4.1.4.orig.tar.xz
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 069_circleLoop/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 070_cylinderLoop/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 071_crossLoop/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 072_rectangleLoop/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 073_rectangleLoop02/
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 074_torusLoop/
│ ├── addons.make
│ ├── bin/
│ │ └── data/
│ │ ├── torus.mtl
│ │ └── torus.obj
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── 075_rectangleLoop03/
│ ├── addons.make
│ └── src/
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── LICENSE
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: 001_projectSetup/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 001_projectSetup/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
for (int i = 0; i < 10; i++) {
ofLog();
}
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 001_projectSetup/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 003_2DShapes/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 003_2DShapes/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofNoFill();
ofDrawRectangle(64, 64, 64, 64);
ofDrawCircle(192, 96, 32);
ofDrawLine(256, 64, 320, 128);
ofDrawTriangle(352, 128, 384, 64, 416, 128);
ofDrawEllipse(512, 96, 128, 64);
ofDrawRectRounded(608, 64, 64, 64, 9);
ofDrawBezier(704, 64, 736, 128, 768, 160, 800, 64);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 003_2DShapes/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 004_3DShapes/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 004_3DShapes/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofNoFill();
ofDrawBox(64, 256, 0, 64, 64, 64);
ofDrawCone(160, 256, 0, 32, 128);
ofDrawCylinder(256, 256, 32, 128);
ofDrawIcoSphere(352, 256, 0, 32);
ofDrawPlane(448, 256, 64, 64);
ofDrawSphere(544, 256, 32);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 004_3DShapes/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 005_translate/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 005_translate/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofTranslate(0, 0);
ofDrawCircle(128, 128, 64);
ofTranslate(ofGetWidth() / 2, ofGetHeight() / 2);
ofDrawCircle(0, 0, 64);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 005_translate/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 006_color/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 006_color/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
// ofSetBackgroundColor(100);
ofBackground(100, 100, 160);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofSetColor(130);
ofDrawCircle(ofGetWidth() / 2, ofGetHeight() / 2, 128);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 006_color/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 007_image/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 007_image/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
image.load("logocircle.png");
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
image.draw(ofGetWidth() / 2 - image.getWidth() / 2, ofGetHeight() / 2 - image.getHeight() / 2);
image.resize(200, 200);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 007_image/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofImage image;
};
================================================
FILE: 008_text/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 008_text/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofSetColor(60);
ofDrawBitmapString("hello lewis you coding person you", 300, 300);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 008_text/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 009_font/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 009_font/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
font.load("arial.ttf", 32);
text = "hello im lewis";
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
font.drawString(text, ofGetWidth() / 2 - font.stringWidth(text) / 2, ofGetHeight() / 2 - font.stringHeight(text) / 2);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 009_font/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofTrueTypeFont font;
string text;
};
================================================
FILE: 010_audio/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 010_audio/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
drumloop.load("drumloop.wav");
drumloop.setVolume(0.6);
drumloop.play();
drumloop.setLoop(true);
drumloop.setSpeed(0.3);
drumloop.setPan(1.0);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 010_audio/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofSoundPlayer drumloop;
};
================================================
FILE: 011_video/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 011_video/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
video.load("video.mp4");
video.setVolume(0.3);
video.play();
}
//--------------------------------------------------------------
void ofApp::update(){
video.update();
video.setSpeed(0.6);
}
//--------------------------------------------------------------
void ofApp::draw(){
video.draw(0, 0, 300, 300);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 011_video/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofVideoPlayer video;
};
================================================
FILE: 012_webcam/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 012_webcam/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
webcam.setup(640, 480);
}
//--------------------------------------------------------------
void ofApp::update(){
webcam.update();
}
//--------------------------------------------------------------
void ofApp::draw(){
webcam.draw(0, 0, 320, 240);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 012_webcam/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofVideoGrabber webcam;
};
================================================
FILE: 013_keyboard/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 013_keyboard/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofDrawCircle(x, y, 128);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
switch (key) {
case ' ':
x = ofRandom(0, ofGetWidth());
y = ofRandom(0, ofGetHeight());
break;
default:
break;
}
// if (key == ' ') {
// x = ofRandom(0, ofGetWidth());
// y = ofRandom(0, ofGetHeight());
// }
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 013_keyboard/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
int x;
int y;
};
================================================
FILE: 014_mouse/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 014_mouse/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofDrawCircle(ofGetMouseX(), ofGetMouseY(), size);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){
mousex = x;
mousey = y;
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){
if (button == 0) {
size = ofRandom(32, 256);
}
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 014_mouse/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
int mousex;
int mousey;
int size;
};
================================================
FILE: 015_smoothing/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 015_smoothing/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
ofBackground(60);
ofEnableSmoothing();
ofSetCircleResolution(6);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofDrawLine(64, 64, 256, 128);
ofDrawCircle(ofGetWidth() / 2, ofGetHeight() / 2, 128);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 015_smoothing/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
};
================================================
FILE: 016_screenshot/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 016_screenshot/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofDrawCircle(ofGetMouseX(), ofGetMouseY(), 128);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
if (key == ' ') {
snapped = true;
}
if (snapped == true) {
imgScreenshot.grabScreen(0, 0, ofGetWidth(), ofGetHeight());
string filename = "screenshot_" + ofToString(count, 3, '0') + ".png";
imgScreenshot.save(filename);
count++;
}
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 016_screenshot/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofImage imgScreenshot;
int count;
bool snapped;
};
================================================
FILE: 017_ofxGui/addons.make
================================================
ofxGui
================================================
FILE: 017_ofxGui/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 017_ofxGui/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
gui.setup();
gui.add(intSlider.setup("int slider", 64, 3, 64));
gui.add(floatSlider.setup("float slider", 30.0, 0.0, 300.0));
gui.add(toggle.setup("toggle", false));
gui.add(button.setup("button"));
gui.add(label.setup("label", "THIS IS A LABEL"));
gui.add(intField.setup("int field", 100, 0, 100));
gui.add(floatField.setup("float field", 100.0, 0.0, 100.0));
gui.add(textField.setup("text field", "text"));
gui.add(vec2Slider.setup("vec2 slider", ofVec2f(0, 0), ofVec2f(0, 0), ofVec2f(ofGetWidth(), ofGetHeight())));
gui.add(vec3Slider.setup("vec3 slider", ofVec3f(100, 150, 90), ofVec3f(0, 0, 0), ofVec3f(255, 255, 255)));
gui.add(vec4Slider.setup("vec4 slider", ofVec4f(0, 0, 0, 0), ofVec4f(0, 0, 0, 0), ofVec4f(255, 255, 255, 255)));
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
if (button) {
ofSetColor(ofRandom(vec3Slider->x), ofRandom(vec3Slider->y), ofRandom(vec3Slider->z));
}
ofDrawCircle(ofGetWidth() / 2, ofGetHeight() / 2, 128);
ofSetCircleResolution(intSlider);
ofSetColor(vec4Slider->x, vec4Slider->y, vec4Slider->z, vec4Slider->w);
ofDrawCircle(vec2Slider->x, vec2Slider->y, 128);
gui.draw();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 017_ofxGui/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxGui.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofxPanel gui;
ofxIntSlider intSlider;
ofxFloatSlider floatSlider;
ofxToggle toggle;
ofxButton button;
ofxLabel label;
ofxIntField intField;
ofxFloatField floatField;
ofxTextField textField;
ofxVec2Slider vec2Slider;
ofxVec3Slider vec3Slider;
ofxVec4Slider vec4Slider;
};
================================================
FILE: 018_ofParameter/addons.make
================================================
ofxGui
================================================
FILE: 018_ofParameter/src/Circle.cpp
================================================
//
// Circle.cpp
// 018_ofParameter
//
// Created by Lewis Lepton on 29/07/2019.
//
#include "Circle.hpp"
void Circle::setup(){
params.setName("circle params");
params.add(x.set("x", ofGetWidth() / 2, 0, ofGetWidth()));
params.add(y.set("y", ofGetHeight() / 2, 0, ofGetHeight()));
params.add(colors.set("colors", ofVec3f(100, 130, 160), ofVec3f(0, 0, 0), ofVec3f(255, 255, 255)));
}
================================================
FILE: 018_ofParameter/src/Circle.hpp
================================================
//
// Circle.hpp
// 018_ofParameter
//
// Created by Lewis Lepton on 29/07/2019.
//
#ifndef Circle_hpp
#define Circle_hpp
#include "ofMain.h"
class Circle {
public:
void setup();
ofParameterGroup params;
ofParameter<ofVec3f> colors;
ofParameter<int> x;
ofParameter<int> y;
};
#endif /* Circle_hpp */
================================================
FILE: 018_ofParameter/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 018_ofParameter/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
sliderGroup.setName("sliders");
sliderGroup.add(intSlider.set("int slider", 3, 3, 64));
sliderGroup.add(floatSlider.set("float slider", 32, 32, 256));
circle.setup();
mainGroup.add(circle.params);
mainGroup.add(sliderGroup);
gui.setup(mainGroup);
}
//--------------------------------------------------------------
void ofApp::update(){
ofSetCircleResolution(intSlider);
}
//--------------------------------------------------------------
void ofApp::draw(){
ofSetColor(circle.colors->x, circle.colors->y, circle.colors->z);
ofDrawCircle(circle.x, circle.y, floatSlider);
gui.draw();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 018_ofParameter/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxGui.h"
#include "Circle.hpp"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofxPanel gui;
ofParameterGroup sliderGroup;
ofParameter<int> intSlider;
ofParameter<float> floatSlider;
Circle circle;
ofParameterGroup mainGroup;
};
================================================
FILE: 019_ofEasyCam/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 019_ofEasyCam/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
cam.setDistance(200);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
cam.begin();
ofNoFill();
ofDrawSphere(64);
ofDrawCircle(0, 0, 72);
cam.end();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 019_ofEasyCam/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofEasyCam cam;
};
================================================
FILE: 020_rotation/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 020_rotation/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
rotate++;
}
//--------------------------------------------------------------
void ofApp::draw(){
ofTranslate(ofGetWidth() / 2, ofGetHeight() / 2);
ofNoFill();
ofRotateXRad(ofDegToRad(rotate));
ofRotateYDeg(rotate);
ofRotateZRad(ofDegToRad(rotate));
ofDrawBox(128);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 020_rotation/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
float rotate;
};
================================================
FILE: 021_ofxOsc/021_ofxOsc.jzml
================================================
<JZML>
<PROJECT title="021_ofxOsc" version="5350" width="1024" height="724" osc_target="-1" midi_target="-1" kbmouse_target="-1" skin="Flat"/>
<WINDOW class="JAZZINTERFACE" text="Default" x="0" y="0" width="1024" height="724" state="1" group="0" font="tahoma,11,0" >
<WINDOW class="Multiball" text="position" x="228" y="44" width="592" height="616" state="1" group="0" font="tahoma,10,0" send="1" osc_target="-2" midi_target="-2" kbmouse_target="-2" capture="1" color="1596013" cursor="1" ephemere="0" grid="0" grid_steps="1,1" label="0" multicolor="0" multilabel="0" nbr="1" physic="1" polyphony="0" zoom="1.000000">
<PARAM name="x=" value="0.363296" send="25" osc_target="0" osc_trigger="1" osc_message="/position/x" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" osc_scale="0.000000,1.000000" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<PARAM name="y=" value="0.673835" send="25" osc_target="0" osc_trigger="1" osc_message="/position/y" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" osc_scale="0.000000,1.000000" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<PARAM name="z=" value="0.000000" send="17" osc_target="0" osc_trigger="1" osc_message="/position/z" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" osc_scale="0.000000,1.000000" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="attraction=1" send="0" osc_target="0" osc_trigger="1" osc_message="/position/attraction" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="friction=0.6" send="0" osc_target="0" osc_trigger="1" osc_message="/position/friction" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="speed=1" send="0" osc_target="0" osc_trigger="1" osc_message="/position/speed" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="attack=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/attack" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="decay=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/decay" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="sustain=1" send="0" osc_target="0" osc_trigger="1" osc_message="/position/sustain" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="release=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/release" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="hold=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/hold" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="holdX=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/holdX" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
<VARIABLE name="holdY=0" send="0" osc_target="0" osc_trigger="1" osc_message="/position/holdY" midi_target="-1" midi_trigger="1" midi_message="0x90,0x90,0,0" midi_scale="0,16383" kbmouse_target="-1" kbmouse_trigger="1" kbmouse_message="0,0,0" kbmouse_scale="0,1,0,1"/>
</WINDOW>
</WINDOW>
</JZML>
================================================
FILE: 021_ofxOsc/addons.make
================================================
ofxOsc
================================================
FILE: 021_ofxOsc/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 021_ofxOsc/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
osc.setup(PORT);
}
//--------------------------------------------------------------
void ofApp::update(){
while (osc.hasWaitingMessages()) {
ofxOscMessage m;
osc.getNextMessage(&m);
if (m.getAddress() == "/position/x") {
oscx = m.getArgAsFloat(0);
}
if (m.getAddress() == "/position/y") {
oscy = m.getArgAsFloat(0);
}
}
}
//--------------------------------------------------------------
void ofApp::draw(){
ofDrawCircle(oscx * ofGetWidth(), ofMap(oscy, 1, 0, 0, ofGetHeight()), 64);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 021_ofxOsc/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxOsc.h"
#define PORT 12345
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofxOscReceiver osc;
float oscx = 0.0;
float oscy = 0.0;
};
================================================
FILE: 022_dragDrop/bin/data/.gitkeep
================================================
================================================
FILE: 022_dragDrop/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 022_dragDrop/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
for (int v = 0; v < image.size(); v++) {
video[v].update();
}
}
//--------------------------------------------------------------
void ofApp::draw(){
for (int i = 0; i < image.size(); i++) {
image[i].draw(0, 0);
}
for (int v = 0; v < image.size(); v++) {
video[v].draw(0, 0);
}
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
if (dragInfo.files.size() > 0) {
sound.assign(dragInfo.files.size(), ofSoundPlayer());
for (int s = 0; s < dragInfo.files.size(); s++) {
sound[s].load(dragInfo.files[s]);
sound[s].play();
sound[s].setVolume(0.6);
sound[s].setLoop(true);
}
}
if (dragInfo.files.size() > 0) {
image.assign(dragInfo.files.size(), ofImage());
for (int i = 0; i < dragInfo.files.size(); i++) {
image[i].load(dragInfo.files[i]);
}
}
if (dragInfo.files.size() > 0) {
video.assign(dragInfo.files.size(), ofVideoPlayer());
for (int v = 0; v < dragInfo.files.size(); v++) {
video[v].load(dragInfo.files[v]);
video[v].play();
}
}
}
================================================
FILE: 022_dragDrop/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
vector<ofSoundPlayer> sound;
vector<ofImage> image;
vector<ofVideoPlayer> video;
};
================================================
FILE: 023_fullscreen/addons.make
================================================
ofxGui
================================================
FILE: 023_fullscreen/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 023_fullscreen/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
gui.setup();
gui.add(togFullscreen.setup("fullscreen", false));
}
//--------------------------------------------------------------
void ofApp::update(){
if (togFullscreen) {
ofSetFullscreen(true);
} else {
ofSetFullscreen(false);
}
}
//--------------------------------------------------------------
void ofApp::draw(){
gui.draw();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
// if (key == 'f') {
// ofToggleFullscreen();
// }
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 023_fullscreen/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxGui.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofxPanel gui;
ofxToggle togFullscreen;
};
================================================
FILE: 024_ofFbo/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 024_ofFbo/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
image.load("image.png");
fbo.allocate(ofGetWidth(), ofGetHeight());
fbo.begin();
ofClear(255);
fbo.end();
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
fbo.draw(0, 0);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
fbo.begin();
// ofSetColor(255);
// ofDrawCircle(x, y, 16);
image.draw(x, y);
fbo.end();
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 024_ofFbo/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofFbo fbo;
ofImage image;
};
================================================
FILE: 025_lineDrawing/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 025_lineDrawing/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
// if (nPts > 1) {
// for (int i = 0; i < nPts - 1; i++) {
// ofDrawLine(pts[i].x, pts[i].y, pts[i + 1].x, pts[i + 1].y);
// }
// }
polyline.draw();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
if (nPts < MAXPOINTS) {
pts[nPts].x = x;
pts[nPts].y = y;
nPts++;
}
polyline.addVertex(ofPoint(x, y));
}
//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){
polyline.addVertex(ofPoint(x, y));
}
//--------------------------------------------------------------
void ofApp::mouseReleased(int x, int y, int button){
nPts = 0;
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 025_lineDrawing/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#define MAXPOINTS 100
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofPoint pts[MAXPOINTS];
int nPts = 0;
ofPolyline polyline;
};
================================================
FILE: 026_projectDraw/addons.make
================================================
ofxGui
================================================
FILE: 026_projectDraw/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 026_projectDraw/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
ofEnableSmoothing();
gui.setup();
gui.add(size.setup("size", 3, 1, 8));
gui.add(color.setup("color", ofColor(255, 255, 255, 255), ofColor(0, 0, 0, 0), ofColor(255, 255, 255, 255)));
gui.add(background.setup("background", ofVec3f(0, 0, 0), ofVec3f(0, 0, 0), ofVec3f(255, 255, 255)));
gui.add(btnClear.setup("clear"));
fbo.allocate(width, height);
fbo.begin();
ofClear(255);
fbo.end();
}
//--------------------------------------------------------------
void ofApp::update(){
ofBackground(background->x, background->y, background->z);
if (btnClear) {
fbo.begin();
ofClear(255);
fbo.end();
}
}
//--------------------------------------------------------------
void ofApp::draw(){
fbo.draw(0, 0);
ofNoFill();
ofDrawRectangle(0, 0, width, height);
gui.draw();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
if (key == ' ') {
imgScreenshot.grabScreen(0, 0, fbo.getWidth(), fbo.getHeight());
string filename = "screenshot_" + ofToString(count, 3, '0') + ".png";
imgScreenshot.save(filename);
count++;
}
}
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
}
//--------------------------------------------------------------
void ofApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void ofApp::mouseDragged(int x, int y, int button){
fbo.begin();
ofSetLineWidth(size);
ofSetColor(color);
polyline.addVertex(ofPoint(x, y));
polyline.draw();
fbo.end();
}
//--------------------------------------------------------------
void ofApp::mousePressed(int x, int y, int button){
fbo.begin();
polyline.clear();
fbo.end();
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 026_projectDraw/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxGui.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofPolyline polyline;
ofxPanel gui;
ofxIntSlider size;
ofxColorSlider color;
ofxVec3Slider background;
ofxButton btnClear;
ofImage imgScreenshot;
int count;
ofFbo fbo;
int width = 800;
int height = 600;
};
================================================
FILE: 027_3DModels/addons.make
================================================
ofxAssimpModelLoader
================================================
FILE: 027_3DModels/bin/data/.gitkeep
================================================
================================================
FILE: 027_3DModels/bin/data/object.dae
================================================
<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<asset>
<contributor>
<author>Blender User</author>
<authoring_tool>Blender 2.80.75 commit date:2019-07-29, commit time:14:47, hash:f6cb5f54494e</authoring_tool>
</contributor>
<created>2019-08-28T12:29:49</created>
<modified>2019-08-28T12:29:49</modified>
<unit name="meter" meter="1"/>
<up_axis>Z_UP</up_axis>
</asset>
<library_cameras>
<camera id="Camera-camera" name="Camera">
<optics>
<technique_common>
<perspective>
<xfov sid="xfov">39.59775</xfov>
<aspect_ratio>1.777778</aspect_ratio>
<znear sid="znear">0.1</znear>
<zfar sid="zfar">100</zfar>
</perspective>
</technique_common>
</optics>
<extra>
<technique profile="blender">
<shiftx sid="shiftx" type="float">0</shiftx>
<shifty sid="shifty" type="float">0</shifty>
<dof_distance sid="dof_distance" type="float">10</dof_distance>
</technique>
</extra>
</camera>
</library_cameras>
<library_lights>
<light id="Light-light" name="Light">
<technique_common>
<point>
<color sid="color">1000 1000 1000</color>
<constant_attenuation>1</constant_attenuation>
<linear_attenuation>0</linear_attenuation>
<quadratic_attenuation>0.00111109</quadratic_attenuation>
</point>
</technique_common>
<extra>
<technique profile="blender">
<type sid="type" type="int">0</type>
<flag sid="flag" type="int">0</flag>
<mode sid="mode" type="int">1</mode>
<gamma sid="blender_gamma" type="float">1</gamma>
<red sid="red" type="float">1</red>
<green sid="green" type="float">1</green>
<blue sid="blue" type="float">1</blue>
<shadow_r sid="blender_shadow_r" type="float">0</shadow_r>
<shadow_g sid="blender_shadow_g" type="float">0</shadow_g>
<shadow_b sid="blender_shadow_b" type="float">0</shadow_b>
<energy sid="blender_energy" type="float">1000</energy>
<dist sid="blender_dist" type="float">29.99998</dist>
<spotsize sid="spotsize" type="float">75</spotsize>
<spotblend sid="spotblend" type="float">0.15</spotblend>
<att1 sid="att1" type="float">0</att1>
<att2 sid="att2" type="float">1</att2>
<falloff_type sid="falloff_type" type="int">2</falloff_type>
<clipsta sid="clipsta" type="float">0.04999995</clipsta>
<clipend sid="clipend" type="float">30.002</clipend>
<bias sid="bias" type="float">1</bias>
<soft sid="soft" type="float">3</soft>
<bufsize sid="bufsize" type="int">2880</bufsize>
<samp sid="samp" type="int">3</samp>
<buffers sid="buffers" type="int">1</buffers>
<area_shape sid="area_shape" type="int">1</area_shape>
<area_size sid="area_size" type="float">0.1</area_size>
<area_sizey sid="area_sizey" type="float">0.1</area_sizey>
<area_sizez sid="area_sizez" type="float">1</area_sizez>
</technique>
</extra>
</light>
</library_lights>
<library_effects>
<effect id="Material-effect">
<profile_COMMON>
<technique sid="common">
<lambert>
<emission>
<color sid="emission">0 0 0 1</color>
</emission>
<diffuse>
<color sid="diffuse">0.8 0.8 0.8 1</color>
</diffuse>
<index_of_refraction>
<float sid="ior">1.45</float>
</index_of_refraction>
</lambert>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_images/>
<library_materials>
<material id="Material-material" name="Material">
<instance_effect url="#Material-effect"/>
</material>
</library_materials>
<library_geometries>
<geometry id="Cube-mesh" name="Cube">
<mesh>
<source id="Cube-mesh-positions">
<float_array id="Cube-mesh-positions-array" count="24">1 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1</float_array>
<technique_common>
<accessor source="#Cube-mesh-positions-array" count="8" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Cube-mesh-normals">
<float_array id="Cube-mesh-normals-array" count="18">0 0 1 0 -1 0 -1 0 0 0 0 -1 1 0 0 0 1 0</float_array>
<technique_common>
<accessor source="#Cube-mesh-normals-array" count="6" stride="3">
<param name="X" type="float"/>
<param name="Y" type="float"/>
<param name="Z" type="float"/>
</accessor>
</technique_common>
</source>
<source id="Cube-mesh-map-0">
<float_array id="Cube-mesh-map-0-array" count="72">0.625 0 0.375 0.25 0.375 0 0.625 0.25 0.375 0.5 0.375 0.25 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.75 0.375 1 0.375 0.75 0.375 0.5 0.125 0.75 0.125 0.5 0.875 0.5 0.625 0.75 0.625 0.5 0.625 0 0.625 0.25 0.375 0.25 0.625 0.25 0.625 0.5 0.375 0.5 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.75 0.625 1 0.375 1 0.375 0.5 0.375 0.75 0.125 0.75 0.875 0.5 0.875 0.75 0.625 0.75</float_array>
<technique_common>
<accessor source="#Cube-mesh-map-0-array" count="36" stride="2">
<param name="S" type="float"/>
<param name="T" type="float"/>
</accessor>
</technique_common>
</source>
<vertices id="Cube-mesh-vertices">
<input semantic="POSITION" source="#Cube-mesh-positions"/>
</vertices>
<triangles material="Material-material" count="12">
<input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
<input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
<input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
<p>4 0 0 2 0 1 0 0 2 2 1 3 7 1 4 3 1 5 6 2 6 5 2 7 7 2 8 1 3 9 7 3 10 5 3 11 0 4 12 3 4 13 1 4 14 4 5 15 1 5 16 5 5 17 4 0 18 6 0 19 2 0 20 2 1 21 6 1 22 7 1 23 6 2 24 4 2 25 5 2 26 1 3 27 3 3 28 7 3 29 0 4 30 2 4 31 3 4 32 4 5 33 0 5 34 1 5 35</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="Scene" name="Scene">
<node id="Camera" name="Camera" type="NODE">
<matrix sid="transform">0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1</matrix>
<instance_camera url="#Camera-camera"/>
</node>
<node id="Light" name="Light" type="NODE">
<matrix sid="transform">-0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1</matrix>
<instance_light url="#Light-light"/>
</node>
<node id="Cube" name="Cube" type="NODE">
<matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
<instance_geometry url="#Cube-mesh" name="Cube">
<bind_material>
<technique_common>
<instance_material symbol="Material-material" target="#Material-material">
<bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
</instance_material>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Scene"/>
</scene>
</COLLADA>
================================================
FILE: 027_3DModels/bin/data/object.obj
================================================
# Blender v2.80 (sub 75) OBJ File: ''
# www.blender.org
mtllib object.mtl
o Cube
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v 1.000000 1.000000 1.000000
v 1.000000 -1.000000 1.000000
v -1.000000 1.000000 -1.000000
v -1.000000 -1.000000 -1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 1.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.375000 0.500000
vt 0.375000 0.750000
vt 0.125000 0.750000
vt 0.625000 0.500000
vt 0.875000 0.500000
vt 0.875000 0.750000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Material
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/10/4 2/11/4 4/12/4 8/13/4
f 2/14/5 1/15/5 3/16/5 4/17/5
f 6/18/6 5/19/6 1/20/6 2/11/6
================================================
FILE: 027_3DModels/bin/data/object.ply
================================================
ply
format ascii 1.0
comment Created by Blender 2.80 (sub 75) - www.blender.org, source file: ''
element vertex 24
property float x
property float y
property float z
property float nx
property float ny
property float nz
property float s
property float t
element face 12
property list uchar uint vertex_indices
end_header
1.000000 1.000000 1.000000 0.000000 0.000000 1.000000 0.375000 0.000000
-1.000000 1.000000 1.000000 0.000000 0.000000 1.000000 0.625000 0.000000
-1.000000 -1.000000 1.000000 0.000000 0.000000 1.000000 0.625000 0.250000
1.000000 -1.000000 1.000000 0.000000 -0.000000 1.000000 0.375000 0.250000
1.000000 -1.000000 -1.000000 0.000000 -1.000000 0.000000 0.375000 0.250000
1.000000 -1.000000 1.000000 0.000000 -1.000000 0.000000 0.625000 0.250000
-1.000000 -1.000000 1.000000 0.000000 -1.000000 0.000000 0.625000 0.500000
-1.000000 -1.000000 -1.000000 0.000000 -1.000000 0.000000 0.375000 0.500000
-1.000000 -1.000000 -1.000000 -1.000000 -0.000000 -0.000000 0.375000 0.500000
-1.000000 -1.000000 1.000000 -1.000000 -0.000000 -0.000000 0.625000 0.500000
-1.000000 1.000000 1.000000 -1.000000 -0.000000 -0.000000 0.625000 0.750000
-1.000000 1.000000 -1.000000 -1.000000 -0.000000 0.000000 0.375000 0.750000
-1.000000 1.000000 -1.000000 0.000000 0.000000 -1.000000 0.375000 0.750000
1.000000 1.000000 -1.000000 0.000000 0.000000 -1.000000 0.625000 0.750000
1.000000 -1.000000 -1.000000 0.000000 0.000000 -1.000000 0.625000 1.000000
-1.000000 -1.000000 -1.000000 0.000000 0.000000 -1.000000 0.375000 1.000000
1.000000 1.000000 -1.000000 1.000000 -0.000000 0.000000 0.125000 0.500000
1.000000 1.000000 1.000000 1.000000 -0.000000 0.000000 0.375000 0.500000
1.000000 -1.000000 1.000000 1.000000 -0.000000 0.000000 0.375000 0.750000
1.000000 -1.000000 -1.000000 1.000000 -0.000000 0.000000 0.125000 0.750000
-1.000000 1.000000 -1.000000 0.000000 1.000000 0.000000 0.625000 0.500000
-1.000000 1.000000 1.000000 0.000000 1.000000 0.000000 0.875000 0.500000
1.000000 1.000000 1.000000 0.000000 1.000000 0.000000 0.875000 0.750000
1.000000 1.000000 -1.000000 0.000000 1.000000 -0.000000 0.625000 0.750000
3 0 1 2
3 0 2 3
3 4 5 6
3 4 6 7
3 8 9 10
3 8 10 11
3 12 13 14
3 12 14 15
3 16 17 18
3 16 18 19
3 20 21 22
3 20 22 23
================================================
FILE: 027_3DModels/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 027_3DModels/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
model.loadModel("object.obj");
mesh.load("object.ply");
cam.setDistance(600);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
cam.begin();
model.drawFaces();
// mesh.draw();
cam.end();
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 027_3DModels/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxAssimpModelLoader.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofMesh mesh;
ofxAssimpModelLoader model;
ofEasyCam cam;
};
================================================
FILE: 028_ofxOpenCv/addons.make
================================================
ofxOpenCv
================================================
FILE: 028_ofxOpenCv/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 028_ofxOpenCv/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
camera.setup(640, 480);
color.allocate(camera.getWidth(), camera.getHeight());
gray.allocate(camera.getWidth(), camera.getHeight());
}
//--------------------------------------------------------------
void ofApp::update(){
camera.update();
if (camera.isFrameNew()){
color.setFromPixels(camera.getPixels());
gray = color;
}
}
//--------------------------------------------------------------
void ofApp::draw(){
color.draw(0, 0);
gray.draw(480, 0);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 028_ofxOpenCv/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxOpenCv.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofVideoGrabber camera;
ofxCvColorImage color;
ofxCvGrayscaleImage gray;
};
================================================
FILE: 029_ofxOpenCvContour/addons.make
================================================
ofxOpenCv
================================================
FILE: 029_ofxOpenCvContour/src/main.cpp
================================================
#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context
// this kicks off the running of my app
// can be OF_WINDOW or OF_FULLSCREEN
// pass in width and height too:
ofRunApp(new ofApp());
}
================================================
FILE: 029_ofxOpenCvContour/src/ofApp.cpp
================================================
#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
camera.setup(640, 480);
color.allocate(camera.getWidth(), camera.getHeight());
gray.allocate(camera.getWidth(), camera.getHeight());
background.allocate(camera.getWidth(), camera.getHeight());
difference.allocate(camera.getWidth(), camera.getHeight());
}
//--------------------------------------------------------------
void ofApp::update(){
camera.update();
if (camera.isFrameNew()){
color.setFromPixels(camera.getPixels());
gray = color;
if (learn){
background = gray;
learn = false;
}
difference.absDiff(background, gray);
difference.threshold(threshold);
contour.findContours(difference, 10, camera.getWidth() * camera.getHeight(), 10, true);
}
}
//--------------------------------------------------------------
void ofApp::draw(){
color.draw(0, 0);
contour.draw(0, 0);
}
//--------------------------------------------------------------
void ofApp::keyPressed(int key){
switch (key) {
case OF_KEY_UP:
threshold++;
break;
case OF_KEY_DOWN:
threshold--;
break;
default:
break;
}
}
//--------------------------------------------------------------
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){
}
================================================
FILE: 029_ofxOpenCvContour/src/ofApp.h
================================================
#pragma once
#include "ofMain.h"
#include "ofxOpenCv.h"
class ofApp : 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 mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofVideoGrabber camera;
ofxCvColorImage color;
ofxCvGrayscaleImage gray;
ofxCvGrayscaleImage background;
ofxCvGrayscaleImage difference;
ofxCvContourFinder contour;
int threshold = 30;
bool learn = true;
};
================================================
FILE: 030_ofxOpenCvHaar/addons.make
================================================
ofxOpenCv
================================================
FILE: 030_ofxOpenCvHaar/bin/data/.gitkeep
================================================
================================================
FILE: 030_ofxOpenCvHaar/bin/data/haarcascade_frontalface_default.xml
================================================
<?xml version="1.0"?>
<!--
Stump-based 24x24 discrete(?) adaboost frontal face detector.
Created by Rainer Lienhart.
////////////////////////////////////////////////////////////////////////////////////////
IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
By downloading, copying, installing or using the software you agree to this license.
If you do not agree to this license, do not download, install,
copy or use the software.
Intel License Agreement
For Open Source Computer Vision Library
Copyright (C) 2000, Intel Corporation, all rights reserved.
Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistribution's of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistribution's in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* The name of Intel Corporation may not be used to endorse or promote products
derived from this software without specific prior written permission.
This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are disclaimed.
In no event shall the Intel Corporation or contributors be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.
-->
<opencv_storage>
<haarcascade_frontalface_default type_id="opencv-haar-classifier">
<size>24 24</size>
<stages>
<_>
<!-- stage 0 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 4 12 9 -1.</_>
<_>6 7 12 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0315119996666908</threshold>
<left_val>2.0875380039215088</left_val>
<right_val>-2.2172100543975830</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 4 12 7 -1.</_>
<_>10 4 4 7 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0123960003256798</threshold>
<left_val>-1.8633940219879150</left_val>
<right_val>1.3272049427032471</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 9 18 9 -1.</_>
<_>3 12 18 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0219279993325472</threshold>
<left_val>-1.5105249881744385</left_val>
<right_val>1.0625729560852051</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 18 9 6 -1.</_>
<_>8 20 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>5.7529998011887074e-003</threshold>
<left_val>-0.8746389746665955</left_val>
<right_val>1.1760339736938477</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 5 4 19 -1.</_>
<_>5 5 2 19 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0150140002369881</threshold>
<left_val>-0.7794569730758667</left_val>
<right_val>1.2608419656753540</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 5 12 16 -1.</_>
<_>6 13 12 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0993710011243820</threshold>
<left_val>0.5575129985809326</left_val>
<right_val>-1.8743000030517578</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 8 12 6 -1.</_>
<_>5 11 12 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.7340000960975885e-003</threshold>
<left_val>-1.6911929845809937</left_val>
<right_val>0.4400970041751862</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 14 4 10 -1.</_>
<_>11 19 4 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0188590008765459</threshold>
<left_val>-1.4769539833068848</left_val>
<right_val>0.4435009956359863</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 0 7 6 -1.</_>
<_>4 3 7 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>5.9739998541772366e-003</threshold>
<left_val>-0.8590919971466065</left_val>
<right_val>0.8525559902191162</right_val></_></_></trees>
<stage_threshold>-5.0425500869750977</stage_threshold>
<parent>-1</parent>
<next>-1</next></_>
<_>
<!-- stage 1 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 6 12 6 -1.</_>
<_>6 8 12 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0211100000888109</threshold>
<left_val>1.2435649633407593</left_val>
<right_val>-1.5713009834289551</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 4 12 7 -1.</_>
<_>10 4 4 7 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0203559994697571</threshold>
<left_val>-1.6204780340194702</left_val>
<right_val>1.1817760467529297</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 8 19 12 -1.</_>
<_>1 12 19 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0213089995086193</threshold>
<left_val>-1.9415930509567261</left_val>
<right_val>0.7006909847259522</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 2 24 3 -1.</_>
<_>8 2 8 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0916600003838539</threshold>
<left_val>-0.5567010045051575</left_val>
<right_val>1.7284419536590576</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 9 6 15 -1.</_>
<_>9 14 6 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0362880006432533</threshold>
<left_val>0.2676379978656769</left_val>
<right_val>-2.1831810474395752</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 14 10 -1.</_>
<_>5 11 14 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0191099997609854</threshold>
<left_val>-2.6730210781097412</left_val>
<right_val>0.4567080140113831</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 0 14 9 -1.</_>
<_>5 3 14 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.2539999857544899e-003</threshold>
<left_val>-1.0852910280227661</left_val>
<right_val>0.5356420278549194</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>13 11 9 6 -1.</_>
<_>16 11 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0183550007641315</threshold>
<left_val>-0.3520019948482513</left_val>
<right_val>0.9333919882774353</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 5 6 10 -1.</_>
<_>9 5 2 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.0569999516010284e-003</threshold>
<left_val>0.9278209805488586</left_val>
<right_val>-0.6634989976882935</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 8 6 10 -1.</_>
<_>12 8 2 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.8770000040531158e-003</threshold>
<left_val>1.1577470302581787</left_val>
<right_val>-0.2977479994297028</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 5 4 9 -1.</_>
<_>4 5 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0158140007406473</threshold>
<left_val>-0.4196060001850128</left_val>
<right_val>1.3576040267944336</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>18 0 6 11 -1.</_>
<_>20 0 2 11 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0207000002264977</threshold>
<left_val>1.4590020179748535</left_val>
<right_val>-0.1973939985036850</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 6 24 13 -1.</_>
<_>8 6 8 13 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1376080065965653</threshold>
<left_val>1.1186759471893311</left_val>
<right_val>-0.5291550159454346</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 6 6 9 -1.</_>
<_>11 6 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0143189998343587</threshold>
<left_val>-0.3512719869613648</left_val>
<right_val>1.1440860033035278</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 18 10 6 -1.</_>
<_>7 20 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0102530000731349</threshold>
<left_val>-0.6085060238838196</left_val>
<right_val>0.7709850072860718</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 7 14 12 -1.</_>
<_>5 13 14 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0915080010890961</threshold>
<left_val>0.3881779909133911</left_val>
<right_val>-1.5122940540313721</right_val></_></_></trees>
<stage_threshold>-4.9842400550842285</stage_threshold>
<parent>0</parent>
<next>-1</next></_>
<_>
<!-- stage 2 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 3 24 3 -1.</_>
<_>8 3 8 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0697470009326935</threshold>
<left_val>-1.0130879878997803</left_val>
<right_val>1.4687349796295166</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 8 15 6 -1.</_>
<_>5 11 15 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0315029993653297</threshold>
<left_val>-1.6463639736175537</left_val>
<right_val>1.0000629425048828</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 6 5 14 -1.</_>
<_>9 13 5 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0142609998583794</threshold>
<left_val>0.4648030102252960</left_val>
<right_val>-1.5959889888763428</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 5 6 10 -1.</_>
<_>11 5 2 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0144530003890395</threshold>
<left_val>-0.6551190018653870</left_val>
<right_val>0.8302180171012878</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 6 3 12 -1.</_>
<_>6 12 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.0509999487549067e-003</threshold>
<left_val>-1.3982310295104980</left_val>
<right_val>0.4255059957504273</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 21 18 3 -1.</_>
<_>9 21 6 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0327229984104633</threshold>
<left_val>-0.5070260167121887</left_val>
<right_val>1.0526109933853149</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 13 6 -1.</_>
<_>5 8 13 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.2960001416504383e-003</threshold>
<left_val>0.3635689914226532</left_val>
<right_val>-1.3464889526367187</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>18 1 6 15 -1.</_>
<_>18 1 3 15 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0504250004887581</threshold>
<left_val>-0.3046140074729919</left_val>
<right_val>1.4504129886627197</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 1 6 15 -1.</_>
<_>4 1 3 15 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0468790009617805</threshold>
<left_val>-0.4028620123863220</left_val>
<right_val>1.2145609855651855</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 8 24 15 -1.</_>
<_>8 8 8 15 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0693589970469475</threshold>
<left_val>1.0539360046386719</left_val>
<right_val>-0.4571970105171204</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 14 12 -1.</_>
<_>5 6 7 6 2.</_>
<_>12 12 7 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0490339994430542</threshold>
<left_val>-1.6253089904785156</left_val>
<right_val>0.1537899971008301</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 12 21 12 -1.</_>
<_>2 16 21 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0848279967904091</threshold>
<left_val>0.2840299904346466</left_val>
<right_val>-1.5662059783935547</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 1 4 10 -1.</_>
<_>10 1 2 10 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-1.7229999648407102e-003</threshold>
<left_val>-1.0147459506988525</left_val>
<right_val>0.2329480051994324</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 13 20 10 -1.</_>
<_>2 13 10 10 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1156219989061356</threshold>
<left_val>-0.1673289984464645</left_val>
<right_val>1.2804069519042969</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 6 13 -1.</_>
<_>2 1 2 13 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0512799993157387</threshold>
<left_val>1.5162390470504761</left_val>
<right_val>-0.3027110099792481</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>20 2 4 13 -1.</_>
<_>20 2 2 13 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0427069999277592</threshold>
<left_val>1.7631920576095581</left_val>
<right_val>-0.0518320016562939</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 5 22 19 -1.</_>
<_>11 5 11 19 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.3717809915542603</threshold>
<left_val>-0.3138920068740845</left_val>
<right_val>1.5357979536056519</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>18 4 6 9 -1.</_>
<_>20 4 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0194129999727011</threshold>
<left_val>-0.1001759991049767</left_val>
<right_val>0.9365540146827698</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 3 6 11 -1.</_>
<_>2 3 2 11 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0174390003085136</threshold>
<left_val>-0.4037989974021912</left_val>
<right_val>0.9629300236701965</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 1 4 9 -1.</_>
<_>12 1 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0396389998495579</threshold>
<left_val>0.1703909933567047</left_val>
<right_val>-2.9602990150451660</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 6 19 3 -1.</_>
<_>0 7 19 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.1469995677471161e-003</threshold>
<left_val>0.8878679871559143</left_val>
<right_val>-0.4381870031356812</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 1 4 9 -1.</_>
<_>12 1 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>1.7219999572262168e-003</threshold>
<left_val>-0.3721860051155090</left_val>
<right_val>0.4001890122890472</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 1 4 9 -1.</_>
<_>10 1 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0302310008555651</threshold>
<left_val>0.0659240037202835</left_val>
<right_val>-2.6469180583953857</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 5 14 14 -1.</_>
<_>12 5 7 7 2.</_>
<_>5 12 7 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0787959992885590</threshold>
<left_val>-1.7491459846496582</left_val>
<right_val>0.2847529947757721</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 10 18 2 -1.</_>
<_>1 11 18 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.1110000088810921e-003</threshold>
<left_val>-0.9390810132026672</left_val>
<right_val>0.2320519983768463</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>17 13 4 11 -1.</_>
<_>17 13 2 11 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0270910002291203</threshold>
<left_val>-0.0526640005409718</left_val>
<right_val>1.0756820440292358</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 4 6 9 -1.</_>
<_>0 7 6 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0449649989604950</threshold>
<left_val>-1.8294479846954346</left_val>
<right_val>0.0995619967579842</right_val></_></_></trees>
<stage_threshold>-4.6551899909973145</stage_threshold>
<parent>1</parent>
<next>-1</next></_>
<_>
<!-- stage 3 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 4 12 9 -1.</_>
<_>6 7 12 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0657010003924370</threshold>
<left_val>1.1558510065078735</left_val>
<right_val>-1.0716359615325928</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 5 12 6 -1.</_>
<_>10 5 4 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0158399995416403</threshold>
<left_val>-1.5634720325469971</left_val>
<right_val>0.7687709927558899</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 24 5 -1.</_>
<_>8 1 8 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1457089930772781</threshold>
<left_val>-0.5745009779930115</left_val>
<right_val>1.3808720111846924</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 10 18 6 -1.</_>
<_>4 12 18 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>6.1389999464154243e-003</threshold>
<left_val>-1.4570560455322266</left_val>
<right_val>0.5161030292510986</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 17 12 6 -1.</_>
<_>2 17 6 3 2.</_>
<_>8 20 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>6.7179999314248562e-003</threshold>
<left_val>-0.8353360295295715</left_val>
<right_val>0.5852220058441162</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>19 3 4 13 -1.</_>
<_>19 3 2 13 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0185180008411407</threshold>
<left_val>-0.3131209909915924</left_val>
<right_val>1.1696679592132568</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 3 4 13 -1.</_>
<_>3 3 2 13 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0199580006301403</threshold>
<left_val>-0.4344260096549988</left_val>
<right_val>0.9544690251350403</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 24 23 -1.</_>
<_>8 1 8 23 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.2775500118732452</threshold>
<left_val>1.4906179904937744</left_val>
<right_val>-0.1381590068340302</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 7 8 12 -1.</_>
<_>1 11 8 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>9.1859996318817139e-003</threshold>
<left_val>-0.9636150002479553</left_val>
<right_val>0.2766549885272980</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 7 3 14 -1.</_>
<_>14 14 3 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0377379991114140</threshold>
<left_val>-2.4464108943939209</left_val>
<right_val>0.2361959964036942</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 12 16 6 -1.</_>
<_>3 12 8 3 2.</_>
<_>11 15 8 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0184630006551743</threshold>
<left_val>0.1753920018672943</left_val>
<right_val>-1.3423130512237549</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 6 12 6 -1.</_>
<_>6 8 12 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0111149996519089</threshold>
<left_val>0.4871079921722412</left_val>
<right_val>-0.8985189795494080</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 7 6 12 -1.</_>
<_>8 13 6 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0339279994368553</threshold>
<left_val>0.1787420064210892</left_val>
<right_val>-1.6342279911041260</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>15 15 9 6 -1.</_>
<_>15 17 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0356490015983582</threshold>
<left_val>-1.9607399702072144</left_val>
<right_val>0.1810249984264374</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 17 18 3 -1.</_>
<_>1 18 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0114380000159144</threshold>
<left_val>0.9901069998741150</left_val>
<right_val>-0.3810319900512695</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 4 16 12 -1.</_>
<_>4 10 16 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0652360022068024</threshold>
<left_val>-2.5794160366058350</left_val>
<right_val>0.2475360035896301</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 4 20 -1.</_>
<_>2 1 2 20 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0422720015048981</threshold>
<left_val>1.4411840438842773</left_val>
<right_val>-0.2950829863548279</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 0 18 2 -1.</_>
<_>3 1 18 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>1.9219999667257071e-003</threshold>
<left_val>-0.4960860013961792</left_val>
<right_val>0.6317359805107117</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 5 20 14 -1.</_>
<_>1 5 10 7 2.</_>
<_>11 12 10 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1292179971933365</threshold>
<left_val>-2.3314270973205566</left_val>
<right_val>0.0544969998300076</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 8 14 12 -1.</_>
<_>5 12 14 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0229310002177954</threshold>
<left_val>-0.8444709777832031</left_val>
<right_val>0.3873809874057770</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 14 7 9 -1.</_>
<_>3 17 7 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0341200008988380</threshold>
<left_val>-1.4431500434875488</left_val>
<right_val>0.0984229966998100</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 15 9 6 -1.</_>
<_>14 17 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0262230001389980</threshold>
<left_val>0.1822309941053391</left_val>
<right_val>-1.2586519718170166</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 15 9 6 -1.</_>
<_>1 17 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0222369991242886</threshold>
<left_val>0.0698079988360405</left_val>
<right_val>-2.3820950984954834</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 6 8 10 -1.</_>
<_>15 6 4 5 2.</_>
<_>11 11 4 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-5.8240001089870930e-003</threshold>
<left_val>0.3933250010013580</left_val>
<right_val>-0.2754279971122742</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 5 14 14 -1.</_>
<_>5 5 7 7 2.</_>
<_>12 12 7 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0436530001461506</threshold>
<left_val>0.1483269929885864</left_val>
<right_val>-1.1368780136108398</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 0 12 5 -1.</_>
<_>10 0 4 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0572669990360737</threshold>
<left_val>0.2462809979915619</left_val>
<right_val>-1.2687400579452515</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 0 6 9 -1.</_>
<_>9 3 6 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.3409998975694180e-003</threshold>
<left_val>-0.7544890046119690</left_val>
<right_val>0.2716380059719086</right_val></_></_>
<_>
<!-- tree 27 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 6 6 9 -1.</_>
<_>11 6 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0129960002377629</threshold>
<left_val>-0.3639490008354187</left_val>
<right_val>0.7095919847488403</right_val></_></_>
<_>
<!-- tree 28 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 0 6 9 -1.</_>
<_>9 0 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0265170000493526</threshold>
<left_val>-2.3221859931945801</left_val>
<right_val>0.0357440002262592</right_val></_></_>
<_>
<!-- tree 29 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 6 6 9 -1.</_>
<_>12 6 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-5.8400002308189869e-003</threshold>
<left_val>0.4219430088996887</left_val>
<right_val>-0.0481849983334541</right_val></_></_>
<_>
<!-- tree 30 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 6 6 9 -1.</_>
<_>10 6 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0165689997375011</threshold>
<left_val>1.1099940538406372</left_val>
<right_val>-0.3484970033168793</right_val></_></_>
<_>
<!-- tree 31 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 8 18 4 -1.</_>
<_>9 8 6 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0681570023298264</threshold>
<left_val>-3.3269989490509033</left_val>
<right_val>0.2129900008440018</right_val></_></_></trees>
<stage_threshold>-4.4531588554382324</stage_threshold>
<parent>2</parent>
<next>-1</next></_>
<_>
<!-- stage 4 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 0 12 9 -1.</_>
<_>6 3 12 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0399740003049374</threshold>
<left_val>-1.2173449993133545</left_val>
<right_val>1.0826710462570190</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 0 24 6 -1.</_>
<_>8 0 8 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1881950050592423</threshold>
<left_val>-0.4828940033912659</left_val>
<right_val>1.4045250415802002</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 7 16 12 -1.</_>
<_>4 11 16 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0780270025134087</threshold>
<left_val>-1.0782150030136108</left_val>
<right_val>0.7404029965400696</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 6 6 6 -1.</_>
<_>11 6 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>1.1899999663000926e-004</threshold>
<left_val>-1.2019979953765869</left_val>
<right_val>0.3774920105934143</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 20 24 3 -1.</_>
<_>8 20 8 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0850569978356361</threshold>
<left_val>-0.4393909871578217</left_val>
<right_val>1.2647340297698975</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 6 4 9 -1.</_>
<_>11 6 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.9720003306865692e-003</threshold>
<left_val>-0.1844049990177155</left_val>
<right_val>0.4572640061378479</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 13 15 4 -1.</_>
<_>9 13 5 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.8120000436902046e-003</threshold>
<left_val>0.3039669990539551</left_val>
<right_val>-0.9599109888076782</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 6 4 9 -1.</_>
<_>11 6 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0235079992562532</threshold>
<left_val>1.2487529516220093</left_val>
<right_val>0.0462279990315437</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 6 4 9 -1.</_>
<_>11 6 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.0039997808635235e-003</threshold>
<left_val>-0.5944210290908814</left_val>
<right_val>0.5396329760551453</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 12 6 12 -1.</_>
<_>9 18 6 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0338519997894764</threshold>
<left_val>0.2849609851837158</left_val>
<right_val>-1.4895249605178833</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 22 18 2 -1.</_>
<_>1 23 18 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.2530000898987055e-003</threshold>
<left_val>0.4812079966068268</left_val>
<right_val>-0.5271239876747131</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 7 4 10 -1.</_>
<_>10 12 4 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0290970001369715</threshold>
<left_val>0.2674390077590942</left_val>
<right_val>-1.6007850170135498</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 7 8 10 -1.</_>
<_>6 12 8 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-8.4790000692009926e-003</threshold>
<left_val>-1.3107639551162720</left_val>
<right_val>0.1524309962987900</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 6 10 6 -1.</_>
<_>7 8 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0107950000092387</threshold>
<left_val>0.4561359882354736</left_val>
<right_val>-0.7205089926719666</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 14 10 4 -1.</_>
<_>0 16 10 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0246200002729893</threshold>
<left_val>-1.7320619821548462</left_val>
<right_val>0.0683630034327507</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 18 18 2 -1.</_>
<_>6 19 18 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>3.7380000576376915e-003</threshold>
<left_val>-0.1930329948663712</left_val>
<right_val>0.6824349761009216</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 1 22 3 -1.</_>
<_>1 2 22 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0122640002518892</threshold>
<left_val>-1.6095290184020996</left_val>
<right_val>0.0752680003643036</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 16 18 3 -1.</_>
<_>6 17 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-4.8670000396668911e-003</threshold>
<left_val>0.7428650259971619</left_val>
<right_val>-0.2151020020246506</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 4 6 15 -1.</_>
<_>5 4 3 15 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0767259970307350</threshold>
<left_val>-0.2683509886264801</left_val>
<right_val>1.3094140291213989</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>20 4 4 10 -1.</_>
<_>20 4 2 10 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0285780001431704</threshold>
<left_val>-0.0587930008769035</left_val>
<right_val>1.2196329832077026</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 4 4 10 -1.</_>
<_>2 4 2 10 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0196940004825592</threshold>
<left_val>-0.3514289855957031</left_val>
<right_val>0.8492699861526489</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 16 20 6 -1.</_>
<_>12 16 10 3 2.</_>
<_>2 19 10 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0290939994156361</threshold>
<left_val>-1.0507299900054932</left_val>
<right_val>0.2980630099773407</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 12 8 9 -1.</_>
<_>4 12 4 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0291440002620220</threshold>
<left_val>0.8254780173301697</left_val>
<right_val>-0.3268719911575317</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 0 6 9 -1.</_>
<_>14 0 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0197410006076097</threshold>
<left_val>0.2045260071754456</left_val>
<right_val>-0.8376020193099976</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 10 6 6 -1.</_>
<_>8 10 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.3299999088048935e-003</threshold>
<left_val>0.2057790011167526</left_val>
<right_val>-0.6682980060577393</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>11 8 12 6 -1.</_>
<_>17 8 6 3 2.</_>
<_>11 11 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0355009995400906</threshold>
<left_val>-1.2969900369644165</left_val>
<right_val>0.1389749944210053</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 8 12 6 -1.</_>
<_>0 8 6 3 2.</_>
<_>6 11 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0161729995161295</threshold>
<left_val>-1.3110569715499878</left_val>
<right_val>0.0757519975304604</right_val></_></_>
<_>
<!-- tree 27 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 0 6 9 -1.</_>
<_>14 0 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0221510007977486</threshold>
<left_val>-1.0524389743804932</left_val>
<right_val>0.1924110054969788</right_val></_></_>
<_>
<!-- tree 28 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 0 6 9 -1.</_>
<_>8 0 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0227070003747940</threshold>
<left_val>-1.3735309839248657</left_val>
<right_val>0.0667809993028641</right_val></_></_>
<_>
<!-- tree 29 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 14 9 6 -1.</_>
<_>8 16 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0166079998016357</threshold>
<left_val>-0.0371359996497631</left_val>
<right_val>0.7784640192985535</right_val></_></_>
<_>
<!-- tree 30 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 16 9 6 -1.</_>
<_>0 18 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0133090000599623</threshold>
<left_val>-0.9985070228576660</left_val>
<right_val>0.1224810034036636</right_val></_></_>
<_>
<!-- tree 31 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 8 6 10 -1.</_>
<_>12 8 2 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0337320007383823</threshold>
<left_val>1.4461359977722168</left_val>
<right_val>0.0131519995629787</right_val></_></_>
<_>
<!-- tree 32 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 19 12 3 -1.</_>
<_>9 19 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0169350001960993</threshold>
<left_val>-0.3712129890918732</left_val>
<right_val>0.5284219980239868</right_val></_></_>
<_>
<!-- tree 33 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 10 20 2 -1.</_>
<_>2 11 20 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>3.3259999472647905e-003</threshold>
<left_val>-0.5756850242614746</left_val>
<right_val>0.3926190137863159</right_val></_></_>
<_>
<!-- tree 34 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 9 18 12 -1.</_>
<_>2 9 9 6 2.</_>
<_>11 15 9 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0836440026760101</threshold>
<left_val>0.0161160007119179</left_val>
<right_val>-2.1173279285430908</right_val></_></_>
<_>
<!-- tree 35 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 0 18 24 -1.</_>
<_>3 0 9 24 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.2578519880771637</threshold>
<left_val>-0.0816090032458305</left_val>
<right_val>0.9878249764442444</right_val></_></_>
<_>
<!-- tree 36 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 14 10 -1.</_>
<_>5 6 7 5 2.</_>
<_>12 11 7 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0365669988095760</threshold>
<left_val>-1.1512110233306885</left_val>
<right_val>0.0964590013027191</right_val></_></_>
<_>
<!-- tree 37 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 5 10 12 -1.</_>
<_>14 5 5 6 2.</_>
<_>9 11 5 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0164459999650717</threshold>
<left_val>0.3731549978256226</left_val>
<right_val>-0.1458539962768555</right_val></_></_>
<_>
<!-- tree 38 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 5 12 12 -1.</_>
<_>4 5 6 6 2.</_>
<_>10 11 6 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.7519999314099550e-003</threshold>
<left_val>0.2617929875850678</left_val>
<right_val>-0.5815669894218445</right_val></_></_>
<_>
<!-- tree 39 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 14 18 3 -1.</_>
<_>4 15 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-6.3660000450909138e-003</threshold>
<left_val>0.7547739744186401</left_val>
<right_val>-0.1705520004034042</right_val></_></_>
<_>
<!-- tree 40 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 13 8 8 -1.</_>
<_>6 17 8 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.8499999791383743e-003</threshold>
<left_val>0.2265399992465973</left_val>
<right_val>-0.6387640237808228</right_val></_></_>
<_>
<!-- tree 41 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 16 18 6 -1.</_>
<_>3 19 18 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0454940013587475</threshold>
<left_val>-1.2640299797058105</left_val>
<right_val>0.2526069879531860</right_val></_></_>
<_>
<!-- tree 42 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 0 6 6 -1.</_>
<_>3 0 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0239410009235144</threshold>
<left_val>0.8706840276718140</left_val>
<right_val>-0.2710469961166382</right_val></_></_>
<_>
<!-- tree 43 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 6 12 18 -1.</_>
<_>10 6 4 18 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0775580033659935</threshold>
<left_val>-1.3901610374450684</left_val>
<right_val>0.2361229956150055</right_val></_></_>
<_>
<!-- tree 44 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 1 4 14 -1.</_>
<_>8 1 2 14 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0236140005290508</threshold>
<left_val>0.0661400035023689</left_val>
<right_val>-1.2645419836044312</right_val></_></_>
<_>
<!-- tree 45 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 2 19 2 -1.</_>
<_>3 3 19 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-2.5750000495463610e-003</threshold>
<left_val>-0.5384169816970825</left_val>
<right_val>0.3037909865379334</right_val></_></_>
<_>
<!-- tree 46 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 8 22 13 -1.</_>
<_>12 8 11 13 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1201080009341240</threshold>
<left_val>-0.3534300029277802</left_val>
<right_val>0.5286620259284973</right_val></_></_>
<_>
<!-- tree 47 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 9 11 4 -1.</_>
<_>8 11 11 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.2899999748915434e-003</threshold>
<left_val>-0.5870199799537659</left_val>
<right_val>0.2406100034713745</right_val></_></_>
<_>
<!-- tree 48 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 12 15 10 -1.</_>
<_>5 12 5 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0697169974446297</threshold>
<left_val>-0.3334890007972717</left_val>
<right_val>0.5191630125045776</right_val></_></_>
<_>
<!-- tree 49 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 16 12 6 -1.</_>
<_>16 16 4 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0466700010001659</threshold>
<left_val>0.6979539990425110</left_val>
<right_val>-0.0148959998041391</right_val></_></_>
<_>
<!-- tree 50 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 16 12 6 -1.</_>
<_>4 16 4 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0501290000975132</threshold>
<left_val>0.8614619970321655</left_val>
<right_val>-0.2598600089550018</right_val></_></_>
<_>
<!-- tree 51 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>19 1 5 12 -1.</_>
<_>19 5 5 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0301479995250702</threshold>
<left_val>0.1933279931545258</left_val>
<right_val>-0.5913109779357910</right_val></_></_></trees>
<stage_threshold>-4.3864588737487793</stage_threshold>
<parent>3</parent>
<next>-1</next></_>
<_>
<!-- stage 5 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 2 24 4 -1.</_>
<_>8 2 8 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0910850018262863</threshold>
<left_val>-0.8923310041427612</left_val>
<right_val>1.0434230566024780</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 8 12 4 -1.</_>
<_>6 10 12 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0128189995884895</threshold>
<left_val>-1.2597670555114746</left_val>
<right_val>0.5531709790229797</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 5 9 6 -1.</_>
<_>10 5 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0159319993108511</threshold>
<left_val>-0.8625440001487732</left_val>
<right_val>0.6373180150985718</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 17 6 6 -1.</_>
<_>9 20 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.2780001163482666e-003</threshold>
<left_val>-0.7463920116424561</left_val>
<right_val>0.5315560102462769</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 7 22 15 -1.</_>
<_>0 12 22 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0318409986793995</threshold>
<left_val>-1.2650489807128906</left_val>
<right_val>0.3615390062332153</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 1 17 9 -1.</_>
<_>4 4 17 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.6960000395774841e-003</threshold>
<left_val>-0.9829040169715881</left_val>
<right_val>0.3601300120353699</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 5 6 10 -1.</_>
<_>9 5 2 10 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0120550002902746</threshold>
<left_val>0.6406840085983276</left_val>
<right_val>-0.5012500286102295</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>18 1 6 8 -1.</_>
<_>18 1 3 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0213249996304512</threshold>
<left_val>-0.2403499931097031</left_val>
<right_val>0.8544800281524658</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 6 7 -1.</_>
<_>3 1 3 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0304860007017851</threshold>
<left_val>-0.3427360057830811</left_val>
<right_val>1.1428849697113037</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>18 0 6 22 -1.</_>
<_>18 0 3 22 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0450799986720085</threshold>
<left_val>1.0976949930191040</left_val>
<right_val>-0.1797460019588471</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 0 6 22 -1.</_>
<_>3 0 3 22 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0717009976506233</threshold>
<left_val>1.5735000371932983</left_val>
<right_val>-0.3143349885940552</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>16 7 8 16 -1.</_>
<_>16 7 4 16 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0592180006206036</threshold>
<left_val>-0.2758240103721619</left_val>
<right_val>1.0448570251464844</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 10 19 6 -1.</_>
<_>2 12 19 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>6.7010000348091125e-003</threshold>
<left_val>-1.0974019765853882</left_val>
<right_val>0.1980119943618774</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 9 6 12 -1.</_>
<_>9 13 6 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0410469993948936</threshold>
<left_val>0.3054769933223724</left_val>
<right_val>-1.3287999629974365</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 15 17 6 -1.</_>
<_>2 17 17 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-8.5499999113380909e-004</threshold>
<left_val>0.2580710053443909</left_val>
<right_val>-0.7005289793014526</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 7 3 14 -1.</_>
<_>14 14 3 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0303600002080202</threshold>
<left_val>-1.2306419610977173</left_val>
<right_val>0.2260939925909042</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 8 10 -1.</_>
<_>5 6 4 5 2.</_>
<_>9 11 4 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0129300002008677</threshold>
<left_val>0.4075860083103180</left_val>
<right_val>-0.5123450160026550</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>15 8 9 11 -1.</_>
<_>18 8 3 11 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0373679995536804</threshold>
<left_val>-0.0947550013661385</left_val>
<right_val>0.6176509857177734</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 8 9 11 -1.</_>
<_>3 8 3 11 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0244340002536774</threshold>
<left_val>-0.4110060036182404</left_val>
<right_val>0.4763050079345703</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 6 10 18 -1.</_>
<_>8 15 10 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0570079982280731</threshold>
<left_val>0.2524929940700531</left_val>
<right_val>-0.6866980195045471</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 7 3 14 -1.</_>
<_>7 14 3 7 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0163139998912811</threshold>
<left_val>-0.9392840266227722</left_val>
<right_val>0.1144810020923615</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 14 24 8 -1.</_>
<_>8 14 8 8 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1764889955520630</threshold>
<left_val>1.2451089620590210</left_val>
<right_val>-0.0565190017223358</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 10 18 14 -1.</_>
<_>10 10 9 14 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1761460006237030</threshold>
<left_val>-0.3252820074558258</left_val>
<right_val>0.8279150128364563</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 12 6 6 -1.</_>
<_>14 15 6 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.3910001665353775e-003</threshold>
<left_val>0.3478370010852814</left_val>
<right_val>-0.1792909950017929</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 0 10 16 -1.</_>
<_>7 0 5 8 2.</_>
<_>12 8 5 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0608909986913204</threshold>
<left_val>0.0550980009138584</left_val>
<right_val>-1.5480779409408569</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 0 9 6 -1.</_>
<_>13 0 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0291230008006096</threshold>
<left_val>-1.0255639553070068</left_val>
<right_val>0.2410690039396286</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>4 3 16 4 -1.</_>
<_>12 3 8 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0456489995121956</threshold>
<left_val>1.0301599502563477</left_val>
<right_val>-0.3167209923267365</right_val></_></_>
<_>
<!-- tree 27 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 0 9 6 -1.</_>
<_>13 0 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0373330004513264</threshold>
<left_val>0.2162059992551804</left_val>
<right_val>-0.8258990049362183</right_val></_></_>
<_>
<!-- tree 28 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 1 20 4 -1.</_>
<_>1 1 10 2 2.</_>
<_>11 3 10 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0244110003113747</threshold>
<left_val>-1.5957959890365601</left_val>
<right_val>0.0511390008032322</right_val></_></_>
<_>
<!-- tree 29 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 0 9 6 -1.</_>
<_>13 0 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0598069988191128</threshold>
<left_val>-1.0312290191650391</left_val>
<right_val>0.1309230029582977</right_val></_></_>
<_>
<!-- tree 30 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 0 9 6 -1.</_>
<_>8 0 3 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0301060006022453</threshold>
<left_val>-1.4781630039215088</left_val>
<right_val>0.0372119992971420</right_val></_></_>
<_>
<!-- tree 31 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 18 10 6 -1.</_>
<_>8 20 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.4209999293088913e-003</threshold>
<left_val>-0.2402410060167313</left_val>
<right_val>0.4933399856090546</right_val></_></_>
<_>
<!-- tree 32 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 3 6 9 -1.</_>
<_>8 3 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-2.1909999195486307e-003</threshold>
<left_val>0.2894150018692017</left_val>
<right_val>-0.5725960135459900</right_val></_></_>
<_>
<!-- tree 33 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 3 12 6 -1.</_>
<_>7 5 12 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0208609998226166</threshold>
<left_val>-0.2314839959144592</left_val>
<right_val>0.6376590132713318</right_val></_></_>
<_>
<!-- tree 34 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 10 18 3 -1.</_>
<_>0 11 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-6.6990000195801258e-003</threshold>
<left_val>-1.2107750177383423</left_val>
<right_val>0.0640180036425591</right_val></_></_>
<_>
<!-- tree 35 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 10 22 3 -1.</_>
<_>1 11 22 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0187580008059740</threshold>
<left_val>0.2446130067110062</left_val>
<right_val>-0.9978669881820679</right_val></_></_>
<_>
<!-- tree 36 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 11 8 8 -1.</_>
<_>9 11 4 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0443230010569096</threshold>
<left_val>-1.3699189424514771</left_val>
<right_val>0.0360519997775555</right_val></_></_>
<_>
<!-- tree 37 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>12 11 6 6 -1.</_>
<_>12 11 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0228599999099970</threshold>
<left_val>0.2128839939832687</left_val>
<right_val>-1.0397620201110840</right_val></_></_>
<_>
<!-- tree 38 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 11 6 6 -1.</_>
<_>9 11 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.8600005730986595e-004</threshold>
<left_val>0.3244360089302063</left_val>
<right_val>-0.5429180264472961</right_val></_></_>
<_>
<!-- tree 39 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 10 11 6 -1.</_>
<_>7 12 11 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0172390006482601</threshold>
<left_val>-0.2832390069961548</left_val>
<right_val>0.4446820020675659</right_val></_></_>
<_>
<!-- tree 40 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 13 24 4 -1.</_>
<_>0 13 12 2 2.</_>
<_>12 15 12 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0345310010015965</threshold>
<left_val>-2.3107020854949951</left_val>
<right_val>-3.1399999279528856e-003</right_val></_></_>
<_>
<!-- tree 41 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 4 22 12 -1.</_>
<_>13 4 11 6 2.</_>
<_>2 10 11 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0670069977641106</threshold>
<left_val>0.2871569991111755</left_val>
<right_val>-0.6448100209236145</right_val></_></_>
<_>
<!-- tree 42 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 0 20 17 -1.</_>
<_>12 0 10 17 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.2377689927816391</threshold>
<left_val>-0.2717480063438416</left_val>
<right_val>0.8021910190582275</right_val></_></_>
<_>
<!-- tree 43 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 0 2 24 -1.</_>
<_>14 0 1 24 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0129030002281070</threshold>
<left_val>-1.5317620038986206</left_val>
<right_val>0.2142360061407089</right_val></_></_>
<_>
<!-- tree 44 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 0 2 24 -1.</_>
<_>9 0 1 24 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0105149997398257</threshold>
<left_val>0.0770379975438118</left_val>
<right_val>-1.0581140518188477</right_val></_></_>
<_>
<!-- tree 45 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>14 1 2 22 -1.</_>
<_>14 1 1 22 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0169690009206533</threshold>
<left_val>0.1430670022964478</left_val>
<right_val>-0.8582839965820313</right_val></_></_>
<_>
<!-- tree 46 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>8 1 2 22 -1.</_>
<_>9 1 1 22 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.2460002265870571e-003</threshold>
<left_val>-1.1020129919052124</left_val>
<right_val>0.0649069994688034</right_val></_></_>
<_>
<!-- tree 47 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>17 6 3 18 -1.</_>
<_>18 6 1 18 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0105569995939732</threshold>
<left_val>0.0139640001580119</left_val>
<right_val>0.6360149979591370</right_val></_></_>
<_>
<!-- tree 48 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 14 9 6 -1.</_>
<_>6 16 9 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>6.1380001716315746e-003</threshold>
<left_val>-0.3454590141773224</left_val>
<right_val>0.5629680156707764</right_val></_></_>
<_>
<!-- tree 49 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>13 14 9 4 -1.</_>
<_>13 16 9 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0131580000743270</threshold>
<left_val>0.1992730051279068</left_val>
<right_val>-1.5040320158004761</right_val></_></_>
<_>
<!-- tree 50 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>3 18 18 3 -1.</_>
<_>3 19 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>3.1310000922530890e-003</threshold>
<left_val>-0.4090369939804077</left_val>
<right_val>0.3779639899730682</right_val></_></_>
<_>
<!-- tree 51 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 4 8 18 -1.</_>
<_>13 4 4 9 2.</_>
<_>9 13 4 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1092069968581200</threshold>
<left_val>-2.2227079868316650</left_val>
<right_val>0.1217819973826408</right_val></_></_>
<_>
<!-- tree 52 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 17 18 3 -1.</_>
<_>0 18 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.1820003688335419e-003</threshold>
<left_val>-0.2865200042724609</left_val>
<right_val>0.6789079904556274</right_val></_></_></trees>
<stage_threshold>-4.1299300193786621</stage_threshold>
<parent>4</parent>
<next>-1</next></_>
<_>
<!-- stage 6 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 2 12 4 -1.</_>
<_>6 2 6 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0313469991087914</threshold>
<left_val>-0.8888459801673889</left_val>
<right_val>0.9493680000305176</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 8 14 6 -1.</_>
<_>6 11 14 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0319180004298687</threshold>
<left_val>-1.1146880388259888</left_val>
<right_val>0.4888899922370911</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>7 5 6 6 -1.</_>
<_>10 5 3 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>6.5939999185502529e-003</threshold>
<left_val>-1.0097689628601074</left_val>
<right_val>0.4972380101680756</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>10 5 6 16 -1.</_>
<_>10 13 6 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0261480007320642</threshold>
<left_val>0.2599129974842072</left_val>
<right_val>-1.2537480592727661</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 4 9 16 -1.</_>
<_>4 4 3 16 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0128450002521276</threshold>
<left_val>-0.5713859796524048</left_val>
<right_val>0.5965949892997742</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 0 18 9 -1.</_>
<_>5 3 18 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0263449996709824</threshold>
<left_val>-0.5520319938659668</left_val>
<right_val>0.3021740019321442</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 15 5 8 -1.</_>
<_>9 19 5 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0150830000638962</threshold>
<left_val>-1.2871240377426147</left_val>
<right_val>0.2235420048236847</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>20 0 4 9 -1.</_>
<_>20 0 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0388870015740395</threshold>
<left_val>1.7425049543380737</left_val>
<right_val>-0.0997470021247864</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 0 18 3 -1.</_>
<_>2 1 18 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-5.7029998861253262e-003</threshold>
<left_val>-1.0523240566253662</left_val>
<right_val>0.1836259961128235</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 22 19 2 -1.</_>
<_>5 23 19 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-1.4860000228509307e-003</threshold>
<left_val>0.5678420066833496</left_val>
<right_val>-0.4674200117588043</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 0 4 9 -1.</_>
<_>2 0 2 9 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0284860003739595</threshold>
<left_val>1.3082909584045410</left_val>
<right_val>-0.2646090090274811</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>5 6 19 18 -1.</_>
<_>5 12 19 6 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0662249997258186</threshold>
<left_val>-0.4621070027351379</left_val>
<right_val>0.4174959957599640</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 6 9 -1.</_>
<_>2 1 2 9 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.8569996878504753e-003</threshold>
<left_val>-0.4147489964962006</left_val>
<right_val>0.5920479893684387</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>6 5 14 12 -1.</_>
<_>13 5 7 6 2.</_>
<_>6 11 7 6 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0113559998571873</threshold>
<left_val>0.3610309958457947</left_val>
<right_val>-0.4578120112419128</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 1 20 2 -1.</_>
<_>0 2 20 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-2.7679998893290758e-003</threshold>
<left_val>-0.8923889994621277</left_val>
<right_val>0.1419900059700012</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>1 2 22 3 -1.</_>
<_>1 3 22 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0112469997256994</threshold>
<left_val>0.2935340106487274</left_val>
<right_val>-0.9733060002326965</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 8 7 9 -1.</_>
<_>2 11 7 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.1970000863075256e-003</threshold>
<left_val>-0.7933490276336670</left_val>
<right_val>0.1831340044736862</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>2 12 22 4 -1.</_>
<_>13 12 11 2 2.</_>
<_>2 14 11 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0317689999938011</threshold>
<left_val>0.1552309989929199</left_val>
<right_val>-1.3245639801025391</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>0 12 22 4 -1.</_>
<_>0 12 11 2 2.</_>
<_>11 14 11 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0251739993691444</threshold>
<left_val>0.0342149995267391</left_val>
<right_val>-2.0948131084442139</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>9 7 6 11 -1.</_>
<_>11 7 2 11 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.5360001064836979e-003</threshold>
<left_val>-0.3945060074329376</left_val>
<right_val>0.513339996337890
gitextract_v7wr2kin/ ├── 001_projectSetup/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 003_2DShapes/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 004_3DShapes/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 005_translate/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 006_color/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 007_image/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 008_text/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 009_font/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 010_audio/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 011_video/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 012_webcam/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 013_keyboard/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 014_mouse/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 015_smoothing/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 016_screenshot/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 017_ofxGui/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 018_ofParameter/ │ ├── addons.make │ └── src/ │ ├── Circle.cpp │ ├── Circle.hpp │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 019_ofEasyCam/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 020_rotation/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 021_ofxOsc/ │ ├── 021_ofxOsc.jzml │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 022_dragDrop/ │ ├── bin/ │ │ └── data/ │ │ └── .gitkeep │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 023_fullscreen/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 024_ofFbo/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 025_lineDrawing/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 026_projectDraw/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 027_3DModels/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ ├── object.dae │ │ ├── object.fbx │ │ ├── object.obj │ │ └── object.ply │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 028_ofxOpenCv/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 029_ofxOpenCvContour/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 030_ofxOpenCvHaar/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ └── haarcascade_frontalface_default.xml │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 031_ofxPS3EyeGrabber/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 032_ofxPS3EyeGrabberHaar/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ └── haarcascade_frontalface_default.xml │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 033_ofxKinect/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 034_ofxKinectHaar/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ └── haarcascade_frontalface_default.xml │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 035_ofxKinectV2/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 036_ofxKinectV2Haar/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ └── haarcascade_frontalface_default.xml │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 037_videoTexturePixels/ │ ├── bin/ │ │ └── data/ │ │ └── .gitkeep │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 038_ofNoise/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 039_videoPlayerGui/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 040_ofxCv/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 041_ofxCvCameras/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 042_ofxCvHaar/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ └── haarcascade_frontalface_default.xml │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 043_ofShader/ │ ├── bin/ │ │ └── data/ │ │ ├── shader.frag │ │ └── shader.vert │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 044_ofShaderUniform/ │ ├── bin/ │ │ └── data/ │ │ ├── .gitkeep │ │ ├── shader.frag │ │ └── shader.vert │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 045_ofxShader/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── shader.frag │ │ └── shader.vert │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 046_ofxBox2d/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 047_audioReactive/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 048_audioReactivePolyline/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 049_interactLinesKinect/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 050_box2dKinectInteractive/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 051_polylineDifferenceInteractive/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 052_ofShaderChromaKey/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── shader.frag │ │ └── shader.vert │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 053_ofxCvBlurEffects/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 054_ofxDelaunay/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 055_ofLight/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 056_ofxPostProcessing/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 057_ofxSequencer/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 058_ofxMidi/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 059_ofxHapPlayer/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 060_constellationControl/ │ ├── 060_constellationControl.touchosc │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 061_mosaicCircles/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 062_polygonShapes/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 063_visualStudioCode/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 064_funWithTriangles/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 065_colorDropper/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 066_colorTracking/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 067_meshNoise/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 068_ofxFFmpegRecorder/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ └── linux/ │ │ ├── ffmpeg_4.1.4-1build2.debian.tar.xz │ │ └── ffmpeg_4.1.4.orig.tar.xz │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 069_circleLoop/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 070_cylinderLoop/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 071_crossLoop/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 072_rectangleLoop/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 073_rectangleLoop02/ │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 074_torusLoop/ │ ├── addons.make │ ├── bin/ │ │ └── data/ │ │ ├── torus.mtl │ │ └── torus.obj │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── 075_rectangleLoop03/ │ ├── addons.make │ └── src/ │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── LICENSE └── README.md
SYMBOL INDEX (148 symbols across 148 files)
FILE: 001_projectSetup/src/main.cpp
function main (line 5) | int main( ){
FILE: 001_projectSetup/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 003_2DShapes/src/main.cpp
function main (line 5) | int main( ){
FILE: 003_2DShapes/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 004_3DShapes/src/main.cpp
function main (line 5) | int main( ){
FILE: 004_3DShapes/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 005_translate/src/main.cpp
function main (line 5) | int main( ){
FILE: 005_translate/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 006_color/src/main.cpp
function main (line 5) | int main( ){
FILE: 006_color/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 007_image/src/main.cpp
function main (line 5) | int main( ){
FILE: 007_image/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 008_text/src/main.cpp
function main (line 5) | int main( ){
FILE: 008_text/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 009_font/src/main.cpp
function main (line 5) | int main( ){
FILE: 009_font/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 010_audio/src/main.cpp
function main (line 5) | int main( ){
FILE: 010_audio/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 011_video/src/main.cpp
function main (line 5) | int main( ){
FILE: 011_video/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 012_webcam/src/main.cpp
function main (line 5) | int main( ){
FILE: 012_webcam/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 013_keyboard/src/main.cpp
function main (line 5) | int main( ){
FILE: 013_keyboard/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 014_mouse/src/main.cpp
function main (line 5) | int main( ){
FILE: 014_mouse/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 015_smoothing/src/main.cpp
function main (line 5) | int main( ){
FILE: 015_smoothing/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 016_screenshot/src/main.cpp
function main (line 5) | int main( ){
FILE: 016_screenshot/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 017_ofxGui/src/main.cpp
function main (line 5) | int main( ){
FILE: 017_ofxGui/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 018_ofParameter/src/Circle.hpp
class Circle (line 13) | class Circle {
FILE: 018_ofParameter/src/main.cpp
function main (line 5) | int main( ){
FILE: 018_ofParameter/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 019_ofEasyCam/src/main.cpp
function main (line 5) | int main( ){
FILE: 019_ofEasyCam/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 020_rotation/src/main.cpp
function main (line 5) | int main( ){
FILE: 020_rotation/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 021_ofxOsc/src/main.cpp
function main (line 5) | int main( ){
FILE: 021_ofxOsc/src/ofApp.h
function class (line 8) | class ofApp : public ofBaseApp{
FILE: 022_dragDrop/src/main.cpp
function main (line 5) | int main( ){
FILE: 022_dragDrop/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 023_fullscreen/src/main.cpp
function main (line 5) | int main( ){
FILE: 023_fullscreen/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 024_ofFbo/src/main.cpp
function main (line 5) | int main( ){
FILE: 024_ofFbo/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 025_lineDrawing/src/main.cpp
function main (line 5) | int main( ){
FILE: 025_lineDrawing/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 026_projectDraw/src/main.cpp
function main (line 5) | int main( ){
FILE: 026_projectDraw/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 027_3DModels/src/main.cpp
function main (line 5) | int main( ){
FILE: 027_3DModels/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 028_ofxOpenCv/src/main.cpp
function main (line 5) | int main( ){
FILE: 028_ofxOpenCv/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 029_ofxOpenCvContour/src/main.cpp
function main (line 5) | int main( ){
FILE: 029_ofxOpenCvContour/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 030_ofxOpenCvHaar/src/main.cpp
function main (line 5) | int main( ){
FILE: 030_ofxOpenCvHaar/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 031_ofxPS3EyeGrabber/src/main.cpp
function main (line 5) | int main( ){
FILE: 031_ofxPS3EyeGrabber/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 032_ofxPS3EyeGrabberHaar/src/main.cpp
function main (line 5) | int main( ){
FILE: 032_ofxPS3EyeGrabberHaar/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 033_ofxKinect/src/main.cpp
function main (line 5) | int main( ){
FILE: 033_ofxKinect/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 034_ofxKinectHaar/src/main.cpp
function main (line 5) | int main( ){
FILE: 034_ofxKinectHaar/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 035_ofxKinectV2/src/main.cpp
function main (line 5) | int main( ){
FILE: 035_ofxKinectV2/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 036_ofxKinectV2Haar/src/main.cpp
function main (line 5) | int main( ){
FILE: 036_ofxKinectV2Haar/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 037_videoTexturePixels/src/main.cpp
function main (line 5) | int main( ){
FILE: 037_videoTexturePixels/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 038_ofNoise/src/main.cpp
function main (line 5) | int main( ){
FILE: 038_ofNoise/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 039_videoPlayerGui/src/main.cpp
function main (line 5) | int main( ){
FILE: 039_videoPlayerGui/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 040_ofxCv/src/main.cpp
function main (line 5) | int main( ){
FILE: 040_ofxCv/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 041_ofxCvCameras/src/main.cpp
function main (line 5) | int main( ){
FILE: 041_ofxCvCameras/src/ofApp.h
function class (line 9) | class ofApp : public ofBaseApp{
FILE: 042_ofxCvHaar/src/main.cpp
function main (line 5) | int main( ){
FILE: 042_ofxCvHaar/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 043_ofShader/src/main.cpp
function main (line 5) | int main( ){
FILE: 043_ofShader/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 044_ofShaderUniform/src/main.cpp
function main (line 5) | int main( ){
FILE: 044_ofShaderUniform/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 045_ofxShader/src/main.cpp
function main (line 5) | int main( ){
FILE: 045_ofxShader/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 046_ofxBox2d/src/main.cpp
function main (line 5) | int main( ){
FILE: 046_ofxBox2d/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 047_audioReactive/src/main.cpp
function main (line 5) | int main( ){
FILE: 047_audioReactive/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 048_audioReactivePolyline/src/main.cpp
function main (line 5) | int main( ){
FILE: 048_audioReactivePolyline/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 049_interactLinesKinect/src/main.cpp
function main (line 5) | int main( ){
FILE: 049_interactLinesKinect/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 050_box2dKinectInteractive/src/main.cpp
function main (line 5) | int main( ){
FILE: 050_box2dKinectInteractive/src/ofApp.h
function class (line 9) | class ofApp : public ofBaseApp{
FILE: 051_polylineDifferenceInteractive/src/main.cpp
function main (line 5) | int main( ){
FILE: 051_polylineDifferenceInteractive/src/ofApp.h
function class (line 10) | class ofApp : public ofBaseApp{
FILE: 052_ofShaderChromaKey/src/main.cpp
function main (line 5) | int main( ){
FILE: 052_ofShaderChromaKey/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 053_ofxCvBlurEffects/src/main.cpp
function main (line 5) | int main( ){
FILE: 053_ofxCvBlurEffects/src/ofApp.h
function class (line 11) | class ofApp : public ofBaseApp{
FILE: 054_ofxDelaunay/src/main.cpp
function main (line 5) | int main( ){
FILE: 054_ofxDelaunay/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 055_ofLight/src/main.cpp
function main (line 5) | int main( ){
FILE: 055_ofLight/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 056_ofxPostProcessing/src/main.cpp
function main (line 5) | int main( ){
FILE: 056_ofxPostProcessing/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 057_ofxSequencer/src/main.cpp
function main (line 5) | int main( ){
FILE: 057_ofxSequencer/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 058_ofxMidi/src/main.cpp
function main (line 5) | int main( ){
FILE: 059_ofxHapPlayer/src/main.cpp
function main (line 5) | int main( ){
FILE: 059_ofxHapPlayer/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 060_constellationControl/src/main.cpp
function main (line 5) | int main( ){
FILE: 060_constellationControl/src/ofApp.h
function class (line 8) | class ofApp : public ofBaseApp{
FILE: 061_mosaicCircles/src/main.cpp
function main (line 5) | int main( ){
FILE: 061_mosaicCircles/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 062_polygonShapes/src/main.cpp
function main (line 5) | int main( ){
FILE: 062_polygonShapes/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 063_visualStudioCode/src/main.cpp
function main (line 5) | int main( ){
FILE: 063_visualStudioCode/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 064_funWithTriangles/src/main.cpp
function main (line 5) | int main( ){
FILE: 064_funWithTriangles/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 065_colorDropper/src/main.cpp
function main (line 5) | int main( ){
FILE: 065_colorDropper/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 066_colorTracking/src/main.cpp
function main (line 5) | int main( ){
FILE: 066_colorTracking/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 067_meshNoise/src/main.cpp
function main (line 5) | int main( ){
FILE: 067_meshNoise/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 068_ofxFFmpegRecorder/src/main.cpp
function main (line 5) | int main( ){
FILE: 068_ofxFFmpegRecorder/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 069_circleLoop/src/main.cpp
function main (line 5) | int main( ){
FILE: 069_circleLoop/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 070_cylinderLoop/src/main.cpp
function main (line 5) | int main( ){
FILE: 070_cylinderLoop/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 071_crossLoop/src/main.cpp
function main (line 5) | int main( ){
FILE: 071_crossLoop/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
FILE: 072_rectangleLoop/src/main.cpp
function main (line 5) | int main( ){
FILE: 072_rectangleLoop/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 073_rectangleLoop02/src/main.cpp
function main (line 5) | int main( ){
FILE: 073_rectangleLoop02/src/ofApp.h
function class (line 5) | class ofApp : public ofBaseApp{
FILE: 074_torusLoop/src/main.cpp
function main (line 5) | int main( ){
FILE: 074_torusLoop/src/ofApp.h
function class (line 7) | class ofApp : public ofBaseApp{
FILE: 075_rectangleLoop03/src/main.cpp
function main (line 5) | int main( ){
FILE: 075_rectangleLoop03/src/ofApp.h
function class (line 6) | class ofApp : public ofBaseApp{
Condensed preview — 302 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,805K chars).
[
{
"path": "001_projectSetup/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "001_projectSetup/src/ofApp.cpp",
"chars": 1564,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "001_projectSetup/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "003_2DShapes/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "003_2DShapes/src/ofApp.cpp",
"chars": 1820,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "003_2DShapes/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "004_3DShapes/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "004_3DShapes/src/ofApp.cpp",
"chars": 1755,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "004_3DShapes/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "005_translate/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "005_translate/src/ofApp.cpp",
"chars": 1646,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "005_translate/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "006_color/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "006_color/src/ofApp.cpp",
"chars": 1655,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n// ofSetBackg"
},
{
"path": "006_color/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "007_image/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "007_image/src/ofApp.cpp",
"chars": 1669,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n image.load(\""
},
{
"path": "007_image/src/ofApp.h",
"chars": 563,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "008_text/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "008_text/src/ofApp.cpp",
"chars": 1601,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "008_text/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "009_font/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "009_font/src/ofApp.cpp",
"chars": 1691,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n font.load(\"a"
},
{
"path": "009_font/src/ofApp.h",
"chars": 584,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "010_audio/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "010_audio/src/ofApp.cpp",
"chars": 1669,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n drumloop.loa"
},
{
"path": "010_audio/src/ofApp.h",
"chars": 572,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "011_video/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "011_video/src/ofApp.cpp",
"chars": 1650,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n video.load(\""
},
{
"path": "011_video/src/ofApp.h",
"chars": 569,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "012_webcam/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "012_webcam/src/ofApp.cpp",
"chars": 1588,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n webcam.setup"
},
{
"path": "012_webcam/src/ofApp.h",
"chars": 571,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "013_keyboard/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "013_keyboard/src/ofApp.cpp",
"chars": 1799,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "013_keyboard/src/ofApp.h",
"chars": 564,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "014_mouse/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "014_mouse/src/ofApp.cpp",
"chars": 1647,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "014_mouse/src/ofApp.h",
"chars": 586,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "015_smoothing/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "015_smoothing/src/ofApp.cpp",
"chars": 1677,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n ofBackground"
},
{
"path": "015_smoothing/src/ofApp.h",
"chars": 543,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "016_screenshot/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "016_screenshot/src/ofApp.cpp",
"chars": 1826,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "016_screenshot/src/ofApp.h",
"chars": 600,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "017_ofxGui/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "017_ofxGui/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "017_ofxGui/src/ofApp.cpp",
"chars": 2638,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n gui.setup();"
},
{
"path": "017_ofxGui/src/ofApp.h",
"chars": 870,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid "
},
{
"path": "018_ofParameter/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "018_ofParameter/src/Circle.cpp",
"chars": 402,
"preview": "//\n// Circle.cpp\n// 018_ofParameter\n//\n// Created by Lewis Lepton on 29/07/2019.\n//\n\n#include \"Circle.hpp\"\n\nvoid Circ"
},
{
"path": "018_ofParameter/src/Circle.hpp",
"chars": 320,
"preview": "//\n// Circle.hpp\n// 018_ofParameter\n//\n// Created by Lewis Lepton on 29/07/2019.\n//\n\n#ifndef Circle_hpp\n#define Circl"
},
{
"path": "018_ofParameter/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "018_ofParameter/src/ofApp.cpp",
"chars": 1952,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n sliderGroup."
},
{
"path": "018_ofParameter/src/ofApp.h",
"chars": 753,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n#include \"Circle.hpp\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t"
},
{
"path": "019_ofEasyCam/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "019_ofEasyCam/src/ofApp.cpp",
"chars": 1625,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n cam.setDista"
},
{
"path": "019_ofEasyCam/src/ofApp.h",
"chars": 563,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "020_rotation/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "020_rotation/src/ofApp.cpp",
"chars": 1705,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "020_rotation/src/ofApp.h",
"chars": 562,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "021_ofxOsc/021_ofxOsc.jzml",
"chars": 4277,
"preview": "<JZML>\n<PROJECT title=\"021_ofxOsc\" version=\"5350\" width=\"1024\" height=\"724\" osc_target=\"-1\" midi_target=\"-1\" kbmouse_tar"
},
{
"path": "021_ofxOsc/addons.make",
"chars": 7,
"preview": "ofxOsc\n"
},
{
"path": "021_ofxOsc/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "021_ofxOsc/src/ofApp.cpp",
"chars": 1873,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n osc.setup(PO"
},
{
"path": "021_ofxOsc/src/ofApp.h",
"chars": 651,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxOsc.h\"\n\n#define PORT 12345\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tv"
},
{
"path": "022_dragDrop/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "022_dragDrop/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "022_dragDrop/src/ofApp.cpp",
"chars": 2427,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "022_dragDrop/src/ofApp.h",
"chars": 633,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "023_fullscreen/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "023_fullscreen/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "023_fullscreen/src/ofApp.cpp",
"chars": 1742,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n gui.setup();"
},
{
"path": "023_fullscreen/src/ofApp.h",
"chars": 609,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid "
},
{
"path": "024_ofFbo/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "024_ofFbo/src/ofApp.cpp",
"chars": 1746,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n image.load(\""
},
{
"path": "024_ofFbo/src/ofApp.h",
"chars": 576,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "025_lineDrawing/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "025_lineDrawing/src/ofApp.cpp",
"chars": 1851,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n\n}\n\n//--------"
},
{
"path": "025_lineDrawing/src/ofApp.h",
"chars": 637,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\n#define MAXPOINTS 100\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvo"
},
{
"path": "026_projectDraw/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "026_projectDraw/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "026_projectDraw/src/ofApp.cpp",
"chars": 2529,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n ofEnableSmoo"
},
{
"path": "026_projectDraw/src/ofApp.h",
"chars": 799,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid "
},
{
"path": "027_3DModels/addons.make",
"chars": 21,
"preview": "ofxAssimpModelLoader\n"
},
{
"path": "027_3DModels/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "027_3DModels/bin/data/object.dae",
"chars": 7934,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<COLLADA xmlns=\"http://www.collada.org/2005/11/COLLADASchema\" version=\"1.4.1\" xml"
},
{
"path": "027_3DModels/bin/data/object.obj",
"chars": 1083,
"preview": "# Blender v2.80 (sub 75) OBJ File: ''\n# www.blender.org\nmtllib object.mtl\no Cube\nv 1.000000 1.000000 -1.000000\nv 1.00000"
},
{
"path": "027_3DModels/bin/data/object.ply",
"chars": 2227,
"preview": "ply\nformat ascii 1.0\ncomment Created by Blender 2.80 (sub 75) - www.blender.org, source file: ''\nelement vertex 24\nprope"
},
{
"path": "027_3DModels/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "027_3DModels/src/ofApp.cpp",
"chars": 1663,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n model.loadMo"
},
{
"path": "027_3DModels/src/ofApp.h",
"chars": 645,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxAssimpModelLoader.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid se"
},
{
"path": "028_ofxOpenCv/addons.make",
"chars": 10,
"preview": "ofxOpenCv\n"
},
{
"path": "028_ofxOpenCv/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "028_ofxOpenCv/src/ofApp.cpp",
"chars": 1833,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n camera.setup"
},
{
"path": "028_ofxOpenCv/src/ofApp.h",
"chars": 653,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxOpenCv.h\"\n\nclass ofApp : public ofBaseApp{\n \npublic:\n void setup();\n v"
},
{
"path": "029_ofxOpenCvContour/addons.make",
"chars": 10,
"preview": "ofxOpenCv\n"
},
{
"path": "029_ofxOpenCvContour/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "029_ofxOpenCvContour/src/ofApp.cpp",
"chars": 2357,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n camera.setup"
},
{
"path": "029_ofxOpenCvContour/src/ofApp.h",
"chars": 794,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxOpenCv.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvo"
},
{
"path": "030_ofxOpenCvHaar/addons.make",
"chars": 10,
"preview": "ofxOpenCv\n"
},
{
"path": "030_ofxOpenCvHaar/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "030_ofxOpenCvHaar/bin/data/haarcascade_frontalface_default.xml",
"chars": 1254733,
"preview": "<?xml version=\"1.0\"?>\n<!--\n Stump-based 24x24 discrete(?) adaboost frontal face detector.\n Created by Rainer Lienh"
},
{
"path": "030_ofxOpenCvHaar/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "030_ofxOpenCvHaar/src/ofApp.cpp",
"chars": 2044,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n camera.setup"
},
{
"path": "030_ofxOpenCvHaar/src/ofApp.h",
"chars": 680,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxCvHaarFinder.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup()"
},
{
"path": "031_ofxPS3EyeGrabber/addons.make",
"chars": 37,
"preview": "ofxKinect\nofxOpenCv\nofxPS3EyeGrabber\n"
},
{
"path": "031_ofxPS3EyeGrabber/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "031_ofxPS3EyeGrabber/src/ofApp.cpp",
"chars": 1637,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n camera.setGr"
},
{
"path": "031_ofxPS3EyeGrabber/src/ofApp.h",
"chars": 601,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxPS3EyeGrabber.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup("
},
{
"path": "032_ofxPS3EyeGrabberHaar/addons.make",
"chars": 37,
"preview": "ofxKinect\nofxOpenCv\nofxPS3EyeGrabber\n"
},
{
"path": "032_ofxPS3EyeGrabberHaar/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "032_ofxPS3EyeGrabberHaar/bin/data/haarcascade_frontalface_default.xml",
"chars": 1254733,
"preview": "<?xml version=\"1.0\"?>\n<!--\n Stump-based 24x24 discrete(?) adaboost frontal face detector.\n Created by Rainer Lienh"
},
{
"path": "032_ofxPS3EyeGrabberHaar/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "032_ofxPS3EyeGrabberHaar/src/ofApp.cpp",
"chars": 2103,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n camera.setGr"
},
{
"path": "032_ofxPS3EyeGrabberHaar/src/ofApp.h",
"chars": 707,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxPS3EyeGrabber.h\"\n#include \"ofxCvHaarFinder.h\"\n\nclass ofApp : public ofBas"
},
{
"path": "033_ofxKinect/addons.make",
"chars": 10,
"preview": "ofxKinect\n"
},
{
"path": "033_ofxKinect/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "033_ofxKinect/src/ofApp.cpp",
"chars": 2499,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n kinect01.ini"
},
{
"path": "033_ofxKinect/src/ofApp.h",
"chars": 720,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxKinect.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvo"
},
{
"path": "034_ofxKinectHaar/addons.make",
"chars": 20,
"preview": "ofxKinect\nofxOpenCv\n"
},
{
"path": "034_ofxKinectHaar/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "034_ofxKinectHaar/bin/data/haarcascade_frontalface_default.xml",
"chars": 1254733,
"preview": "<?xml version=\"1.0\"?>\n<!--\n Stump-based 24x24 discrete(?) adaboost frontal face detector.\n Created by Rainer Lienh"
},
{
"path": "034_ofxKinectHaar/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "034_ofxKinectHaar/src/ofApp.cpp",
"chars": 2594,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n kinect.init("
},
{
"path": "034_ofxKinectHaar/src/ofApp.h",
"chars": 731,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxKinect.h\"\n#include \"ofxCvHaarFinder.h\"\n\nclass ofApp : public ofBaseApp{\n\n"
},
{
"path": "035_ofxKinectV2/addons.make",
"chars": 12,
"preview": "ofxKinectV2\n"
},
{
"path": "035_ofxKinectV2/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "035_ofxKinectV2/src/ofApp.cpp",
"chars": 1698,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n kinect.open("
},
{
"path": "035_ofxKinectV2/src/ofApp.h",
"chars": 631,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxKinectV2.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\t"
},
{
"path": "036_ofxKinectV2Haar/addons.make",
"chars": 22,
"preview": "ofxKinectV2\nofxOpenCv\n"
},
{
"path": "036_ofxKinectV2Haar/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "036_ofxKinectV2Haar/bin/data/haarcascade_frontalface_default.xml",
"chars": 1254733,
"preview": "<?xml version=\"1.0\"?>\n<!--\n Stump-based 24x24 discrete(?) adaboost frontal face detector.\n Created by Rainer Lienh"
},
{
"path": "036_ofxKinectV2Haar/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "036_ofxKinectV2Haar/src/ofApp.cpp",
"chars": 1992,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n kinect.open("
},
{
"path": "036_ofxKinectV2Haar/src/ofApp.h",
"chars": 719,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxKinectV2.h\"\n#include \"ofxCvHaarFinder.h\"\n\nclass ofApp : public ofBaseApp{"
},
{
"path": "037_videoTexturePixels/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "037_videoTexturePixels/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "037_videoTexturePixels/src/ofApp.cpp",
"chars": 1770,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n video.load(\""
},
{
"path": "037_videoTexturePixels/src/ofApp.h",
"chars": 590,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "038_ofNoise/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "038_ofNoise/src/ofApp.cpp",
"chars": 1903,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n speedx.resiz"
},
{
"path": "038_ofNoise/src/ofApp.h",
"chars": 613,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\n#define AMOUNT 12\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid u"
},
{
"path": "039_videoPlayerGui/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "039_videoPlayerGui/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "039_videoPlayerGui/src/ofApp.cpp",
"chars": 2079,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n video.load(\""
},
{
"path": "039_videoPlayerGui/src/ofApp.h",
"chars": 725,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid "
},
{
"path": "040_ofxCv/addons.make",
"chars": 23,
"preview": "ofxCv\nofxGui\nofxOpenCv\n"
},
{
"path": "040_ofxCv/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "040_ofxCv/src/ofApp.cpp",
"chars": 2006,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n webcam.setup"
},
{
"path": "040_ofxCv/src/ofApp.h",
"chars": 732,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxCv.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvo"
},
{
"path": "041_ofxCvCameras/addons.make",
"chars": 55,
"preview": "ofxCv\nofxKinect\nofxKinectV2\nofxOpenCv\nofxPS3EyeGrabber\n"
},
{
"path": "041_ofxCvCameras/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "041_ofxCvCameras/src/ofApp.cpp",
"chars": 2588,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n ps3eye.setGr"
},
{
"path": "041_ofxCvCameras/src/ofApp.h",
"chars": 802,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxCv.h\"\n#include \"ofxPS3EyeGrabber.h\"\n#include \"ofxKinect.h\"\n#include \"ofxK"
},
{
"path": "042_ofxCvHaar/addons.make",
"chars": 16,
"preview": "ofxCv\nofxOpenCv\n"
},
{
"path": "042_ofxCvHaar/bin/data/haarcascade_frontalface_default.xml",
"chars": 1254733,
"preview": "<?xml version=\"1.0\"?>\n<!--\n Stump-based 24x24 discrete(?) adaboost frontal face detector.\n Created by Rainer Lienh"
},
{
"path": "042_ofxCvHaar/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "042_ofxCvHaar/src/ofApp.cpp",
"chars": 1756,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n finder.setup"
},
{
"path": "042_ofxCvHaar/src/ofApp.h",
"chars": 623,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxCv.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid u"
},
{
"path": "043_ofShader/bin/data/shader.frag",
"chars": 174,
"preview": "#version 150\n\nout vec4 outputColor;\n\nvoid main(){\n\tfloat red = 0.3;\n\tfloat green = 0.6;\n\tfloat blue = 0.3;\n\tfloat alpha "
},
{
"path": "043_ofShader/bin/data/shader.vert",
"chars": 142,
"preview": "#version 150\n\nuniform mat4 modelViewProjectionMatrix;\n\nin vec4 position;\n\nvoid main(){\n\tgl_Position = modelViewProjectio"
},
{
"path": "043_ofShader/src/main.cpp",
"chars": 437,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "043_ofShader/src/ofApp.cpp",
"chars": 1626,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n shader.load("
},
{
"path": "043_ofShader/src/ofApp.h",
"chars": 565,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "044_ofShaderUniform/bin/data/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "044_ofShaderUniform/bin/data/shader.frag",
"chars": 198,
"preview": "#version 150\n\nout vec4 outputColor;\n\nuniform float u_red;\n\nvoid main(){\n\tfloat red = u_red;\n\tfloat green = 0.5;\n\tfloat b"
},
{
"path": "044_ofShaderUniform/bin/data/shader.vert",
"chars": 141,
"preview": "#version 150\n\nuniform mat4 modelViewProjectionMatrix;\n\nin vec4 position;\n\nvoid main(){\n\tgl_Position = modelViewProjectio"
},
{
"path": "044_ofShaderUniform/src/main.cpp",
"chars": 437,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "044_ofShaderUniform/src/ofApp.cpp",
"chars": 1742,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n shader.load("
},
{
"path": "044_ofShaderUniform/src/ofApp.h",
"chars": 565,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "045_ofxShader/addons.make",
"chars": 10,
"preview": "ofxShader\n"
},
{
"path": "045_ofxShader/bin/data/shader.frag",
"chars": 262,
"preview": "#ifdef GL_ES\nprecision mediump float;\n#endif\n\nuniform float u_time;\nuniform vec2 u_resolution;\nuniform vec2 u_mouse;\nuni"
},
{
"path": "045_ofxShader/bin/data/shader.vert",
"chars": 180,
"preview": "#ifdef GL_ES\nprecision mediump float;\n#endif\n\nuniform mat4 modelViewProjectionMatrix;\n\nattribute vec4 position;\n\nvoid ma"
},
{
"path": "045_ofxShader/src/main.cpp",
"chars": 437,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "045_ofxShader/src/ofApp.cpp",
"chars": 1900,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n// shader.loa"
},
{
"path": "045_ofxShader/src/ofApp.h",
"chars": 653,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxShader.h\"\n#include \"ofxShaderFilter.h\"\n\nclass ofApp : public ofBaseApp{\n\n"
},
{
"path": "046_ofxBox2d/addons.make",
"chars": 9,
"preview": "ofxBox2d\n"
},
{
"path": "046_ofxBox2d/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "046_ofxBox2d/src/ofApp.cpp",
"chars": 3710,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n box2d.init()"
},
{
"path": "046_ofxBox2d/src/ofApp.h",
"chars": 797,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxBox2d.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoi"
},
{
"path": "047_audioReactive/addons.make",
"chars": 7,
"preview": "ofxGui\n"
},
{
"path": "047_audioReactive/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "047_audioReactive/src/ofApp.cpp",
"chars": 2211,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n sound.load(\""
},
{
"path": "047_audioReactive/src/ofApp.h",
"chars": 719,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxGui.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid "
},
{
"path": "048_audioReactivePolyline/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "048_audioReactivePolyline/src/ofApp.cpp",
"chars": 2085,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n sound.load(\""
},
{
"path": "048_audioReactivePolyline/src/ofApp.h",
"chars": 623,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvoid update();\n\t\tvoid dra"
},
{
"path": "049_interactLinesKinect/addons.make",
"chars": 10,
"preview": "ofxKinect\n"
},
{
"path": "049_interactLinesKinect/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "049_interactLinesKinect/src/ofApp.cpp",
"chars": 2233,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n kinect.init("
},
{
"path": "049_interactLinesKinect/src/ofApp.h",
"chars": 606,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxKinect.h\"\n\nclass ofApp : public ofBaseApp{\n\n\tpublic:\n\t\tvoid setup();\n\t\tvo"
},
{
"path": "050_box2dKinectInteractive/addons.make",
"chars": 36,
"preview": "ofxBox2d\nofxGui\nofxKinect\nofxOpenCv\n"
},
{
"path": "050_box2dKinectInteractive/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "050_box2dKinectInteractive/src/ofApp.cpp",
"chars": 3576,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n gui.setup();"
},
{
"path": "050_box2dKinectInteractive/src/ofApp.h",
"chars": 1114,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxBox2d.h\"\n#include \"ofxGui.h\"\n#include \"ofxKinect.h\"\n#include \"ofxOpenCv.h"
},
{
"path": "051_polylineDifferenceInteractive/addons.make",
"chars": 26,
"preview": "ofxOpenCv\nofxCv\nofxKinect\n"
},
{
"path": "051_polylineDifferenceInteractive/src/main.cpp",
"chars": 341,
"preview": "#include \"ofMain.h\"\n#include \"ofApp.h\"\n\n//========================================================================\nint m"
},
{
"path": "051_polylineDifferenceInteractive/src/ofApp.cpp",
"chars": 2213,
"preview": "#include \"ofApp.h\"\n\n//--------------------------------------------------------------\nvoid ofApp::setup(){\n ofBackground"
},
{
"path": "051_polylineDifferenceInteractive/src/ofApp.h",
"chars": 761,
"preview": "#pragma once\n\n#include \"ofMain.h\"\n#include \"ofxCv.h\"\n#include \"ofxKinect.h\"\n\nusing namespace ofxCv;\nusing namespace cv;\n"
}
]
// ... and 102 more files (download for full content)
About this extraction
This page contains the full source code of the lewislepton/openFrameworksTutorialSeries GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 302 files (6.3 MB), approximately 1.7M tokens, and a symbol index with 148 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.