Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 25, 2007, 4:07:56 AM (16 years ago)
Author:
landauf
Message:

removed the "directParent" feature - it was a clever but unnecessary feature.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchie/src/Identifier.cc

    r241 r243  
    1212        this->bCreatedOneObject_ = false;
    1313
    14         this->directChildren_ = new IdentifierList;
    15         this->allChildren_ = new IdentifierList;
     14        this->children_ = new IdentifierList;
    1615    }
    1716
     
    2019        delete &this->name_;
    2120
    22         delete this->directChildren_;
    23         delete this->allChildren_;
     21        delete this->children_;
    2422    }
    2523
     
    3331            this->bCreatedOneObject_ = true;
    3432
    35             IdentifierListElement* temp1;
    36             IdentifierListElement* temp2;
    37             IdentifierListElement* temp3;
    38 
    39             temp1 = parents->first_;
     33            IdentifierListElement* temp1 = parents->first_;
    4034            while (temp1)
    4135            {
    42                 temp2 = temp1->identifier_->directParents_.first_;
    43                 while (temp2)
    44                 {
    45                     temp3 = parents->first_;
    46                     while(temp3)
    47                     {
    48                         if (temp3->identifier_ == temp2->identifier_)
    49                             temp3->bDirect_ = false;
    50 
    51                         temp3 = temp3->next_;
    52                     }
    53 
    54                     temp2 = temp2->next_;
    55                 }
    56                 temp1 = temp1->next_;
    57             }
    58 
    59             temp1 = parents->first_;
    60             while (temp1)
    61             {
    62                 if (temp1->bDirect_)
    63                 {
    64                     this->directParents_.add(temp1->identifier_);
    65                     temp1->identifier_->getDirectChildren().add(this);
    66                 }
    67 
    68                 this->allParents_.add(temp1->identifier_);
    69                 temp1->identifier_->getAllChildren().add(this);
     36                this->parents_.add(temp1->identifier_);
     37                temp1->identifier_->getChildren().add(this);
    7038
    7139                temp1 = temp1->next_;
     
    7644    bool Identifier::isA(const Identifier* identifier) const
    7745    {
    78         return (identifier == this || this->allParents_.isInList(identifier));
     46        return (identifier == this || this->parents_.isInList(identifier));
    7947    }
    8048
     
    8654    bool Identifier::isChildOf(const Identifier* identifier) const
    8755    {
    88         return this->allParents_.isInList(identifier);
    89     }
    90 
    91     bool Identifier::isDirectChildOf(const Identifier* identifier) const
    92     {
    93         return this->directParents_.isInList(identifier);
     56        return this->parents_.isInList(identifier);
    9457    }
    9558
    9659    bool Identifier::isParentOf(const Identifier* identifier) const
    9760    {
    98         return this->allChildren_->isInList(identifier);
    99     }
    100 
    101     bool Identifier::isDirectParentOf(const Identifier* identifier) const
    102     {
    103         return this->directChildren_->isInList(identifier);
     61        return this->children_->isInList(identifier);
    10462    }
    10563}
Note: See TracChangeset for help on using the changeset viewer.