Index: trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.cc	(revision 5110)
+++ trunk/src/lib/graphics/render2D/element_2d.cc	(revision 5111)
@@ -55,5 +55,5 @@
 
   tIterator<Element2D>* iterator = this->children->getIterator();
-  Element2D* pn = iterator->firstElement();
+  Element2D* pn = iterator->nextElement();
   while( pn != NULL)
   {
@@ -214,9 +214,4 @@
 void Element2D::setRelCoor2D (const Vector& relCoord)
 {
-  if (this->toCoordinate!= NULL)
-  {
-    delete this->toCoordinate;
-    this->toCoordinate = NULL;
-  }
   this->relCoordinate = relCoord;
   this->bRelCoorChanged = true;
@@ -232,5 +227,5 @@
 void Element2D::setRelCoor2D (float x, float y, float z)
 {
-  this->setRelCoor2D(Vector(x,y,z));
+  this->setAbsCoor2D(Vector(x,y,z));
 }
 
@@ -293,10 +288,4 @@
 void Element2D::setAbsCoor2D (const Vector& absCoord)
 {
-  if (this->toCoordinate!= NULL)
-  {
-    delete this->toCoordinate;
-    this->toCoordinate = NULL;
-  }
-
   if( likely(this->parentMode & E2D_PARENT_MOVEMENT))
   {
@@ -373,10 +362,4 @@
 void Element2D::setRelDir2D (float relDir)
 {
-  if (this->toDirection!= NULL)
-  {
-    delete this->toDirection;
-    this->toDirection = NULL;
-  }
-
   this->relDirection = relDir;
   this->bRelDirChanged = true;
@@ -403,10 +386,4 @@
 void Element2D::setAbsDir2D (float absDir)
 {
-  if (this->toDirection!= NULL)
-  {
-    delete this->toDirection;
-    this->toDirection = NULL;
-  }
-
   if (likely(this->parent != NULL))
     this->relDirection = absDir - this->parent->getAbsDir2D();
@@ -479,5 +456,5 @@
 {
   tIterator<Element2D>* iterator = this->children->getIterator();
-  Element2D* pn = iterator->firstElement();
+  Element2D* pn = iterator->nextElement();
 
   while( pn != NULL)
@@ -687,5 +664,5 @@
   {
     tIterator<Element2D>* iterator = this->children->getIterator();
-    Element2D* pn = iterator->firstElement();
+    Element2D* pn = iterator->nextElement();
     while( pn != NULL)
     {
@@ -697,4 +674,5 @@
 
       pn->update2D(dt);
+          //pn = this->children->nextElement();
       pn = iterator->nextElement();
     }
@@ -734,5 +712,6 @@
   {
     tIterator<Element2D>* iterator = this->children->getIterator();
-    Element2D* pn = iterator->firstElement();
+      //PNode* pn = this->children->enumerate ();
+    Element2D* pn = iterator->nextElement();
     while( pn != NULL)
     {
Index: trunk/src/lib/graphics/render2D/element_2d.h
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.h	(revision 5110)
+++ trunk/src/lib/graphics/render2D/element_2d.h	(revision 5111)
@@ -108,6 +108,4 @@
     /** @returns the relative position */
     inline const Vector& getRelCoor2D () const { return this->prevRelCoordinate; };
-    /** @returns the Relative Coordinate Destination */
-    inline const Vector& getRelCoorSoft2D() const { return (this->toCoordinate)?*this->toCoordinate:this->relCoordinate; };
     const Vector& getRelCoor2Dpx() const;
     void setAbsCoor2D (const Vector& absCoord);
@@ -125,6 +123,4 @@
     /** @returns the relative Direction */
     inline float getRelDir2D () const { return this->prevRelDirection; };
-    /** @returns the Relative Directional Destination */
-    inline float getRelDirSoft2D() const { return (this->toDirection)?*this->toDirection:this->relDirection; };
     void setAbsDir2D (float absDir);
     /** @returns the absolute Direction */
Index: trunk/src/lib/graphics/render2D/render_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/render_2d.cc	(revision 5110)
+++ trunk/src/lib/graphics/render2D/render_2d.cc	(revision 5111)
@@ -105,5 +105,5 @@
   {
     tIterator<Element2D>* iterator = this->element2DList[i]->getIterator();
-    Element2D* elem = iterator->firstElement();
+    Element2D* elem = iterator->nextElement();
     while (elem != NULL)
     {
@@ -131,5 +131,5 @@
     {
       tIterator<Element2D>* iterator = this->element2DList[i]->getIterator();
-      Element2D* elem = iterator->firstElement();
+      Element2D* elem = iterator->nextElement();
       while (elem != NULL)
       {
