- Timestamp:
- Jan 10, 2016, 1:54:11 PM (8 years ago)
- Location:
- code/branches/cpp11_v3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/cpp11_v3
- Property svn:mergeinfo changed
-
code/branches/cpp11_v3/src/modules/overlays/hud/HUDRadar.cc
r11052 r11054 68 68 this->shapeMaterials_[RadarViewable::Triangle] = "RadarTriangle.png"; 69 69 this->shapeMaterials_[RadarViewable::Square] = "RadarSquare.png"; 70 this->owner_ = 0;70 this->owner_ = nullptr; 71 71 72 72 this->map3DFront_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton() … … 92 92 Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->map3DBack_); 93 93 94 for (std::map<RadarViewable*,Ogre::PanelOverlayElement*>::iterator it = this->radarObjects_.begin(); 95 it != this->radarObjects_.end(); ++it) 96 { 97 Ogre::OverlayManager::getSingleton().destroyOverlayElement(it->second); 94 for (const auto& mapEntry : this->radarObjects_) 95 { 96 Ogre::OverlayManager::getSingleton().destroyOverlayElement(mapEntry.second); 98 97 } 99 98 } … … 166 165 { 167 166 const std::set<RadarViewable*>& objectSet = this->getCreator()->getScene()->getRadar()->getRadarObjects(); 168 std::set<RadarViewable*>::const_iterator it; 169 for( it=objectSet.begin(); it!=objectSet.end(); ++it ) 170 this->addObject(*it); 167 for( RadarViewable* viewable : objectSet ) 168 this->addObject(viewable); 171 169 this->radarTick(0); 172 170 } … … 184 182 185 183 // update the distances for all objects 186 std::map<RadarViewable*,Ogre::PanelOverlayElement*>::iterator it;187 188 184 189 185 if(RadarMode_) … … 202 198 } 203 199 204 for( it = this->radarObjects_.begin(); it != this->radarObjects_.end(); ++it)200 for( const auto& mapEntry : this->radarObjects_ ) 205 201 { 206 202 // Make sure the object really is a WorldEntity 207 const WorldEntity* wePointer = it->first->getWorldEntity();203 const WorldEntity* wePointer = mapEntry.first->getWorldEntity(); 208 204 if( !wePointer ) 209 205 { … … 211 207 assert(0); 212 208 } 213 bool isFocus = ( it->first == focusObject);209 bool isFocus = (mapEntry.first == focusObject); 214 210 // set size to fit distance... 215 211 float distance = (wePointer->getWorldPosition() - this->owner_->getPosition()).length(); … … 218 214 float size; 219 215 if(RadarMode_) 220 size = maximumDotSize3D_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * it->first->getRadarObjectScale();216 size = maximumDotSize3D_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * mapEntry.first->getRadarObjectScale(); 221 217 else 222 size = maximumDotSize_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * it->first->getRadarObjectScale();223 it->second->setDimensions(size, size);218 size = maximumDotSize_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * mapEntry.first->getRadarObjectScale(); 219 mapEntry.second->setDimensions(size, size); 224 220 225 221 // calc position on radar... … … 235 231 int zOrder = determineMap3DZOrder(this->owner_->getPosition(), this->owner_->getOrientation() * WorldEntity::FRONT, this->owner_->getOrientation() * WorldEntity::UP, wePointer->getWorldPosition(), detectionLimit_); 236 232 if(overXZPlain == false /*&& (it->second->getZOrder() > 100 * this->overlay_->getZOrder())*/) // it appears that zOrder of attached Overlayelements is 100 times the zOrder of the Overlay 237 it->second->_notifyZOrder(this->overlay_->getZOrder() * 100 - 70 + zOrder);233 mapEntry.second->_notifyZOrder(this->overlay_->getZOrder() * 100 - 70 + zOrder); 238 234 if(overXZPlain == true /*&& (it->second->getZOrder() <= 100 * this->overlay_->getZOrder())*/) 239 it->second->_notifyZOrder(this->overlay_->getZOrder() * 100 + 70 + zOrder);235 mapEntry.second->_notifyZOrder(this->overlay_->getZOrder() * 100 + 70 + zOrder); 240 236 } 241 237 else … … 243 239 244 240 coord *= math::pi / 3.5f; // small adjustment to make it fit the texture 245 it->second->setPosition((1.0f + coord.x - size) * 0.5f, (1.0f - coord.y - size) * 0.5f);241 mapEntry.second->setPosition((1.0f + coord.x - size) * 0.5f, (1.0f - coord.y - size) * 0.5f); 246 242 247 243 if( distance < detectionLimit_ || detectionLimit_ < 0 ) 248 it->second->show();244 mapEntry.second->show(); 249 245 else 250 it->second->hide();246 mapEntry.second->hide(); 251 247 252 248 // if this object is in focus, then set the focus marker … … 256 252 this->marker_->setPosition((1.0f + coord.x - size * 1.5f) * 0.5f, (1.0f - coord.y - size * 1.5f) * 0.5f); 257 253 if(RadarMode_) 258 this->marker_->_notifyZOrder( it->second->getZOrder() -1);254 this->marker_->_notifyZOrder(mapEntry.second->getZOrder() -1); 259 255 this->marker_->show(); 260 256 }
Note: See TracChangeset
for help on using the changeset viewer.