Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3669 in orxonox.OLD for orxonox/trunk/src/lib


Ignore:
Timestamp:
Mar 30, 2005, 12:06:36 PM (20 years ago)
Author:
patrick
Message:

orxonox/trunk: now garbage collection is working correctlymake

Location:
orxonox/trunk/src/lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/coord/null_parent.cc

    r3644 r3669  
    8383  *this->absCoordinate = *this->relCoordinate;
    8484  *this->absDirection = parent->getAbsDir () * *this->relDirection;
    85  
    86   PNode* pn = this->children->enumerate ();
     85
     86  tIterator<PNode>* iterator = this->children->getIterator();
     87  //PNode* pn = this->children->enumerate ();
     88  PNode* pn = iterator->nextElement();
    8789  while( pn != NULL)
    8890    {
     
    9395        pn->parentDirChanged ();
    9496      pn->update (dt);
    95       pn = this->children->nextElement ();
     97      //pn = this->children->nextElement ();
     98      pn = iterator->nextElement();
    9699    }
    97100
  • orxonox/trunk/src/lib/coord/p_node.cc

    r3668 r3669  
    354354{
    355355  pNode->remove();
    356   //this->children->remove (pNode);
     356  this->children->remove (pNode);
    357357  pNode->parent = NULL;
    358358}
     
    378378    }
    379379  delete iterator;
    380   //this->parent->removeChild(this);
     380  this->parent->children->remove(this);
    381381}
    382382
     
    499499 
    500500 
    501   PNode* pn = this->children->enumerate();
     501  tIterator<PNode>* iterator = this->children->getIterator();
     502  //PNode* pn = this->children->enumerate();
     503  PNode* pn = iterator->nextElement();
    502504  while( pn != NULL)
    503505    {
     
    509511
    510512      pn->update(dt);
    511       pn = this->children->nextElement();
    512     }
     513      //pn = this->children->nextElement();
     514      pn = iterator->nextElement();
     515    }
     516  delete iterator;
    513517
    514518  this->timeStamp = timeStamp;
  • orxonox/trunk/src/lib/util/list.h

    r3668 r3669  
    6565 private:
    6666  listElement<T>* currentEl;
    67   listElement<T>* firstEl;
    68   int counter;
     67  listElement<T>* tmpEl;
    6968};
    7069
     
    7473{
    7574  this->currentEl = startElement;
    76   this->firstEl = startElement;
    77   if( this->firstEl != NULL)
    78     this->counter = -1; 
    79   else
    80     this->counter = 0;
     75  this->tmpEl = NULL;
    8176}
    8277
     
    9287inline T* tIterator<T>::nextElement ()
    9388{
    94   /*
    95   this->counter++;
    96   if( this->counter == 0)
    97     return this->firstEl->curr;
    98   */
    99 
    10089  if( this->currentEl == NULL)
    10190    return NULL;
    10291
    103   listElement<T>* tmp = this->currentEl;
     92  this->tmpEl = this->currentEl;
    10493  this->currentEl = this->currentEl->next;
    105   return tmp->curr;
     94  return this->tmpEl->curr;
    10695}
    10796
Note: See TracChangeset for help on using the changeset viewer.