Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/Atom/atom.cpp

    rd05088 rc32d21  
    5858  mol(0)
    5959{
    60   // note AtomObserver about inserted atom
     60  // sign on to global atom change tracker
    6161  AtomObserver::getInstance().AtomInserted(this);
    6262}
     
    6969    mol(0)
    7070{
    71   // sign on to father atom to be notified when it is removed
    72   father->signOn(this);
    73 
    74   // note AtomObserver about inserted atom
     71  // sign on to global atom change tracker
    7572  AtomObserver::getInstance().AtomInserted(this);
    7673};
     
    8784atom::~atom()
    8885{
    89   // sign off from possible father
    90   if ((father != this) && (father != NULL))
    91     father->signOff(this);
    92 
    9386  removeFromMolecule();
    94   // note AtomObserver about removed atom
     87  // sign off from global atom change tracker
    9588  AtomObserver::getInstance().AtomRemoved(this);
    9689}
     
    132125    return father->GetTrueFather();
    133126  }
    134 }
    135 
    136 void atom::setFather(atom * const _father)
    137 {
    138   // sign off from old father
    139   if ((father != this) && (father != NULL))
    140     father->signOff(this);
    141 
    142   father = _father;
    143   father->signOn(this);
    144 }
     127};
    145128
    146129/** Sets father to itself or its father in case of copying a molecule.
     
    342325  return atom1->getType()->getAtomicNumber() < atom2->getType()->getAtomicNumber();
    343326}
    344 /*
    345 void atom::update(Observable *publisher)
    346 {}
    347 
    348 void atom::recieveNotification(Observable *publisher, Notification_ptr notification)
    349 {
    350   ASSERT(0, "atom::recieveNotification() - we are not signed on to any notifications.");
    351 }
    352 */
    353 void atom::subjectKilled(Observable *publisher)
    354 {
    355   // as publisher has been half-deallocated (Observable is one of the base classes, hence
    356   // becomes destroyed latest), we cannot senibly cast it anymore.
    357   // Hence, we simply have to check here whether it is NOT one of the other instances
    358   // we are signed on to.
    359   father = this;
    360   // no need to sign off
    361 }
Note: See TracChangeset for help on using the changeset viewer.