Esempio n. 1
0
strangeWindow::strangeWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::strangeWindow)
{
    ui->setupUi(this);
    this->connect(ui->paintButton,SIGNAL(clicked()),SLOT(paintPressed()));
    mainWidget = new strangewidget();
    ui->mainLayout->addWidget(mainWidget);

    // extra ui settings
    ui->slider_a->setValue(-97);
    ui->slider_b->setValue(288);
    ui->slider_c->setValue(76);
    ui->slider_d->setValue(74);

    // extra connects
    this->connect(ui->slider_a,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->slider_b,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->slider_c,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->slider_d,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->spin_a,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->spin_b,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->spin_c,SIGNAL(updateGenerator()),SLOT(sendUpdate()));
    this->connect(ui->spin_d,SIGNAL(updateGenerator()),SLOT(sendUpdate()));

}
//--------------------------------------------------------
void captureApp::handleProjection(){		
	
	if (panel.hasValueChanged("wavelength") ||
		panel.hasValueChanged("minBrightness") ||
		panel.hasValueChanged("maxBrightness") || 
		panel.hasValueChanged("projectorLut") ||
		panel.hasValueChanged("orientation")) {	
		updateGenerator();
	}
	
	threePhase.setReverse(panel.getValueB("reverse"));
	
	if( panel.hasValueChanged("fullscreen") ) {
		ofSetFullscreen(panel.getValueB("fullscreen"));
	}
}
Esempio n. 3
0
void LVL_Npc::update(float tickTime)
{
    float accelCof=tickTime/1000.0f;
    if(killed) return;
    if(wasDeactivated) return;

    _onGround = !collided_bottom.isEmpty();

    if(isGenerator)
    {
        updateCollisions();
        activationTimeout-=tickTime;
        updateGenerator(tickTime);
        return;
    }

    event_queue.processEvents(tickTime);

    if(warpSpawing)
    {
        setSpeed(0.0, 0.0);
        return;
    }

    PGE_Phys_Object::update(tickTime);
    if(deActivatable) activationTimeout-=tickTime;
    animator.manualTick(tickTime);

    if(motionSpeed!=0)
    {
        if(!collided_left.isEmpty())
            setDirection(1);
        else if(!collided_right.isEmpty())
            setDirection(-1);
        else if(setup->turn_on_cliff_detect && cliffDetected)
        {
            setDirection(_direction*-1);
            cliffDetected=false;
        }

        setSpeedX((motionSpeed*accelCof)*_direction);
    }
    if(not_movable())
    {
        detector_player_pos.processDetector();
        if(detector_player_pos.directedTo()!=0)
            setDirection(detector_player_pos.directedTo());
    }

    LVL_Section *section=sct();
    PGE_RectF sBox = section->sectionRect();

    if(section->isWarp())
    {
        if(posX()<sBox.left()-_width-1 )
            setPosX(sBox.right()-1);
        else if(posX()>sBox.right() + 1 )
            setPosX(sBox.left()-_width+1);
    }

    for(int i=0; i<detectors.size(); i++)
        detectors[i]->processDetector();

    try {
        lua_onLoop(tickTime);
    } catch (luabind::error& e) {
        LvlSceneP::s->getLuaEngine()->postLateShutdownError(e);
    }
}
//--------------------------------------------------------
void captureApp::setup(){
	ofSetLogLevel(OF_LOG_NOTICE);
	serial.enumerateDevices();
	
	ofxXmlSettings serialSetup;
	serialSetup.loadFile("serialSettings.xml");
	string serialPort = serialSetup.getValue("serialPort", "");
	serial.setup(serialPort, 9600);		// < this should be set
	// to whatever com port
	// your serial device is 
	// connected to.  
	// (ie, COM4 on a pc, dev/tty.... on a mac)
	// arduino users check in arduino app....
	serial.flush();
	
	state			= CAP_STATE_WAITING;
	debugState		= CAP_NORMAL;
	camState		= CAMERA_CLOSED;
	prevCamState	= CAMERA_CLOSED;
	
	preCamMode				= 0;
	cameraFrameNum			= 0;
	sdk						= NULL;
	settings				= NULL;
	timeToEndCapture		= 0.0;
	bNeedsToLeaveFrame		= false;
	bOscSetup				= false;
	fadeInStartTime			= 0.0;
	spotLightAlpha			= 1.0;
	bDoThreadedRSync		= false;
	bDoThreadedFrameSave	= false;
	
	camera3D.disableMouseEvents();
				
	if( !ofxFileHelper::doesFileExist(CAPTURE_MAIN_FOLDER) ){
		printf("making folder %s\n", CAPTURE_MAIN_FOLDER.c_str());
		ofxFileHelper::makeDirectory(CAPTURE_MAIN_FOLDER);
	}
	
	if( !ofxFileHelper::doesFileExist(EXPORT_FOLDER) ){
		printf("making folder %s\n", EXPORT_FOLDER.c_str());	
		ofxFileHelper::makeDirectory(EXPORT_FOLDER);
		if( !ofxFileHelper::doesFileExist(DECODE_FOLDER) ){
			ofxFileHelper::makeDirectory(DECODE_FOLDER);
		}		
	}
	
	ofxXmlSettings xml;
	xml.loadFile("locationSettings.xml");
	currentCity			= xml.getValue("city_name", "NYC");
	transformSpaces(currentCity); //remove space and add underscores
	currentDecodePath		= DECODE_FOLDER;
	currentCaptureFolder    = string(CAPTURE_MAIN_FOLDER) + FRAME_CAPTURE_FOLDER;
	currentTimestamp		= (ofxTimeStamp()).getUnixTimeAsString();
	
	// setup panel
	panel.setup("control", 0, 0, 300, 768);

	panel.setBackgroundColor(simpleColor(10, 10, 10, 0));
		
	//panel.loadFont("resources/myFont.ttf", 9);
	panel.addPanel("app/capture settings", 1);
	panel.addPanel("app settings", 1);
	panel.addPanel("face trigger settings", 1);
	panel.addPanel("pattern settings", 1);
	panel.addPanel("misc settings", 1);
	
	panel.setWhichPanel("app/capture settings");

	panel.addToggle("use face trigger", "B_FACE_TRIGGER", false);
	
	vector <string> camModes;
	camModes.push_back("camera off");
	camModes.push_back("camera qt");
	camModes.push_back("camera dc1394");
	
	panel.addMultiToggle("camera mode", "camMode", 0, camModes);
	
	panel.addToggle("camera settings", "cameraSettings", false);
	
	panel.addToggle("overide light", "bOverideLight", true);
	panel.addToggle("show red clipping", "SHOW_RED", true);

	panel.addToggle("fullscreen", "fullscreen", false);
	
	panel.addToggle("spot light image", "bSpotLight", true);
	panel.addSlider("spotlight %", "spotLightBrightness", 1.0, 0.0, 1.0, false);
	
	panel.addToggle("frame by frame", "frameByFrame", false);
	panel.addToggle("large video", "largeVideo", false);

	panel.addSlider("min brightness", "minBrightness", 0, 0, 255, true);
	panel.addSlider("max brightness", "maxBrightness", 255, 0, 255, true);	
	panel.addSlider("3 phase - wavelength", "wavelength", 64, 8, 512, true);
	panel.addToggle("use projector lut", "projectorLut", false);
		
	panel.setWhichPanel("app settings");
	
	panel.addSlider("fade in time", "fadeInTime", 2.0, 0.0, 5.0, false);
	
	vector<string> postCapModes;
	postCapModes.push_back("save frames");
	postCapModes.push_back("decode and frames");
	postCapModes.push_back("decode, export and frames");
	postCapModes.push_back("all above + notify");
	panel.addMultiToggle("post capture:", "postCapture", 2, postCapModes);
	
	panel.addToggle("notify with osc", "use_osc", false);
	
	panel.addSlider("decode skip frames", "decodeSkipFrame", 2, 0, 5, true);
	
	panel.addSlider("capture time f", "CAPTURE_TIME_F", 4.0, 2.0, 15.0, false);
	
	panel.setWhichPanel("pattern settings");
	
	panel.addSlider("pattern rate", "patternRate", 1, 1, 6, true);
	panel.addSlider("camera rate", "cameraRate", 1, 1, 6, true);
	panel.addSlider("camera offset", "cameraOffset", 0, 0, 5, true);
	
	panel.addToggle("reverse", "reverse", false);
	
	vector<string> orientations;
	orientations.push_back("vertical");
	orientations.push_back("horizonal");
	panel.addMultiToggle("orientation", "orientation", 0, orientations);
	
	
	panel.setWhichPanel("face trigger settings");
	panel.addSlider("face trigger fps", "FACE_FPS", 10, 3, 30, false);
	panel.addSlider("face detected time", "FACE_DETECT_TIME", 2.0, 0.1, 10.0, false);
	panel.addSlider("face forget time", "FACE_FORGET_TIME", 2.0, 0.1, 10.0, false);
	
	guiStatVarPointer varPtr;
	varPtr.setup("num faces", &face.numFaces, GUI_VAR_INT, true);
	panel.addChartPlotter("num faces", varPtr, 240, 60, 240, -1, 3);
	panel.addChartPlotter("face confidence", guiStatVarPointer("confidence", &face.confidence, GUI_VAR_FLOAT, true, 2), 240, 70, 240, -0.2, 1.2);
	
	panel.addDrawableRect("state", &face, 240, 40);
	
	panel.addSlider("confidence add amnt", "confidence_add", 0.1, 0.05, 1.0, false);
	panel.addSlider("confidence fade amnt", "confidence_fade", 0.95, 0.8, 0.995, false);
	panel.addSlider("confidence gate start val", "confidence_gate_start", 0.65, 0.15, 1.0, false);
	panel.addSlider("confidence gate stop val", "confidence_gate_stop", 0.4, 0.0, 1.0, false);
	
	panel.setWhichPanel("misc settings");
	
	panel.addToggle("brightness setting", "brightnessSetting", false);
	panel.addSlider("check brigheness", "checkBrightness", 0, 0, 255, true);
	panel.addToggle("delete after transfer", "bDeleteAfterSend", false);
	panel.addToggle("restart at 3.00am", "bRestart", false);
	panel.addSlider("restart hour", "restartHour", 3, 1, 23, true);
	panel.addSlider("restart minute", "restartMinute", 0, 0, 59, true);
	
	panel.loadSettings("controlCapture.xml");
	
	if( panel.getValueB("use_osc") ){
		setupOsc();
	}
	
	//overides 
	//panel.setValueI("camMode", 0);
	panel.setValueI("fullscreen", 1);
	panel.setValueI("cameraSettings", 0);
	panel.setValueI("frameByFrame", 0);
	panel.setValueI("largeVideo", 0);
	panel.setValueI("brightnessSetting",0);
	panel.setValueI("bOverideLight",0);
	panel.setValueI("bSpotLight", 1);
	
	cameraWidth  = 640;
	cameraHeight = 480;
	
	int n = 3; // no patterns have more than 3 frames
	for(int i = 0; i < n; i++) {
		recent.push_back(ofImage());
		recent.back().allocate(
							   cameraWidth,
							   cameraHeight,
							   OF_IMAGE_COLOR);
		needsUpdate.push_back(false);
	}
	curGenerator = &threePhase;
	
	int captureTime = 15;
	imageSaver.setup(cameraWidth, cameraHeight, captureTime * 60);
	
	ofSetVerticalSync(true);
	ofSetFrameRate(60);
	
	ofBackground(0, 0, 0);
	
	scanningSound.loadSound("resources/scanningPlaceholder.mp3");
	scanningSound.setLoop(true);
	
	spotLightImage.loadImage("resources/captureMask.jpg");
	generateSpotlight(spotLightImage);
	spotLightImage.setAnchorPercent(0.5, 0.5);
	
	face.setup("faceHaar/haarcascade_frontalface_alt.xml", 320, 240, 2.0, 2.0);
	prevFaceCheckTimeF = ofGetElapsedTimef();
	
	threePhase.setSize(1024, 768);
	updateGenerator();
	
	light.setup(0);
}