Ejemplo n.º 1
0
void Flock::init(int numBoids, radomeModel* pModel) {

    for(int i=0; i < numBoids; i++)
	{
		ofVec3f position = ofVec3f(ofRandom(-100.0, 100.0), ofRandom(-100.0, 100.0), ofRandom(-100.0, 100.0));
		ofVec3f velocity = ofVec3f(ofRandom(-200.0, 200.0), ofRandom(-200.0, 200.0), ofRandom(-200.0, 200.0));
				
		boids.push_back(Boid(position, velocity, pModel));
	}
}
Ejemplo n.º 2
0
//--------------------------------------------------------------
void testApp::keyPressed(int key){
    //Add/delete boids 
    if (key == '=') {
        boids.push_back(Boid());
    } else if(key == '-')
    {
        boids.pop_back();
    }
    
}
Ejemplo n.º 3
0
void Flocking::addBoid(int x, int y)
{
    boids.push_back(Boid(x, y, x_bound, y_bound, boundaryPadding, 
    											maxSpeed 		,
												maxForce 		,
												flockSepWeight	,
												flockAliWeight	,
												flockCohWeight	,
												flockSepRadius	,
												flockAliRadius	,
												flockCohRadius	));
}
Ejemplo n.º 4
0
void testApp :: addBoid( float x, float y )
{
	float maxspeed	= ofRandom( 2, 4 );
	float maxforce	= 0.3;
	
	ofxVec2f loc;
	loc.set( x, y );
	
	boids.push_back( Boid() );
	
	Boid& b = boids.back();
	b.init( loc, maxspeed, maxforce );
}
Ejemplo n.º 5
0
//--------------------------------------------------------------
void testApp::setup(){
    ofEnableAntiAliasing();
    ofSetFrameRate(15);
    for (int i=0; i<NUMOFBOIDS; i++) {
        boids.push_back(Boid());
    }
    sender.setup("127.0.0.1", 6666);
    
    //old OF default is 96 - but this results in fonts looking larger than in other programs.
	ofTrueTypeFont::setGlobalDpi(72);
    
    verdana14.loadFont("verdana.ttf", 14, true, true);
	verdana14.setLineHeight(18.0f);
	verdana14.setLetterSpacing(1.037);
}
Ejemplo n.º 6
0
//--------------------------------------------------------------
void testApp::keyPressed(int key){
    switch (key) {
		
		case'p':
        
            for(int i = 0; i < boids.size(); i++)
                {
                boids[i].debug = true;
                }
            
			break;
			
        case 'n':
            boids.push_back(Boid());
            break;
        
        case 'd':
            for(int i = 0; i < boids.size(); i++)
            {
                boids[i].debug = false;
            }
			break;
            
            case '.':
            for(int i = 0; i < boids.size(); i++)
            {
                boids[i]._wander = true;
            }
            
			break;
            
        case ',':
            for(int i = 0; i < boids.size(); i++)
            {
                boids[i]._wander = false;
            }
            
			break;


            
            
	}


}
Ejemplo n.º 7
0
void Flock::setup(int _size, int _nBoids){
    space.xLeft = -_size;
    space.xRight = _size;
    space.yTop = -_size;
    space.yBottom = _size;
    space.zFront = -_size;
    space.zBack = _size;
    
    nBoids = _nBoids;
    
    boids = new (nothrow) Boid[nBoids];
    
    for (int i = 0; i < nBoids; i++){
        boids[i] = Boid();
        boids[i].setNBoids(&nBoids);
        boids[i].setColor(&color);
        boids[i].setSpace(&space);
        boids[i].loc.set(ofRandom(space.xLeft, space.xRight),ofRandom(space.yTop, space.yBottom),ofRandom(space.zFront,space.zBack));
        boids[i].setFlockingState(&flocking);
    }
}
Ejemplo n.º 8
0
Boid::Boid() {
	Boid(1024.f, 768.f);
}