Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7947 in orxonox.OLD for branches/cr/src/lib/collision_reaction


Ignore:
Timestamp:
May 29, 2006, 1:12:19 AM (18 years ago)
Author:
patrick
Message:

cr: integraged the collision reaction into the main loop

Location:
branches/cr/src/lib/collision_reaction
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/cr/src/lib/collision_reaction/collision_handle.cc

    r7946 r7947  
    102102  // now set state to dispatched
    103103  this->bDispatched = true;
     104  this->bCollided = false;
    104105  this->flushCollisions();
    105106}
  • branches/cr/src/lib/collision_reaction/collision_handle.h

    r7946 r7947  
    3131    void addTarget(long classID);
    3232    void registerCollision(Collision* collision);
     33    /** @returns true if regiestered some new collision events in this tick frame */
     34    inline bool isCollided() const { return this->bCollided; }
    3335
    3436    void handleCollisions();
     
    4547    bool                          bDispatched;             //!< true if this handle has already been dispatched
    4648    bool                          bStopOnFirstCollision;   //!< true if the cd of this object should be terminated after one match
     49    bool                          bCollided;               //!< true if the CollsionHandle has registered some new collisions
    4750
    4851    std::vector<Collision*>       collisionList;           //!< a list full of collisions
  • branches/cr/src/lib/collision_reaction/cr_engine.cc

    r7946 r7947  
    115115
    116116void CREngine::handleCollisions()
    117 {}
     117{
     118  std::vector<CollisionHandle*>::iterator it;
     119  for( it = this->collisionHandles.begin(); it != this->collisionHandles.end(); it++)
     120  {
     121    if( (*it)->isCollided())
     122    {
     123      (*it)->handleCollisions();
     124    }
     125  }
     126}
    118127
    119128
Note: See TracChangeset for help on using the changeset viewer.