This is a legacy Trac instance left read-only for reference purposes. More info. dev main | home

Changeset 179

Show
Ignore:
Timestamp:
02/25/2010 08:28:52 AM (2 years ago)
Author:
mceier
Message:

4 animats colliding

Signed-off-by: Mariusz Ceier <mceier@gmail.com>

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/gui2/Application.cpp

    r175 r179  
    2828                glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); 
    2929                glLoadIdentity(); 
     30                glScalef(0.1,0.1,0.1); 
    3031                if((m_renderer)&&(m_world)) 
    3132                for(waterworld::Animats::const_iterator i=m_world->getAnimats().begin(); 
    3233                        i!=m_world->getAnimats().end();++i) 
    3334                { 
    34                         m_renderer->renderBody((*i)->getPhysicalBody()->getBody(),0.1); 
     35                        m_renderer->renderBody((*i)->getPhysicalBody()->getBody(),1.0); 
    3536                } 
    3637                SDL_GL_SwapBuffers(); 
  • trunk/src/waterworld4.cpp

    r175 r179  
    2727                using namespace std; 
    2828                m_alpha += m_omega*dt; 
    29                 setForce(0.002*makeForce(cos(m_alpha), sin(m_alpha), 0)); 
     29                setForce(20.0*makeForce(cos(m_alpha), sin(m_alpha), 0)); 
    3030                //cout << "updating force: alpha = " << m_alpha << endl; 
    3131        } 
     
    5252        boost::intrusive_ptr<Animat> animat = new Animat(animatGenID); 
    5353        boost::intrusive_ptr<PhysicalBody> body =  
    54                 myWorld->createAnimatsBody(animat,0.1,1,makePosition(-1,0,0)); 
    55         animat->getActuators().push_back(new SimpleActuator(0.0,0)); 
     54                myWorld->createAnimatsBody(animat,1.0,0.1,makePosition(-4.0,0,0)); 
     55        animat->getActuators().push_back(new Actuator(makeForce(1,0,0.0), makePosition(0,0,0))); 
     56        animat->getActuators().push_back(new Actuator(makeForce(0.0,-0.1*palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0), makePosition(0,0,0))); 
    5657        myWorld->getAnimats().insert(animat); 
    5758        boost::intrusive_ptr<Animat> animat2 = new Animat(animatGenID); 
    5859        boost::intrusive_ptr<PhysicalBody> body2 =  
    59                 myWorld->createAnimatsBody(animat2,0.1,1,makePosition(1,0,0)); 
    60         animat2->getActuators().push_back(new SimpleActuator(M_PI, 0)); 
     60                myWorld->createAnimatsBody(animat2,1.0,0.1,makePosition(4.0,0,0)); 
     61        animat2->getActuators().push_back(new Actuator(makeForce(-1,0.0,0.0), makePosition(0,0,0))); 
     62        animat2->getActuators().push_back(new Actuator(makeForce(0.0,-0.1*palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0), makePosition(0,0,0))); 
    6163        myWorld->getAnimats().insert(animat2); 
    6264        boost::intrusive_ptr<Animat> animat3 = new Animat(animatGenID); 
    6365        boost::intrusive_ptr<PhysicalBody> body3 =  
    64                 myWorld->createAnimatsBody(animat3,0.1,1,makePosition(0.1,-0.5,0)); 
    65         animat3->getActuators().push_back(new Actuator(makeForce(0,0.0005,0), makePosition(0,0,0))); 
     66                myWorld->createAnimatsBody(animat3,1.0,0.1,makePosition(0,4,0)); 
     67        animat3->getActuators().push_back(new Actuator(makeForce(0.0,-1,0.0), makePosition(0,0,0))); 
     68        animat3->getActuators().push_back(new Actuator(makeForce(0.0,-0.1*palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0), makePosition(0,0,0))); 
    6669        myWorld->getAnimats().insert(animat3); 
     70        boost::intrusive_ptr<Animat> animat4 = new Animat(animatGenID); 
     71        boost::intrusive_ptr<PhysicalBody> body4 =  
     72                myWorld->createAnimatsBody(animat4,1.0,0.1,makePosition(0,-4,0)); 
     73        animat4->getActuators().push_back(new Actuator(makeForce(0.0,1,0.0), makePosition(0,0,0))); 
     74        animat4->getActuators().push_back(new Actuator(makeForce(0.0,-0.1*palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0), makePosition(0,0,0))); 
     75        myWorld->getAnimats().insert(animat4); 
    6776        gui::Application app(myWorld); 
    6877        quit=!app.init(640,480,16); 
     
    7180                for(unsigned int i=0;(!quit) && (i<100);++i) 
    7281                { 
    73                         body->applyForce(makeForce(0.0,-palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0),makePosition(0.0,0.0,0.0)); 
    74                         body2->applyForce(makeForce(0.0,-palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0),makePosition(0.0,0.0,0.0)); 
    75                         body3->applyForce(makeForce(0.0,-palPhysicsDesc::DEFAULT_GRAVITY_Y,0.0),makePosition(0.0,0.0,0.0)); 
    76                         myWorld->step(0.01); 
     82                        myWorld->step(0.001); 
    7783                        app.draw(); 
    7884                }