[Orxonox-commit 350] r2961 - branches/gametypes/src/orxonox/objects/worldentities

Aurelian at orxonox.net Aurelian at orxonox.net
Sun May 10 22:49:36 CEST 2009


Author: Aurelian
Date: 2009-05-10 22:49:36 +0200 (Sun, 10 May 2009)
New Revision: 2961

Modified:
   branches/gametypes/src/orxonox/objects/worldentities/ForceField.cc
Log:
Gametype Asteroids - ForceField working

Modified: branches/gametypes/src/orxonox/objects/worldentities/ForceField.cc
===================================================================
--- branches/gametypes/src/orxonox/objects/worldentities/ForceField.cc	2009-05-10 09:56:07 UTC (rev 2960)
+++ branches/gametypes/src/orxonox/objects/worldentities/ForceField.cc	2009-05-10 20:49:36 UTC (rev 2961)
@@ -42,9 +42,9 @@
 
       //Standard Values
       this->setDirection(Vector3::ZERO);
-      velocity_ = 1000;
+      velocity_ = 100;
       diameter_ = 500;
-      length_ = 1000;
+      length_ = 2000;
     }
 
     ForceField::~ForceField() {}
@@ -56,14 +56,16 @@
       //For correct xml import use: position, direction, velocity, scale
 
       XMLPortParam(ForceField, "velocity", setVelocity, getVelocity, xmlelement, mode).defaultValues(100);
-      XMLPortParam(ForceField, "diameter", setDiameter, getDiameter, xmlelement, mode).defaultValues(20);
-      XMLPortParam(ForceField, "length"  , setLength  , getLength  , xmlelement, mode).defaultValues(500);
+      XMLPortParam(ForceField, "diameter", setDiameter, getDiameter, xmlelement, mode).defaultValues(500);
+      XMLPortParam(ForceField, "length"  , setLength  , getLength  , xmlelement, mode).defaultValues(2000);
     }
   
     void ForceField::tick(float dt)
     {
+      
       for (ObjectList<MobileEntity>::iterator it = ObjectList<MobileEntity>::begin(); it != ObjectList<MobileEntity>::end(); ++it)
       {
+	
         //calculate from 
         Vector3 directionVec = this->getOrientation() * WorldEntity::FRONT;
         directionVec.normalise();
@@ -76,8 +78,7 @@
         if (distanceVec.length() < this->length_ / 2 && distFromCenterVec < diameter_ / 2)
         {
           //normalize distance from center
-          it->applyCentralForce(((diameter_ / 2 - distFromCenterVec) / diameter_) * directionVec * velocity_);
-		COUT(0) << "Forfce aplied" << std::endl;
+          it->applyCentralForce(((diameter_ / 2 - distFromCenterVec) / (diameter_ / 2)) * directionVec * velocity_);
         }
 	
       }




More information about the Orxonox-commit mailing list