Changeset 243 for code/branches/objecthierarchie/src/Identifier.cc
- Timestamp:
- Nov 25, 2007, 4:07:56 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/objecthierarchie/src/Identifier.cc
r241 r243 12 12 this->bCreatedOneObject_ = false; 13 13 14 this->directChildren_ = new IdentifierList; 15 this->allChildren_ = new IdentifierList; 14 this->children_ = new IdentifierList; 16 15 } 17 16 … … 20 19 delete &this->name_; 21 20 22 delete this->directChildren_; 23 delete this->allChildren_; 21 delete this->children_; 24 22 } 25 23 … … 33 31 this->bCreatedOneObject_ = true; 34 32 35 IdentifierListElement* temp1; 36 IdentifierListElement* temp2; 37 IdentifierListElement* temp3; 38 39 temp1 = parents->first_; 33 IdentifierListElement* temp1 = parents->first_; 40 34 while (temp1) 41 35 { 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); 70 38 71 39 temp1 = temp1->next_; … … 76 44 bool Identifier::isA(const Identifier* identifier) const 77 45 { 78 return (identifier == this || this-> allParents_.isInList(identifier));46 return (identifier == this || this->parents_.isInList(identifier)); 79 47 } 80 48 … … 86 54 bool Identifier::isChildOf(const Identifier* identifier) const 87 55 { 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); 94 57 } 95 58 96 59 bool Identifier::isParentOf(const Identifier* identifier) const 97 60 { 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); 104 62 } 105 63 }
Note: See TracChangeset
for help on using the changeset viewer.