Index: code/trunk/src/modules/pickup/items/MetaPickup.cc
===================================================================
--- code/trunk/src/modules/pickup/items/MetaPickup.cc	(revision 6524)
+++ code/trunk/src/modules/pickup/items/MetaPickup.cc	(revision 6538)
@@ -28,5 +28,5 @@
 
 /**
-    @file
+    @file MetaPickup.cc
     @brief Implementation of the MetaPickup class.
 */
@@ -43,4 +43,5 @@
     CreateFactory(MetaPickup);
     
+    //! Setting the static variables to their values.
     /*static*/ const std::string MetaPickup::metaTypeNone_s = "none";
     /*static*/ const std::string MetaPickup::metaTypeUse_s = "use";
@@ -49,5 +50,5 @@
     /**
     @brief
-        Constructor. 
+        Constructor. Registers and initializes the object.
     */
     MetaPickup::MetaPickup(BaseObject* creator) : Pickup(creator)
@@ -55,5 +56,24 @@
         RegisterObject(MetaPickup);
         
+        this->initialize();
+    }
+    
+    /**
+    @brief
+        Destructor.
+    */
+    MetaPickup::~MetaPickup()
+    {
+        
+    }
+    
+    /**
+    @brief
+        Initializes the object.
+    */
+    void MetaPickup::initialize(void)
+    {
         this->addTarget(ClassIdentifier<PickupCarrier>::getIdentifier());
+        
         this->setActivationTypeDirect(pickupActivationType::immediate);
         this->setDurationTypeDirect(pickupDurationType::once);
@@ -61,9 +81,8 @@
     }
     
-    MetaPickup::~MetaPickup()
-    {
-        
-    }
-    
+    /**
+    @brief
+        Helper method to initialize the PickupIdentifier.
+    */
     void MetaPickup::initializeIdentifier(void)
     {
@@ -73,4 +92,8 @@
     }
     
+    /**
+    @brief
+        Method for creating a MetaPickup object through XML.
+    */
     void MetaPickup::XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode)
     {
@@ -82,8 +105,14 @@
     }
     
+    /**
+    @brief
+        Is called when the pickup has transited from used to unused or the other way around.
+        Any Class overwriting this method must call its SUPER function by adding SUPER(Classname, changedUsed); to their changdeUsed method.
+    */
     void MetaPickup::changedUsed(void)
     {
         SUPER(MetaPickup, changedUsed);
         
+        //! If the MetaPickup transited to used.
         if(this->isUsed())
         {
@@ -92,4 +121,5 @@
             {
                 std::set<Pickupable*> pickups = carrier->getPickups();
+                //! Set all Pickupables carried by the PickupCarrier either to used or drop them, depending o the meta type.
                 for(std::set<Pickupable*>::iterator it = pickups.begin(); it != pickups.end(); it++)
                 {
@@ -114,5 +144,30 @@
         }
     }
-    
+        
+    /**
+    @brief
+        Creates a duplicate of the input OrxonoxClass.
+    @param item
+        A pointer to the Orxonox class.
+    */
+    void MetaPickup::clone(OrxonoxClass*& item)
+    {
+        if(item == NULL)
+            item = new MetaPickup(this);
+        
+        SUPER(MetaPickup, clone, item);
+        
+        MetaPickup* pickup = dynamic_cast<MetaPickup*>(item);
+        pickup->setMetaTypeDirect(this->getMetaTypeDirect());
+        
+        pickup->initializeIdentifier();
+    }
+    
+    /**
+    @brief
+        Get the meta type of this MetaPickup.
+    @return
+        Returns a string with the meta type of the MetaPickup.
+    */
     const std::string& MetaPickup::getMetaType(void)
     {
@@ -130,4 +185,10 @@
     }
     
+    /**
+    @brief
+        Set the meta type of this MetaPickup.
+    @param type
+        A string with the type to be set.
+    */
     void MetaPickup::setMetaType(const std::string& type)
     {
@@ -146,16 +207,3 @@
     }
     
-    void MetaPickup::clone(OrxonoxClass*& item)
-    {
-        if(item == NULL)
-            item = new MetaPickup(this);
-        
-        SUPER(MetaPickup, clone, item);
-        
-        MetaPickup* pickup = dynamic_cast<MetaPickup*>(item);
-        pickup->setMetaTypeDirect(this->getMetaTypeDirect());
-        
-        pickup->initializeIdentifier();
-    }
-    
 }
Index: code/trunk/src/modules/pickup/items/MetaPickup.h
===================================================================
--- code/trunk/src/modules/pickup/items/MetaPickup.h	(revision 6524)
+++ code/trunk/src/modules/pickup/items/MetaPickup.h	(revision 6538)
@@ -28,5 +28,5 @@
 
 /**
-    @file
+    @file MetaPickup.h
     @brief Definition of the MetaPickup class.
 */
@@ -62,27 +62,38 @@
         
         public:
-            MetaPickup(BaseObject* creator);
-            virtual ~MetaPickup();
+            MetaPickup(BaseObject* creator); //!< Constructor. Registers and initializes the object.
+            virtual ~MetaPickup(); //!< Destructor.
             
-            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a HealthPickup object through XML.
+            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a MetaPickup object through XML.
             
             virtual void changedUsed(void); //!< Is called when the pickup has transited from used to unused or the other way around.
             virtual void clone(OrxonoxClass*& item); //!< Creates a duplicate of the input OrxonoxClass.
             
+            /**
+            @brief Returns the meta type of the MetaPickup.
+            @return Returns an enum with the meta type of the MetaPickup.
+            */
             inline pickupMetaType::Value getMetaTypeDirect(void)
                 { return this->metaType_; }
-            const std::string& getMetaType(void);
+            const std::string& getMetaType(void); //!< Get the meta type of this MetaPickup.
             
         protected:
+            void initialize(void); //!< Initializes the object.
             void initializeIdentifier(void); //!< Initializes the PickupIdentifier of this pickup.
             
+            /**
+            @brief Set the meta type of the MetaPickup.
+            @param type The meta type as an enum.
+            */
             inline void setMetaTypeDirect(pickupMetaType::Value type)
                 { this->metaType_ =  type; }
-            void setMetaType(const std::string& type);
+            void setMetaType(const std::string& type); //!< Set the meta type of this MetaPickup.
             
         private:
             void initialize(void); //!< Initializes the member variables.
             
-            pickupMetaType::Value metaType_;
+            pickupMetaType::Value metaType_; //!< The meta type of the MetaPickup, determines which actions are taken.
+            
+            //! Static strings for the meta types.
             static const std::string metaTypeNone_s;
             static const std::string metaTypeUse_s;
