Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5403 in orxonox.OLD for trunk/src/lib/graphics


Ignore:
Timestamp:
Oct 19, 2005, 1:00:43 AM (19 years ago)
Author:
bensch
Message:

orxonox/trunk:
implemented List-addAtIteratorPosition, to add any entity in the Sorted list at a designated position (for include-sorting)
include-sort the list of added Element2D's after their layer-depth

Location:
trunk/src/lib/graphics/render2D
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/graphics/render2D/element_2d.cc

    r5402 r5403  
    201201  if (this->parent != NULL && this->parent->getLayer() > layer)
    202202  {
    203     PRINTF(2)("Unable to set this Element2D to layer %s, because it's parent is of higher layer %s\n",
    204     Element2D::layer2DToChar(layer), Element2D::layer2DToChar(this->parent->getLayer()));
     203    PRINTF(2)("Unable to set %s to layer %s, because it's parent(%s) is of higher layer %s\n",
     204              this->getName(),
     205              Element2D::layer2DToChar(layer),
     206              this->parent->getName(),
     207              Element2D::layer2DToChar(this->parent->getLayer()));
    205208    layer = this->parent->getLayer();
    206209  }
     
    455458 * use this to add a child to this node.
    456459 */
    457 void Element2D::addChild2D (Element2D* child, int parentingMode)
     460void Element2D::addChild2D (Element2D* child)
    458461{
    459462  if( likely(child->parent != NULL))
     
    462465    child->parent->children->remove(child);
    463466  }
    464   if (parentingMode != E2D_PARENT_NONE)
    465     child->parentMode = parentingMode;
    466467  child->parent = this;
    467468  if (likely(this != NULL))
    468469  {
    469     this->children->add(child);
     470    // ELEMENT SORTING TO LAYERS  //
     471    unsigned int childCount = this->children->getSize();
     472    tIterator<Element2D>* iterator = this->children->getIterator();
     473    Element2D* elem = iterator->firstElement();
     474    while (elem != NULL)
     475    {
     476      if (elem->layer < child->layer)
     477      {
     478        this->children->addAtIteratorPosition(child, iterator);
     479        break;
     480      }
     481      elem = iterator->nextElement();
     482    }
     483    delete iterator;
     484    if (childCount == this->children->getSize())
     485      this->children->add(child);
     486    ////////////////////////////////
    470487    if (unlikely(this->layer > child->getLayer()))
    471488    {
    472       PRINTF(2)("Layer '%s' of Child %s lower than parents layer '%s'. updating\n",
    473       Element2D::layer2DToChar(child->getLayer()), Element2D::layer2DToChar(this->layer));
     489      PRINTF(2)("Layer '%s' of Child(%s) lower than parents(%s) layer '%s'. updating...\n",
     490      Element2D::layer2DToChar(child->getLayer()),child->getName(), this->getName(), Element2D::layer2DToChar(this->layer));
    474491      child->setLayer(this->layer);
    475492    }
     
    498515{
    499516  if (child != NULL)
    500   {
    501517    child->remove2D();
    502 //    this->children->remove(child);
    503 //    child->parent = NULL;
    504   }
    505518}
    506519
     
    517530  while( pn != NULL)
    518531  {
    519     NullElement2D::getInstance()->addChild2D(pn, pn->getParentMode2D());
     532    NullElement2D::getInstance()->addChild2D(pn);
    520533    pn = iterator->nextElement();
    521534  }
     
    953966 * @param absCoordinate the cordinate of the Parent (normally Vector(0,0,0))
    954967 */
    955 NullElement2D::NullElement2D () : Element2D(NULL, E2D_LAYER_TOP)
     968NullElement2D::NullElement2D () : Element2D(NULL, E2D_LAYER_BELOW_ALL)
    956969{
    957970  this->setClassID(CL_NULL_ELEMENT_2D, "NullElement2D");
  • trunk/src/lib/graphics/render2D/element_2d.h

    r5402 r5403  
    152152
    153153
    154     void addChild2D (Element2D* child, int parentingMode = E2D_PARENT_NONE);
     154    void addChild2D (Element2D* child);
    155155    void addChild2D (const char* childName);
    156156    void removeChild2D (Element2D* child);
Note: See TracChangeset for help on using the changeset viewer.