Index: code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc
===================================================================
--- code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc	(revision 1292)
+++ code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc	(revision 1295)
@@ -39,9 +39,5 @@
 #include <OgreOverlayElement.h>
 #include <OgrePanelOverlayElement.h>
-
 #include <OgreStringConverter.h>
-#include <math.h>
-#include <string.h>
-
 #include "RadarOverlayElement.h"
 
@@ -51,5 +47,7 @@
   using namespace Ogre;
 
-  RadarOverlayElement::RadarOverlayElement(const String& name):Ogre::PanelOverlayElement(name){}
+  RadarOverlayElement::RadarOverlayElement(const String& name):Ogre::PanelOverlayElement(name){
+    initialDir = Vector3(0.0, 0.0, 1.0);
+  }
 
   RadarOverlayElement::~RadarOverlayElement(){}
@@ -61,17 +59,15 @@
   void RadarOverlayElement::initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container){
 
-
+    dirX_ = 0;	// direction of travel
+    dirY_ = 0;
+    dirZ_ = 1;
     
-    dirX_ = 1;
-    dirY_ = 0;
-    dirZ_ = 0;
+    ortX_ = 0;	// normal of ship
+    ortY_ = 1;
+    ortZ_ = 0;
     
-    ortX_ = 0;
-    ortY_ = 0;
-    ortZ_ = 1;
-    
-    dX_ = 0;
+    dX_ = 37;
     dY_ = 0;
-    dZ_ = -1;
+    dZ_ = 0;
     
     alpha_ = acos((dirX_*dX_+dirY_*dY_+dirZ_*dZ_)/(sqrt(pow(dX_,2)+pow(dY_,2)+pow(dZ_,2))*sqrt(pow(dirX_,2)+pow(dirY_,2)+pow(dirZ_,2))));
Index: code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc~
===================================================================
--- code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc~	(revision 1292)
+++ code/branches/hud3/src/orxonox/hud/RadarOverlayElement.cc~	(revision 1295)
@@ -26,12 +26,18 @@
 */
 
+/*	local coordinate system of space ship:
+
+			y
+			+   z
+			|  +
+			| /
+			|/
+	       x +------O
+*/
+
 #include <OgreOverlayManager.h>
 #include <OgreOverlayElement.h>
 #include <OgrePanelOverlayElement.h>
-
 #include <OgreStringConverter.h>
-#include <math.h>
-#include <string.h>
-
 #include "RadarOverlayElement.h"
 
@@ -41,5 +47,7 @@
   using namespace Ogre;
 
-  RadarOverlayElement::RadarOverlayElement(const String& name):Ogre::PanelOverlayElement(name){}
+  RadarOverlayElement::RadarOverlayElement(const String& name):Ogre::PanelOverlayElement(name){
+    initialDir = Vector3(0.0, 0.0, 1.0);
+  }
 
   RadarOverlayElement::~RadarOverlayElement(){}
@@ -51,17 +59,15 @@
   void RadarOverlayElement::initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container){
 
-
+    dirX_ = 0;	// direction of travel
+    dirY_ = 0;
+    dirZ_ = 1;
     
-    dirX_ = 1;
-    dirY_ = 0;
-    dirZ_ = 0;
+    ortX_ = 0;	// normal of ship
+    ortY_ = 1;
+    ortZ_ = 0;
     
-    ortX_ = 0;
-    ortY_ = 0;
-    ortZ_ = 1;
-    
-    dX_ = 0;
+    dX_ = 37;
     dY_ = 0;
-    dZ_ = -1;
+    dZ_ = 0;
     
     alpha_ = acos((dirX_*dX_+dirY_*dY_+dirZ_*dZ_)/(sqrt(pow(dX_,2)+pow(dY_,2)+pow(dZ_,2))*sqrt(pow(dirX_,2)+pow(dirY_,2)+pow(dirZ_,2))));
Index: code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h
===================================================================
--- code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h	(revision 1292)
+++ code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h	(revision 1295)
@@ -32,5 +32,8 @@
 #include <OgreOverlayElement.h>
 #include <OgrePanelOverlayElement.h>
-
+#include <math.h>
+#include <util/Math.h>
+#include <string.h>
+#include "core/Tickable.h"
 #include <OgrePrerequisites.h>
 #include "../OrxonoxPrereqs.h"
@@ -39,5 +42,5 @@
 {
 
-  class _OrxonoxExport RadarOverlayElement : public Ogre::PanelOverlayElement
+  class _OrxonoxExport RadarOverlayElement : public Ogre::PanelOverlayElement, public Tickable
   {
   private:
@@ -45,13 +48,14 @@
     PanelOverlayElement* point[100];
     
-    int dirX_, dirY_, dirZ_;      //flying direction
-    int ortX_, ortY_, ortZ_;      //orthogonal direction
-    int dX_, dY_, dZ_;            //distance between main ship and the object
-    int vecX_, vecY_, vecZ_;      //vector product dir X ort
+    Vector3 initialDir;		//initial direction
+    int dirX_, dirY_, dirZ_;    //flying direction
+    int ortX_, ortY_, ortZ_;    //orthogonal direction
+    int dX_, dY_, dZ_;          //distance between main ship and the object
+    int vecX_, vecY_, vecZ_;    //vector product dir X ort
     double alpha_;              //defines the radius in the radar
     double beta_;               //defines the angle in the radar
     bool right_;                //checks whether the object is on the right side (since cos is not bijective)
     
-    //static int ID = 0;
+//    static int ID = 0;
 
   public:
@@ -63,5 +67,5 @@
     void initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container);
     void setMainShipPosition(int dirX, int dirY, int dirZ, int ortX, int ortY, int ortZ);
-    
+    void tick(float dt); 
     int newShip(int X, int Y, int Z);
     
Index: code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h~
===================================================================
--- code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h~	(revision 1292)
+++ code/branches/hud3/src/orxonox/hud/RadarOverlayElement.h~	(revision 1295)
@@ -26,14 +26,4 @@
 */
 
-/*	local coordinate system of space ship:
-
-			y
-			+   z
-			|  +
-			| /
-			|/
-	       x +------O
-*/
-
 #ifndef _RADAR_H__
 #define _RADAR_H__
@@ -42,5 +32,8 @@
 #include <OgreOverlayElement.h>
 #include <OgrePanelOverlayElement.h>
-
+#include <math.h>
+#include <util/Math.h>
+#include <string.h>
+#include <Tickable.h>
 #include <OgrePrerequisites.h>
 #include "../OrxonoxPrereqs.h"
@@ -49,5 +42,5 @@
 {
 
-  class _OrxonoxExport RadarOverlayElement : public Ogre::PanelOverlayElement
+  class _OrxonoxExport RadarOverlayElement : public Ogre::PanelOverlayElement, public Tickable
   {
   private:
@@ -55,13 +48,14 @@
     PanelOverlayElement* point[100];
     
-    int dirX_, dirY_, dirZ_;      //flying direction
-    int ortX_, ortY_, ortZ_;      //orthogonal direction
-    int dX_, dY_, dZ_;            //distance between main ship and the object
-    int vecX_, vecY_, vecZ_;      //vector product dir X ort
+    Vector3 initialDir;		//initial direction
+    int dirX_, dirY_, dirZ_;    //flying direction
+    int ortX_, ortY_, ortZ_;    //orthogonal direction
+    int dX_, dY_, dZ_;          //distance between main ship and the object
+    int vecX_, vecY_, vecZ_;    //vector product dir X ort
     double alpha_;              //defines the radius in the radar
     double beta_;               //defines the angle in the radar
     bool right_;                //checks whether the object is on the right side (since cos is not bijective)
     
-    //static int ID = 0;
+//    static int ID = 0;
 
   public:
@@ -73,5 +67,5 @@
     void initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container);
     void setMainShipPosition(int dirX, int dirY, int dirZ, int ortX, int ortY, int ortZ);
-    
+    void tick(float dt); 
     int newShip(int X, int Y, int Z);
     
Index: code/branches/hud3/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/branches/hud3/src/orxonox/objects/SpaceShip.cc	(revision 1292)
+++ code/branches/hud3/src/orxonox/objects/SpaceShip.cc	(revision 1295)
@@ -437,4 +437,12 @@
     }
 
+    Vector3 SpaceShip::getSPosition() {
+	return SpaceShip::instance_s->getPosition();
+    }
+
+    Quaternion SpaceShip::getSOrientation() {
+	return SpaceShip::instance_s->getOrientation();
+    }
+
     void SpaceShip::tick(float dt)
     {
Index: code/branches/hud3/src/orxonox/objects/SpaceShip.h
===================================================================
--- code/branches/hud3/src/orxonox/objects/SpaceShip.h	(revision 1292)
+++ code/branches/hud3/src/orxonox/objects/SpaceShip.h	(revision 1295)
@@ -33,4 +33,5 @@
 #include <OgrePrerequisites.h>
 
+#include "util/Math.h"
 #include "core/InputInterfaces.h"
 #include "Camera.h"
@@ -64,4 +65,6 @@
             void getFocus();
 
+	    static Vector3 getSPosition();
+	    static Quaternion getSOrientation();
 	    static std::string whereAmI();
             static void setMaxSpeedTest(float value)
