summaryrefslogtreecommitdiff
path: root/src/particlecontainer.cpp
diff options
context:
space:
mode:
authorFate <fate-tmw@googlemail.com>2008-12-06 21:00:46 -0700
committerFate <fate-tmw@googlemail.com>2008-12-06 21:00:46 -0700
commita7c21e6f8add37af7412449742ec55c8daa8571a (patch)
tree81d7b3eb74f7694aae8a64dd91e1e674e8b326a7 /src/particlecontainer.cpp
parent28fa707f1ab22e7cac8abff703d534aec3228d5c (diff)
downloadMana-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.cpp51
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)