// ----------------------------------------------------
void CellScene::keyPressed(int key) {
    switch (key) { 
        case ' ': {
                addCells();
                break;
            }    
        case 'r': {
            for (vector<CellNode>::iterator it=cells.begin(); it!=cells.end(); ++it) {
                it->radius = ofRandom(10, separationDistance);
            }    
            break;
            }
        case 'b': {
            bgColorTarget = ofRandomColor();
            break;
        }
        
        case 'g': {
            mustDrawGui = !mustDrawGui;
            break;
        }
        default:{
            break;
        }
	}  
}
示例#2
0
	void Box::objectTouched(const IObjectPtr& object, const DataTouch& touchPoint)
	{
		if (touchPoint.getType() == kTouchTypeStarted)
		{
			color = ofRandomColor();
		}
	}
示例#3
0
	PCModelObject::PCModelObject(const PCPtr& cloud, int objId)
	{
		drawPointCloud = false;
		setCloud(cloud);
		transformation.setIdentity();
		if (objId == -1)	
		{
			static int objectId = 1;
			objId = objectId++;
		}
		setId(objId);
		lod = 1;

		setColor(ofRandomColor());
	}
// ----------------------------------------------------
void SpotsScene::setup() {
    name = "spots scene";    
    string safeName = name;
    ofStringReplace(safeName, " ", "_");
    gui.setup(name, safeName+".xml", 20, 20);
    gui.add(maxShapesOnScreen.setup("max shapes", 50, 1, 500));
    gui.add(releaseRate.setup("release rate", 0.1, 0.0, 1.0));
    
    // setup box2d
    box2d.init();
    box2d.setGravity(0, 0);
    box2d.setFPS(30);
    
    circleFrcFlip = false;
    bgColorTarget = ofRandomColor();    
    
    mustDrawGui = false;
    speed = 0.002;
}
// ----------------------------------------------------
void CellScene::setup() {
    name = "cell scene";
    
    string safeName = name;
    ofStringReplace(safeName, " ", "_");
    gui.setup(name, safeName+".xml", 20, 20);
    gui.add(separationDistance.setup("separation", 10, 1, 500));
    gui.add(damping.setup("damping", 0.4, 0.0003, 1.0));
    gui.add(maxParticleSpeed.setup("speed", 0.1, 0.0003, 2.0));
    
    gui.add(maxCellsOnScreen.setup("max cells", 500, 1, 1000));
    gui.add(releaseRate.setup("release rate", 0.2, 0.0, 1.0));
    
    // we need some nice colors...
    bgColorTarget = ofRandomColor();
    
    cellWallWidth = 1.f; //v thin line to start...
    
   voronoi.setup(0,1,0,1,10,10,16);
}
// ----------------------------------------------------
void SpotsScene::keyPressed(int key) {
    if(key == 'r') {
        for(int i=0; i<MIN(30, shapes.size()-1); i++) {
            int ranId = (int)ofRandom(0, shapes.size()-1);
            shapes[ranId].radiusTarget = ofRandom(30, 100);
        }
    }
    else if(key == 's') {
        for(int i=0; i<MIN(230, shapes.size()-1); i++) {
            int ranId = (int)ofRandom(0, shapes.size()-1);
            shapes[ranId].radiusTarget = ofRandom(2, 10);
        }
    }
    else if(key == 'b') {
        bgColorTarget = ofRandomColor();    
    }
    else if(key == 'g'){
        mustDrawGui = !mustDrawGui;
    }
}
示例#7
0
	Box::Box(const IObjectPtr& object, const NoteBeat& noteBeat, int program)
		: object(object), noteBeat(noteBeat), program(program), boostColor(0)
	{
		color = ofRandomColor();
	}