- Timestamp:
- May 3, 2010, 5:03:05 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.cc
r6796 r6849 30 30 31 31 #include <string> 32 #include <vector>33 #include <map>34 32 #include <OgreCamera.h> 35 33 #include <OgreOverlayManager.h> 36 34 #include <OgreTextAreaOverlayElement.h> 37 35 #include <OgrePanelOverlayElement.h> 38 39 36 #include "util/Math.h" 40 37 #include "util/Convert.h" … … 47 44 #include "controllers/HumanController.h" 48 45 #include "worldentities/pawns/Pawn.h" 46 #include "worldentities/WorldEntity.h" 49 47 50 48 namespace orxonox … … 139 137 void HUDNavigation::tick(float dt) 140 138 { 141 142 143 139 SUPER(HUDNavigation, tick, dt); 144 140 … … 291 287 } 292 288 293 // map <WorldEntity*, pair <Ogre::PanelOverlayElement*, Ogre::TextAreaOverlayElement*> > ActiveObjectList; 289 void HUDNavigation::addObject(RadarViewable* object) 290 { 291 if (object == dynamic_cast<RadarViewable*>(this->getOwner())) 292 return; 293 294 assert(object); 295 296 // Make sure the object hasn't been added yet 297 assert( this->activeObjectList_.find(object) == this->activeObjectList_.end() ); 298 299 // Create everything needed to display the object on the radar and add it to the map 300 301 // create nav marker 302 Ogre::PanelOverlayElement* panel = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton() 303 .createOverlayElement("Panel", "HUDNavigation_navMarker_" + getUniqueNumberString())); 304 305 panel->setMaterialName("Orxonox/NavArrows"); 306 307 Ogre::TextAreaOverlayElement* text = static_cast<Ogre::TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton() 308 .createOverlayElement("TextArea", "HUDNavigation_navText_" + getUniqueNumberString())); 309 310 activeObjectList_[object] = std::make_pair (panel, text) ; 311 activeObjectList_[object].first->show(); 312 activeObjectList_[object].second->show(); 313 } 294 314 295 // void updateActiveObjectMap(){296 // --> iteration durch die betsehende map über alle keys (Worldentity*) 297 // --> check: 'existiert noch' 'sizeChanged' 'angleChanged' 'positionChanged' 298 // --> update des aktuellen Objects (Panel & Text) 299 // --> lücke schliessen in der map (aufrücken nach links)300 // --> neue objekte suchen301 // -- map.add neue objekte hinzufügen (pair <panel, text> einfügen.302 // }303 315 void HUDNavigation::removeObject(RadarViewable* viewable){ 316 assert(activeObjectList_.find(viewable)!=activeObjectList_.end()); 317 activeObjectList_.erase(viewable); 318 } 319 // 320 // void HUDNavigation::objectChanged(RadarViewable* viewable){} 321 // float HUDNavigation::getRadarSensitivity(){} 322 // void HUDNavigation::radarTick(float dt){} 323 // 304 324 305 325
Note: See TracChangeset
for help on using the changeset viewer.