Changeset 2890 for code/trunk/src/orxonox/overlays/OverlayGroup.cc
- Timestamp:
- Apr 2, 2009, 8:42:11 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/orxonox/overlays/OverlayGroup.cc
r2662 r2890 63 63 OverlayGroup::~OverlayGroup() 64 64 { 65 for (std:: map<std::string,OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)66 delete it->second;65 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 66 delete (*it); 67 67 } 68 68 … … 83 83 } 84 84 85 //! Scales every element in the map.85 //! Scales every element in the set. 86 86 void OverlayGroup::setScale(const Vector2& scale) 87 87 { 88 for (std:: map<std::string,OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)89 (*it) .second->scale(scale / this->scale_);88 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 89 (*it)->scale(scale / this->scale_); 90 90 this->scale_ = scale; 91 91 } 92 92 93 //! Scrolls every element in the map.93 //! Scrolls every element in the set. 94 94 void OverlayGroup::setScroll(const Vector2& scroll) 95 95 { 96 for (std:: map<std::string,OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)97 (*it) .second->scroll(scroll - this->scroll_);96 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 97 (*it)->scroll(scroll - this->scroll_); 98 98 this->scroll_ = scroll; 99 99 } … … 101 101 /** 102 102 @brief 103 Adds an element to the map(used when loading with XMLPort).103 Adds an element to the set (used when loading with XMLPort). 104 104 @remarks 105 105 The names of the OrxonoxOverlays have to be unique! … … 107 107 void OverlayGroup::addElement(OrxonoxOverlay* element) 108 108 { 109 if (hudElements_.find(element->getName()) != hudElements_.end()) 110 { 111 COUT(1) << "Ambiguous names encountered while load the HUD overlays" << std::endl; 112 } 113 else 114 { 115 hudElements_[element->getName()] = element; 116 element->setVisible(this->isVisible()); 117 if (this->owner_) 118 element->setOwner(this->owner_); 119 } 109 hudElements_.insert(element); 110 element->setVisible(this->isVisible()); 111 if (this->owner_) 112 element->setOwner(this->owner_); 120 113 } 121 114 … … 125 118 if (index < this->hudElements_.size()) 126 119 { 127 std:: map<std::string,OrxonoxOverlay*>::const_iterator it = hudElements_.begin();120 std::set<OrxonoxOverlay*>::const_iterator it = hudElements_.begin(); 128 121 for (unsigned int i = 0; i != index; ++it, ++i) 129 122 ; 130 return (*it) .second;123 return (*it); 131 124 } 132 125 else … … 137 130 void OverlayGroup::changedVisibility() 138 131 { 139 for (std:: map<std::string,OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)140 (*it) .second->setVisible(this->isVisible());132 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 133 (*it)->setVisible(this->isVisible()); 141 134 } 142 135 143 void OverlayGroup::setOwner( ControllableEntity* owner)136 void OverlayGroup::setOwner(BaseObject* owner) 144 137 { 145 138 this->owner_ = owner; 146 139 147 for (std:: map<std::string,OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)148 (*it) .second->setOwner(owner);140 for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it) 141 (*it)->setOwner(owner); 149 142 } 150 143
Note: See TracChangeset
for help on using the changeset viewer.