Index: orxonox/trunk/src/lib/coord/null_parent.cc
===================================================================
--- orxonox/trunk/src/lib/coord/null_parent.cc	(revision 3808)
+++ orxonox/trunk/src/lib/coord/null_parent.cc	(revision 3809)
@@ -40,5 +40,5 @@
    \todo this constructor is not jet implemented - do it
 */
-NullParent::NullParent () : PNode (new Vector(0,0,0), NULL)
+NullParent::NullParent () : PNode (Vector(0,0,0), NULL)
 {
   PRINTF(4)("NullParent::NullParent() - making new NullParent, there can only be one..\n");
@@ -49,10 +49,10 @@
 
 
-NullParent::NullParent (Vector* absCoordinate) : PNode (new Vector(0,0,0), NULL)
+NullParent::NullParent (const Vector& absCoordinate) : PNode (Vector(0,0,0), NULL)
 {
   singletonRef = this;
   this->parent = this;
   this->mode = PNODE_ALL;
-  *this->absCoordinate = *absCoordinate;
+  *this->absCoordinate = absCoordinate;
   this->setName("NullParent");
 }
Index: orxonox/trunk/src/lib/coord/null_parent.h
===================================================================
--- orxonox/trunk/src/lib/coord/null_parent.h	(revision 3808)
+++ orxonox/trunk/src/lib/coord/null_parent.h	(revision 3809)
@@ -23,5 +23,5 @@
  private:
   NullParent ();
-  NullParent (Vector* absCoordinate);
+  NullParent (const Vector& absCoordinate);
   static NullParent* singletonRef;
 
Index: orxonox/trunk/src/lib/coord/p_node.cc
===================================================================
--- orxonox/trunk/src/lib/coord/p_node.cc	(revision 3808)
+++ orxonox/trunk/src/lib/coord/p_node.cc	(revision 3809)
@@ -55,9 +55,9 @@
    \param parent The parent-node of this node.
 */
-PNode::PNode (Vector* absCoordinate, PNode* parent )
+PNode::PNode (const Vector& absCoordinate, PNode* parent )
 {
   this->init(parent);
 
-  *this->absCoordinate = *absCoordinate;
+  *this->absCoordinate = absCoordinate;
 
   __LIKELY_IF(parent != NULL)
@@ -191,4 +191,5 @@
    has changed and won't update the children Nodes.
 */
+/*
 void PNode::setAbsCoor (Vector* absCoord)
 {
@@ -196,5 +197,5 @@
   *this->absCoordinate = *absCoord;
 }
-
+*/
 
 
@@ -206,5 +207,5 @@
    has changed and won't update the children Nodes.
 */
-void PNode::setAbsCoor (Vector absCoord)
+void PNode::setAbsCoor (const Vector& absCoord)
 {
   this->bAbsCoorChanged = true;
@@ -269,5 +270,5 @@
 
 */
-void PNode::shiftCoor (Vector shift)
+void PNode::shiftCoor (const Vector& shift)
 {
 
Index: orxonox/trunk/src/lib/coord/p_node.h
===================================================================
--- orxonox/trunk/src/lib/coord/p_node.h	(revision 3808)
+++ orxonox/trunk/src/lib/coord/p_node.h	(revision 3809)
@@ -49,5 +49,5 @@
  public:
   PNode ();
-  PNode (Vector* absCoordinate, PNode* pNode);
+  PNode (const Vector& absCoordinate, PNode* pNode);
   virtual ~PNode ();
 
@@ -61,8 +61,8 @@
   void setRelCoor (Vector relCoord);
   inline Vector getAbsCoor () const { return *this->absCoordinate; }
-  void setAbsCoor (Vector* absCoord);
-  void setAbsCoor (Vector absCoord);
+  //void setAbsCoor (Vector* absCoord);
+  void setAbsCoor (const Vector& absCoord);
   void shiftCoor (Vector* shift);
-  void shiftCoor (Vector shift);
+  void shiftCoor (const Vector& shift);
   //void shiftCoor (Vector shift);
 
Index: orxonox/trunk/src/lib/graphics/light.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/light.cc	(revision 3808)
+++ orxonox/trunk/src/lib/graphics/light.cc	(revision 3809)
@@ -70,5 +70,5 @@
   this->lightPosition[3] = 0.0;
 
-  this->setAbsCoor(&position);
+  this->setAbsCoor(position);
 
   glLightfv (lightsV[this->lightNumber], GL_POSITION, this->lightPosition);
Index: orxonox/trunk/src/story_entities/world.cc
===================================================================
--- orxonox/trunk/src/story_entities/world.cc	(revision 3808)
+++ orxonox/trunk/src/story_entities/world.cc	(revision 3809)
@@ -771,7 +771,7 @@
   PRINTF(2)("debug() - starting debug\n");
   PNode* p1 = NullParent::getInstance ();
-  PNode* p2 = new PNode (new Vector(2, 2, 2), p1);
-  PNode* p3 = new PNode (new Vector(4, 4, 4), p1);
-  PNode* p4 = new PNode (new Vector(6, 6, 6), p2);
+  PNode* p2 = new PNode (Vector(2, 2, 2), p1);
+  PNode* p3 = new PNode (Vector(4, 4, 4), p1);
+  PNode* p4 = new PNode (Vector(6, 6, 6), p2);
 
   p1->debug ();
@@ -780,5 +780,5 @@
   p4->debug ();
 
-  p1->shiftCoor (new Vector(-1, -1, -1));
+  p1->shiftCoor (Vector(-1, -1, -1));
 
   printf("World::debug() - shift\n");
@@ -796,5 +796,5 @@
   p4->debug ();
 
-  p2->shiftCoor (new Vector(-1, -1, -1));
+  p2->shiftCoor (Vector(-1, -1, -1));
   p1->update (0);
 
@@ -804,5 +804,5 @@
   p4->debug ();
 
-  p2->setAbsCoor (new Vector(1,2,3));
+  p2->setAbsCoor (Vector(1,2,3));
 
 
@@ -1008,6 +1008,6 @@
   this->entities->add (entity);
 
-  entity->setAbsCoor (absCoor);
-  entity->setAbsDir (absDir);
+  entity->setAbsCoor (*absCoor);
+  entity->setAbsDir (*absDir);
 
   entity->postSpawn ();
@@ -1031,6 +1031,6 @@
       parentNode->addChild (entity);
       
-      entity->setRelCoor (relCoor);
-      entity->setRelDir (relDir);
+      entity->setRelCoor (*relCoor);
+      entity->setRelDir (*relDir);
       entity->setMode(parentingMode);
       
Index: orxonox/trunk/src/track_manager.cc
===================================================================
--- orxonox/trunk/src/track_manager.cc	(revision 3808)
+++ orxonox/trunk/src/track_manager.cc	(revision 3809)
@@ -811,6 +811,6 @@
       quat = quat * q;
 
-      this->bindSlave->setAbsCoor(&tmp);
-      this->bindSlave->setAbsDir(&quat);
+      this->bindSlave->setAbsCoor(tmp);
+      this->bindSlave->setAbsDir(quat);
     }
 }
