view of/testApp.cpp @ 33:85d158045994

Cleaned up some formatting, no content change.
author Becky Stewart <rebecca.stewart@eecs.qmul.ac.uk>
date Fri, 25 Feb 2011 12:02:22 +0000
parents 7b6dfc67d51e
children 8ab665941557
line wrap: on
line source
#include "testApp.h"

//--------------------------------------------------------------
void testApp::setup(){
	drawIt=false;
	// load the default ofxOpenNI config settings
	// see bin/data/openni/config/ofxopenni_config.xml
	context.setupUsingXMLFile();
	
	// uncomment this to see what open ni is doing inside
	//context.enableLogging(OF_LOG_VERBOSE);
	
	// setup resources
	depth.setup(&context);
	image.setup(&context);
	user.setup(&context, &depth);
//	Davy.loadImage("images/davy.jpg");
   ofEnableSmoothing();
   ofSetBackgroundAuto(false);
   ofBackground(238,238,224);
   ofEnableAlphaBlending();
   ofSetLineWidth(12);
}

//--------------------------------------------------------------
void testApp::update(){
	
	
	// update the open ni context and user tracker
	context.update();
	user.update();
}

//--------------------------------------------------------------
void testApp::draw(){
	
	// draw depth and rgb images
	//depth.draw();
if (drawIt != true)	{
image.draw();
user.draw();	
}
	// draw all the users automatically?

	
	
	stringstream info;
	info << "number of tracked users: " << user.getNumTrackedUsers() << endl;
	
	// draw the neck positions of each user
	for(int i = 0; i < user.getNumTrackedUsers(); ++i) {
		ofxTrackedUser* tracked = user.getTrackedUser(i);
		if(tracked != NULL) {
			info << i << " neck pos: "
				 << tracked->left_lower_arm.end.x << " " 
				 << tracked->left_lower_arm.end.y << " "
				 << tracked->neck.begin.z << endl; 
			
            if (tracked->neck.begin.x != 0)
                 ofSetColor(139,0,0,100);
            
            ofNoFill();
            float w = ofGetWidth();
            float h = ofGetHeight();
            ofBezier(tracked->neck.begin.x,
                     tracked->neck.begin.y,
                     tracked->neck.end.x,
                     tracked->neck.end.y,
                     tracked->left_lower_arm.begin.x,
                     tracked->left_lower_arm.begin.y,
                     tracked->left_lower_arm.end.x,
                    /*tracked->left_lower_arm.end.y*/ w);
                      
            ofBezier(tracked->neck.begin.x,
                     tracked->neck.begin.y,
                     tracked->neck.end.x,
                     tracked->neck.end.y,
                     tracked->right_lower_arm.begin.x,
                     tracked->right_lower_arm.begin.y,
                     tracked->right_lower_arm.end.x,
                    /*tracked->right_lower_arm.end.y*/ w);
                      
            ofBezier(tracked->neck.begin.x,
                     tracked->neck.begin.y,
                     tracked->neck.end.x,
                     tracked->neck.end.y,
                     tracked->left_lower_leg.begin.x,
                     tracked->left_lower_leg.begin.y,
                     tracked->left_lower_leg.end.x,
                    /*tracked->left_lower_leg.end.y*/ h);
                      
            ofBezier(tracked->neck.begin.x,
                    tracked->neck.begin.y,
                    tracked->neck.end.x,
                    tracked->neck.end.y,
                    tracked->right_lower_leg.begin.x,
                    tracked->right_lower_leg.begin.y,
                    tracked->right_lower_leg.end.x,
                    /*tracked->right_lower_leg.end.y*/ h);
            ofFill();
            ofSetColor(255,255,100);
            ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30);
            ofSetColor(0);
            ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,35);
            ofSetColor(255,255,100);
            ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30);
            ofSetColor(0);
            ofCircle(tracked->neck.begin.x+10.0f,tracked->neck.begin.y,6);
            ofCircle(tracked->neck.begin.x-10.0f,tracked->neck.begin.y,6);
        }
    }
	ofFill();
	ofSetColor(238,238,224,20);
	ofRect(0,0,ofGetWidth(),ofGetHeight());
	ofDrawBitmapString(info.str(), 10, 500);
}

//--------------------------------------------------------------
void testApp::keyPressed(int key){
	ofSetColor(238,238,224);
	ofRect(0,0,ofGetWidth(),ofGetHeight());
drawIt =!drawIt;
  ofToggleFullscreen();
}

//--------------------------------------------------------------
void testApp::keyReleased(int key){

}

//--------------------------------------------------------------
void testApp::mouseMoved(int x, int y ){

}

//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){

}

//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
	ofSetColor(238,238,224);
	ofFill();
	ofRect(0,0,ofGetWidth(),ofGetHeight());

}

//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){

}

//--------------------------------------------------------------
void testApp::windowResized(int w, int h){

}