Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 19, 2007, 10:10:11 PM (16 years ago)
Author:
landauf
Message:
  • removed the "ClassHierarchy" manager-class and put its sole feature (bIsCreatingClassHierarchy_) directly into the Identifier.
  • added a dynamic_cast from OrxonoxClass to BaseObject to the Factory. OrxonoxClass is needed because several classes use Interfaces, but all classes are derived at least from BaseObject, so the cast will work.
File:
1 edited

Legend:

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

    r197 r219  
    66    // ###       Identifier        ###
    77    // ###############################
     8    int Identifier::hierarchyCreatingCounter_s = 0;
     9
    810    Identifier::Identifier()
    911    {
    1012        this->bCreatedOneObject_ = false;
    11         this->directParents_ = new IdentifierList();
    12         this->allParents_ = new IdentifierList();
    13         this->directChildren_ = new IdentifierList();
    14         this->allChildren_ = new IdentifierList();
    15         this->objects_ = new ObjectList();
     13//        this->directParents_ = new IdentifierList();
     14//        this->allParents_ = new IdentifierList();
     15//        this->directChildren_ = new IdentifierList();
     16//        this->allChildren_ = new IdentifierList();
     17//        this->objects_ = new ObjectList();
    1618    }
    1719
    1820    Identifier::~Identifier()
    1921    {
    20         delete this->directParents_;
    21         delete this->allParents_;
    22         delete this->directChildren_;
    23         delete this->allChildren_;
    24         delete this->objects_;
     22//        delete this->directParents_;
     23//        delete this->allParents_;
     24//        delete this->directChildren_;
     25//        delete this->allChildren_;
     26//        delete this->objects_;
    2527        delete &this->name_;
    2628    }
     
    4042            while (temp1)
    4143            {
    42                 temp2 = temp1->identifier_->directParents_->first_;
     44                temp2 = temp1->identifier_->directParents_.first_;
    4345                while (temp2)
    4446                {
     
    6264                if (temp1->bDirect_)
    6365                {
    64                     this->directParents_->add(temp1->identifier_);
    65                     temp1->identifier_->directChildren_->add(this);
     66                    this->directParents_.add(temp1->identifier_);
     67                    temp1->identifier_->directChildren_.add(this);
    6668                }
    6769
    68                 this->allParents_->add(temp1->identifier_);
    69                 temp1->identifier_->allChildren_->add(this);
     70                this->allParents_.add(temp1->identifier_);
     71                temp1->identifier_->allChildren_.add(this);
    7072
    7173                temp1 = temp1->next_;
     
    7779    {
    7880        std::cout << "*** Added " << this->name_ << " to list.\n";
    79         this->objects_->add(object);
     81        this->objects_.add(object);
    8082    }
    8183
     
    8385    {
    8486        std::cout << "*** Removed " << this->name_ << " from list.\n";
    85         this->objects_->remove(object);
     87        this->objects_.remove(object);
    8688    }
    8789
    8890    bool Identifier::isA(Identifier* identifier)
    8991    {
    90         return (identifier == this || this->allParents_->isInList(identifier));
     92        return (identifier == this || this->allParents_.isInList(identifier));
    9193    }
    9294
     
    98100    bool Identifier::isChildOf(Identifier* identifier)
    99101    {
    100         return this->allParents_->isInList(identifier);
     102        return this->allParents_.isInList(identifier);
    101103    }
    102104
    103105    bool Identifier::isDirectChildOf(Identifier* identifier)
    104106    {
    105         return this->directParents_->isInList(identifier);
     107        return this->directParents_.isInList(identifier);
    106108    }
    107109
    108110    bool Identifier::isParentOf(Identifier* identifier)
    109111    {
    110         return this->allChildren_->isInList(identifier);
     112        return this->allChildren_.isInList(identifier);
    111113    }
    112114
    113115    bool Identifier::isDirectParentOf(Identifier* identifier)
    114116    {
    115         return this->directChildren_->isInList(identifier);
     117        return this->directChildren_.isInList(identifier);
    116118    }
    117119}
Note: See TracChangeset for help on using the changeset viewer.