Index: /orxonox/trunk/src/lib/graphics/importer/model.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4676)
+++ /orxonox/trunk/src/lib/graphics/importer/model.cc	(revision 4677)
@@ -145,4 +145,5 @@
   this->normalCount = 0;
   this->texCoordCount = 0;
+  this->faceCount = 0;
 
   this->scaleFactor = 1;
@@ -553,4 +554,5 @@
 
   this->currentGroup->faceCount += this->currentGroup->currentFace->vertexCount -2;
+  this->faceCount += this->currentGroup->currentFace->vertexCount -2;
 }
 
@@ -585,4 +587,5 @@
 
   this->currentGroup->faceCount += this->currentGroup->currentFace->vertexCount - 2;
+  this->faceCount += this->currentGroup->currentFace->vertexCount -2;
 }
 
Index: /orxonox/trunk/src/lib/graphics/importer/model.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/importer/model.h	(revision 4676)
+++ /orxonox/trunk/src/lib/graphics/importer/model.h	(revision 4677)
@@ -141,9 +141,11 @@
 
   /** \returns The number of Vertices of the Model */
-  inline int getVertexCount(void) const {return this->vertexCount;}
+  inline int getVertexCount(void) const { return this->vertexCount; };
   /** \returns The number of Normals of the Model */
-  inline int getNormalCount(void) const {return this->normalCount;}
-  /** \returns The number of Texture Coordinates of the Model*/
-  inline int getTexCoordCount(void) const {return this->texCoordCount;}
+  inline int getNormalCount(void) const { return this->normalCount; };
+  /** \returns The number of Texture Coordinates of the Model */
+  inline int getTexCoordCount(void) const { return this->texCoordCount; };
+  /** \returns The number of Faces of the entire Model */
+  inline unsigned int getFaceCount() const { return this->faceCount; };
 
  protected:
@@ -174,4 +176,5 @@
   unsigned int     normalCount;     //!< A modelwide Counter for the normals.
   unsigned int     texCoordCount;   //!< A modelwide Counter for the texCoord.
+  unsigned int     faceCount;       //!< A modelwide Counter for the faces
   Array<GLfloat>*  vertices;        //!< The Array that handles the Vertices.
   Array<GLfloat>*  normals;         //!< The Array that handles the Normals.
Index: /orxonox/trunk/src/lib/particles/particle_engine.h
===================================================================
--- /orxonox/trunk/src/lib/particles/particle_engine.h	(revision 4676)
+++ /orxonox/trunk/src/lib/particles/particle_engine.h	(revision 4677)
@@ -1,3 +1,3 @@
-/*! 
+/*!
     \file particle_engine.h
     \brief Definition of the ParticleEngine
@@ -11,5 +11,5 @@
 #include "particle_emitter.h"
 
-// FORWARD DEFINITION 
+// FORWARD DEFINITION
 template<class T> class tList;
 
Index: /orxonox/trunk/src/lib/particles/particle_system.cc
===================================================================
--- /orxonox/trunk/src/lib/particles/particle_system.cc	(revision 4676)
+++ /orxonox/trunk/src/lib/particles/particle_system.cc	(revision 4677)
@@ -45,4 +45,8 @@
 }
 
+/**
+  \brief creates a Particle System out of a XML-element
+  \param root: the XML-element to load from
+ */
 ParticleSystem::ParticleSystem(const TiXmlElement* root) : PhysicsInterface(this)
 {
@@ -329,4 +333,22 @@
       tickPart = tickPart->next;
     }
+}
+
+
+/**
+ * \returns the count of Faces of this ParticleSystem
+ */
+unsigned int ParticleSystem::getFaceCount(void) const
+{
+  switch (this->particleType)
+  {
+    case PARTICLE_SPRITE:
+      return this->count;
+      break;
+    case PARTICLE_MODEL:
+      if (this->model)
+        return this->count * this->model->getFaceCount();
+      break;
+  }
 }
 
Index: /orxonox/trunk/src/lib/particles/particle_system.h
===================================================================
--- /orxonox/trunk/src/lib/particles/particle_system.h	(revision 4676)
+++ /orxonox/trunk/src/lib/particles/particle_system.h	(revision 4677)
@@ -101,4 +101,7 @@
   inline float getMass(void) const { return this->initialMass; };
 
+  unsigned int getFaceCount(void) const;
+
+
   virtual void applyField(Field* field);
   /** \brief this is an empty function, because the Physics are implemented in tick \param dt: useless here */
