Index: code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc	(revision 11004)
@@ -49,5 +49,5 @@
         this->localAngularAcceleration_.setValue(0, 0, 0);
         this->setRadarVisibility(false);
-        this->setCollisionType(WorldEntity::Dynamic);
+        this->setCollisionType(WorldEntity::CollisionType::Dynamic);
 
         myController_ = new DroneController(this->getContext()); //!< Creates a new controller and passes our this pointer to it as creator.
Index: code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc	(revision 11004)
@@ -189,5 +189,5 @@
     bool MobileEntity::isCollisionTypeLegal(WorldEntity::CollisionType type) const
     {
-        if (type == WorldEntity::Static)
+        if (type == WorldEntity::CollisionType::Static)
         {
             orxout(internal_warning) << "Cannot tell a MobileEntity to have static collision type! Ignoring." << endl;
Index: code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc	(revision 11004)
@@ -95,5 +95,5 @@
     bool StaticEntity::isCollisionTypeLegal(WorldEntity::CollisionType type) const
     {
-        if (type == WorldEntity::Kinematic || type == WorldEntity::Dynamic)
+        if (type == WorldEntity::CollisionType::Kinematic || type == WorldEntity::CollisionType::Dynamic)
         {
             orxout(internal_warning) << "Cannot tell a StaticEntity to have kinematic or dynamic collision type! Ignoring." << endl;
Index: code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc	(revision 11004)
@@ -56,7 +56,7 @@
 
     // Be sure we don't do bad conversions
-    static_assert((int)Ogre::Node::TS_LOCAL  == (int)WorldEntity::Local,  "check enum");
-    static_assert((int)Ogre::Node::TS_PARENT == (int)WorldEntity::Parent, "check enum");
-    static_assert((int)Ogre::Node::TS_WORLD  == (int)WorldEntity::World,  "check enum");
+    static_assert((int)Ogre::Node::TS_LOCAL  == (int)WorldEntity::TransformSpace::Local,  "check enum");
+    static_assert((int)Ogre::Node::TS_PARENT == (int)WorldEntity::TransformSpace::Parent, "check enum");
+    static_assert((int)Ogre::Node::TS_WORLD  == (int)WorldEntity::TransformSpace::World,  "check enum");
 
     RegisterAbstractClass(WorldEntity).inheritsFrom<BaseObject>().inheritsFrom<Synchronisable>();
@@ -95,6 +95,6 @@
         this->collisionShape_ = new WorldEntityCollisionShape(this->getContext());
         this->collisionShape_->setWorldEntityOwner(this);
-        this->collisionType_             = None;
-        this->collisionTypeSynchronised_ = None;
+        this->collisionType_             = CollisionType::None;
+        this->collisionTypeSynchronised_ = CollisionType::None;
         this->mass_                 = 1.0f;
         this->childrenMass_         = 0;
@@ -207,5 +207,5 @@
         registerVariable(this->bCollisionResponseActive_,
                                                 VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionResponseActivityChanged));
-        registerVariable((int&)this->collisionTypeSynchronised_,
+        registerVariable(this->collisionTypeSynchronised_,
                                                 VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionTypeChanged));
         registerVariable(this->bPhysicsActiveSynchronised_,
@@ -322,8 +322,8 @@
     void WorldEntity::collisionTypeChanged()
     {
-        if (this->collisionTypeSynchronised_ != Dynamic &&
-            this->collisionTypeSynchronised_ != Kinematic &&
-            this->collisionTypeSynchronised_ != Static &&
-            this->collisionTypeSynchronised_ != None)
+        if (this->collisionTypeSynchronised_ != CollisionType::Dynamic &&
+            this->collisionTypeSynchronised_ != CollisionType::Kinematic &&
+            this->collisionTypeSynchronised_ != CollisionType::Static &&
+            this->collisionTypeSynchronised_ != CollisionType::None)
         {
             orxout(internal_error) << "Error when collsion Type was received over network. Unknown enum value:" << this->collisionTypeSynchronised_ << endl;
@@ -681,12 +681,12 @@
         switch (relativeTo)
         {
-        case WorldEntity::Local:
+        case TransformSpace::Local:
             // position is relative to parent so transform downwards
             this->setPosition(this->getPosition() + this->getOrientation() * distance);
             break;
-        case WorldEntity::Parent:
+        case TransformSpace::Parent:
             this->setPosition(this->getPosition() + distance);
             break;
-        case WorldEntity::World:
+        case TransformSpace::World:
             // position is relative to parent so transform upwards
             if (this->node_->getParent())
@@ -711,12 +711,12 @@
         switch(relativeTo)
         {
-        case WorldEntity::Local:
+        case TransformSpace::Local:
             this->setOrientation(this->getOrientation() * rotation);
             break;
-        case WorldEntity::Parent:
+        case TransformSpace::Parent:
             // Rotations are normally relative to local axes, transform up
             this->setOrientation(rotation * this->getOrientation());
             break;
-        case WorldEntity::World:
+        case TransformSpace::World:
             // Rotations are normally relative to local axes, transform up
             this->setOrientation(this->getOrientation() * this->getWorldOrientation().Inverse()
@@ -741,11 +741,11 @@
         switch (relativeTo)
         {
-        case WorldEntity::Local:
+        case TransformSpace::Local:
             origin = Vector3::ZERO;
             break;
-        case WorldEntity::Parent:
+        case TransformSpace::Parent:
             origin = this->getPosition();
             break;
-        case WorldEntity::World:
+        case TransformSpace::World:
             origin = this->getWorldPosition();
             break;
@@ -831,5 +831,5 @@
 
         // Check whether we have to create or destroy.
-        if (type != None && this->collisionType_ == None)
+        if (type != CollisionType::None && this->collisionType_ == CollisionType::None)
         {
 /*
@@ -849,5 +849,5 @@
             this->physicalBody_->setActivationState(DISABLE_DEACTIVATION);
         }
-        else if (type == None && this->collisionType_ != None)
+        else if (type == CollisionType::None && this->collisionType_ != CollisionType::None)
         {
             // Destroy rigid body
@@ -856,6 +856,6 @@
             delete this->physicalBody_;
             this->physicalBody_ = nullptr;
-            this->collisionType_ = None;
-            this->collisionTypeSynchronised_ = None;
+            this->collisionType_ = CollisionType::None;
+            this->collisionTypeSynchronised_ = CollisionType::None;
             return;
         }
@@ -864,14 +864,14 @@
         switch (type)
         {
-        case Dynamic:
+        case CollisionType::Dynamic:
             this->physicalBody_->setCollisionFlags(this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT & !btCollisionObject::CF_KINEMATIC_OBJECT);
             break;
-        case Kinematic:
+        case CollisionType::Kinematic:
             this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT) | btCollisionObject::CF_KINEMATIC_OBJECT);
             break;
-        case Static:
+        case CollisionType::Static:
             this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT) | btCollisionObject::CF_STATIC_OBJECT);
             break;
-        case None:
+        case CollisionType::None:
             assert(false); // Doesn't happen
             return;
@@ -895,11 +895,11 @@
         CollisionType type;
         if (typeStrLower == "dynamic")
-            type = Dynamic;
+            type = CollisionType::Dynamic;
         else if (typeStrLower == "static")
-            type = Static;
+            type = CollisionType::Static;
         else if (typeStrLower == "kinematic")
-            type = Kinematic;
+            type = CollisionType::Kinematic;
         else if (typeStrLower == "none")
-            type = None;
+            type = CollisionType::None;
         else
             ThrowException(ParseError, std::string("Attempting to set an unknown collision type: '") + typeStr + "'.");
@@ -912,11 +912,11 @@
         switch (this->getCollisionType())
         {
-            case Dynamic:
+            case CollisionType::Dynamic:
                 return "dynamic";
-            case Kinematic:
+            case CollisionType::Kinematic:
                 return "kinematic";
-            case Static:
+            case CollisionType::Static:
                 return "static";
-            case None:
+            case CollisionType::None:
                 return "none";
             default:
Index: code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h	(revision 11004)
@@ -82,5 +82,5 @@
                 Enumeration denoting the spaces which a transform can be relative to.
             */
-            enum TransformSpace
+            enum class TransformSpace
             {
                 //! Transform is relative to the local space
@@ -117,6 +117,6 @@
             const Vector3& getWorldPosition() const;
 
-            void translate(const Vector3& distance, TransformSpace relativeTo = WorldEntity::Parent);
-            inline void translate(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Parent)
+            void translate(const Vector3& distance, TransformSpace relativeTo = TransformSpace::Parent);
+            inline void translate(float x, float y, float z, TransformSpace relativeTo = TransformSpace::Parent)
                 { this->translate(Vector3(x, y, z), relativeTo); }
 
@@ -134,18 +134,18 @@
             const Quaternion& getWorldOrientation() const;
 
-            void rotate(const Quaternion& rotation, TransformSpace relativeTo = WorldEntity::Local);
-            inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+            void rotate(const Quaternion& rotation, TransformSpace relativeTo = TransformSpace::Local);
+            inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
                 { this->rotate(Quaternion(angle, axis), relativeTo); }
 
-            inline void yaw(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+            inline void yaw(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
                 { this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); }
-            inline void pitch(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+            inline void pitch(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
                 { this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); }
-            inline void roll(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+            inline void roll(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
                 { this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); }
 
-            void lookAt(const Vector3& target, TransformSpace relativeTo = WorldEntity::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
-            void setDirection(const Vector3& direction, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
-            inline void setDirection(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
+            void lookAt(const Vector3& target, TransformSpace relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+            void setDirection(const Vector3& direction, TransformSpace relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+            inline void setDirection(float x, float y, float z, TransformSpace relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
                 { this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); }
 
@@ -257,5 +257,5 @@
                 None:      The object has no physics at all.
             */
-            enum CollisionType
+            enum class CollisionType
             {
                 Dynamic,
@@ -266,11 +266,11 @@
 
             //! Tells whether the object has any connection to the Bullet physics engine. If hasPhysics() is false, the object may still have a velocity.
-            bool hasPhysics()       const { return getCollisionType() != None     ; }
+            bool hasPhysics()       const { return getCollisionType() != CollisionType::None     ; }
             //! @see CollisionType
-            bool isStatic()         const { return getCollisionType() == Static   ; }
+            bool isStatic()         const { return getCollisionType() == CollisionType::Static   ; }
             //! @see CollisionType
-            bool isKinematic()      const { return getCollisionType() == Kinematic; }
+            bool isKinematic()      const { return getCollisionType() == CollisionType::Kinematic; }
             //! @see CollisionType
-            bool isDynamic()        const { return getCollisionType() == Dynamic  ; }
+            bool isDynamic()        const { return getCollisionType() == CollisionType::Dynamic  ; }
             //! Tells whether physics has been activated (you can temporarily deactivate it)
             bool isPhysicsActive()  const { return this->bPhysicsActive_; }
Index: code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc	(revision 11004)
@@ -79,5 +79,5 @@
         // FpsPlayer is always a physical object per default
         // Be aware of this call: The collision type legality check will not reach derived classes!
-        this->setCollisionType(WorldEntity::Dynamic);
+        this->setCollisionType(WorldEntity::CollisionType::Dynamic);
         // Get notification about collisions
         this->enableCollisionCallback();
@@ -130,5 +130,5 @@
     bool FpsPlayer::isCollisionTypeLegal(WorldEntity::CollisionType type) const
     {
-        if (type != WorldEntity::Dynamic)
+        if (type != WorldEntity::CollisionType::Dynamic)
         {
             orxout(internal_warning) << "Cannot tell a FpsPlayer not to be dynamic! Ignoring." << endl;
@@ -168,5 +168,5 @@
             if (!this->isInMouseLook())
             {
-                this->yaw(Radian(this->yaw_ * this->getMouseLookSpeed()), WorldEntity::Parent);
+                this->yaw(Radian(this->yaw_ * this->getMouseLookSpeed()), WorldEntity::TransformSpace::Parent);
 
                 Radian pitch = this->cameraPositionRootNode_->getOrientation().getPitch();
Index: code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 11004)
@@ -80,5 +80,5 @@
         // SpaceShip is always a physical object per default
         // Be aware of this call: The collision type legality check will not reach derived classes!
-        this->setCollisionType(WorldEntity::Dynamic);
+        this->setCollisionType(WorldEntity::CollisionType::Dynamic);
         // Get notification about collisions
         this->enableCollisionCallback();
@@ -143,5 +143,5 @@
     bool SpaceShip::isCollisionTypeLegal(WorldEntity::CollisionType type) const
     {
-        if (type != WorldEntity::Dynamic)
+        if (type != WorldEntity::CollisionType::Dynamic)
         {
             orxout(internal_warning) << "Cannot tell a SpaceShip not to be dynamic! Ignoring." << endl;
