diff options
author | Fate <fate-tmw@googlemail.com> | 2008-12-06 21:00:46 -0700 |
---|---|---|
committer | Fate <fate-tmw@googlemail.com> | 2008-12-06 21:00:46 -0700 |
commit | a7c21e6f8add37af7412449742ec55c8daa8571a (patch) | |
tree | 81d7b3eb74f7694aae8a64dd91e1e674e8b326a7 /src/particlecontainer.cpp | |
parent | 28fa707f1ab22e7cac8abff703d534aec3228d5c (diff) | |
download | mana-a7c21e6f8add37af7412449742ec55c8daa8571a.tar.gz mana-a7c21e6f8add37af7412449742ec55c8daa8571a.tar.bz2 mana-a7c21e6f8add37af7412449742ec55c8daa8571a.tar.xz mana-a7c21e6f8add37af7412449742ec55c8daa8571a.zip |
Defrobnicated ParticleContainer inheritance hierarchy
Diffstat (limited to 'src/particlecontainer.cpp')
-rw-r--r-- | src/particlecontainer.cpp | 51 |
1 files changed, 35 insertions, 16 deletions
diff --git a/src/particlecontainer.cpp b/src/particlecontainer.cpp index 4df45b26..12ef5733 100644 --- a/src/particlecontainer.cpp +++ b/src/particlecontainer.cpp @@ -37,7 +37,30 @@ ParticleContainer::~ParticleContainer() } void -ParticleContainer::addLocally(Particle *particle) +ParticleContainer::clear() +{ + clearLocally(); + if (mNext) + mNext->clear(); +} + + +void +ParticleContainer::setPositions(float x, float y) +{ + if (mNext) + mNext->setPositions(x, y); +} + +// -- particle list ---------------------------------------- + +ParticleList::ParticleList(ParticleContainer *parent, bool delParent) : + ParticleContainer(parent, delParent) {}; + +ParticleList::~ParticleList() {} + +void +ParticleList::addLocally(Particle *particle) { if (particle) { @@ -48,7 +71,7 @@ ParticleContainer::addLocally(Particle *particle) } void -ParticleContainer::removeLocally(Particle *particle) +ParticleList::removeLocally(Particle *particle) { for (std::list<Particle *>::iterator it = mElements.begin(); it != mElements.end(); it++) @@ -59,15 +82,7 @@ ParticleContainer::removeLocally(Particle *particle) } void -ParticleContainer::clear() -{ - clearLocally(); - if (mNext) - mNext->clear(); -} - -void -ParticleContainer::clearLocally() +ParticleList::clearLocally() { for (std::list<Particle *>::iterator it = mElements.begin(); it != mElements.end(); it++) @@ -77,8 +92,10 @@ ParticleContainer::clearLocally() } void -ParticleContainer::setPositions(float x, float y) +ParticleList::setPositions(float x, float y) { + ParticleContainer::setPositions(x, y); + for (std::list<Particle *>::iterator it = mElements.begin(); it != mElements.end();) { @@ -96,10 +113,12 @@ ParticleContainer::setPositions(float x, float y) -ParticleVector::ParticleVector(ParticleContainer *next, bool delParent) -{ - ParticleContainer::ParticleContainer(next, delParent); -} +// -- particle vector ---------------------------------------- + +ParticleVector::ParticleVector(ParticleContainer *parent, bool delParent) : + ParticleContainer(parent, delParent) {}; + +ParticleVector::~ParticleVector() {}; void ParticleVector::setLocally(int index, Particle *particle) |