Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Atom/atom_bondedparticleinfo.cpp

    r8cc22f r7e51e1  
    5757{}
    5858
    59 void BondedParticleInfo::AppendTrajectoryStep(const unsigned int _step)
     59void BondedParticleInfo::AppendTrajectoryStep()
    6060{
    61   ListOfBonds.insert( std::make_pair(_step, emptyList) );
     61  ListOfBonds.push_back(BondList());
    6262  LOG(5,"BondedParticleInfo::AppendTrajectoryStep() called, size is " << ListOfBonds.size());
    6363}
    6464
    65 void BondedParticleInfo::removeTrajectoryStep(const unsigned int _step)
     65void BondedParticleInfo::removeTrajectoryStep()
    6666{
    67   ListOfBonds.erase(_step);
     67  ListOfBonds.pop_back();
    6868  LOG(5,"BondedParticleInfo::removeTrajectoryStep() called, size is " << ListOfBonds.size());
    6969}
     
    7171const BondList& BondedParticleInfo::getListOfBonds() const
    7272{
    73   return getListOfBondsAtStep(WorldTime::getTime());
     73  if(WorldTime::getTime() < ListOfBonds.size())
     74    return ListOfBonds[WorldTime::getTime()];
     75  else
     76    return emptyList;
    7477}
     78
     79//BondList& BondedParticleInfo::getListOfBonds()
     80//{
     81//  // todo: here we actually need a container on whose destruction notifiy is emitted, i.e.
     82//  // similar or simply an ObservedContainer.
     83//  OBSERVE;
     84//  NOTIFY(AtomObservable::BondsAdded);
     85//  const unsigned int size = ListOfBonds.size();
     86//  ASSERT(WorldTime::getTime() <= size,
     87//      "BondedParticleInfo::getBondsAtStep() - Access out of range: "
     88//      +toString(WorldTime::getTime())
     89//      +" not in [0,"+toString(size)+"].");
     90//  if (WorldTime::getTime() == size) {
     91//    UpdateSteps();
     92//  }
     93//  return ListOfBonds[WorldTime::getTime()];
     94//}
    7595
    7696const BondList& BondedParticleInfo::getListOfBondsAtStep(unsigned int _step) const
    7797{
    78   BondTrajectory_t::const_iterator iter =
    79     ListOfBonds.find(_step);
    80   if (iter != ListOfBonds.end())
    81     return iter->second;
    82   return emptyList;
     98  if(_step < ListOfBonds.size())
     99    return ListOfBonds[_step];
     100  else
     101    return emptyList;
    83102}
     103
     104//BondList& BondedParticleInfo::getListOfBondsAtStep(unsigned int _step)
     105//{
     106//  const unsigned int size = ListOfBonds.size();
     107//  ASSERT(_step <= size,
     108//      "BondedParticleInfo::getBondsAtStep() - Access out of range: "
     109//      +toString(_step)
     110//      +" not in [0,"+toString(size)+"].");
     111//  if (_step == size) {
     112//    UpdateSteps();
     113//  }
     114//  return ListOfBonds[_step];
     115//}
Note: See TracChangeset for help on using the changeset viewer.