- Timestamp:
- May 10, 2010, 2:55:46 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.h
r6873 r6874 43 43 namespace orxonox 44 44 { 45 46 47 48 49 45 class _OverlaysExport HUDNavigation : public OrxonoxOverlay, public Tickable, public RadarListener 46 { 47 public: 48 HUDNavigation(BaseObject* creator); 49 virtual ~HUDNavigation(); 50 50 51 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); 52 virtual void tick(float dt); 53 virtual void addObject(RadarViewable* object); 54 55 virtual void removeObject(RadarViewable* viewable); 56 virtual void objectChanged(RadarViewable* viewable){} 57 inline float getRadarSensitivity() const{} 58 inline void radarTick(float dt) {} 59 51 virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode); 52 virtual void tick(float dt); 53 virtual void addObject(RadarViewable* object); 60 54 61 private: 55 virtual void removeObject(RadarViewable* viewable); 56 virtual void objectChanged(RadarViewable* viewable) {} 57 inline float getRadarSensitivity() const {return 1.0f;} 58 inline void radarTick(float dt) {} 62 59 63 64 65 void sizeChanged(); 66 void angleChanged() { } 67 void positionChanged() { } 68 60 61 private: 62 63 64 65 void sizeChanged(); 66 void angleChanged() { } 67 void positionChanged() { } 68 69 69 // void updateActiveObjectList(map activeObjectList_); 70 71 72 70 73 // XMLPort accessors74 void setNavMarkerSize(float size) { navMarkerSize_ = size;75 this->sizeChanged(); }76 float getNavMarkerSize() const { return navMarkerSize_; }77 71 78 /*79 void setAimMarkerSize(float size) { this->aimMarkerSize_ = size; this->sizeChanged(); }80 float getAimMarkerSize() const { return this->aimMarkerSize_; }81 */82 72 83 void setTextSize(float size); 84 float getTextSize() const; 73 // XMLPort accessors 74 void setNavMarkerSize(float size) { 75 navMarkerSize_ = size; 76 this->sizeChanged(); 77 } 78 float getNavMarkerSize() const { 79 return navMarkerSize_; 80 } 85 81 86 void setFont(const std::string& font); 87 const std::string& getFont() const; 82 /* 83 void setAimMarkerSize(float size) { this->aimMarkerSize_ = size; this->sizeChanged(); } 84 float getAimMarkerSize() const { return this->aimMarkerSize_; } 85 */ 88 86 89 void updateMarker(); 90 void updateFocus(); 91 float getDist2Focus() const; 92 void getSingleton(); 87 void setTextSize(float size); 88 float getTextSize() const; 93 89 94 95 void updateActiveObjectMap(); 96 97 Ogre::PanelOverlayElement* navMarker_; //!< the panel used to show the arrow and the target marker 98 float navMarkerSize_; //!< One paramter size of the navigation marker 99 /* 100 Ogre::PanelOverlayElement* aimMarker_; //!< Panel used to show the aim Marker 101 float aimMarkerSize_; //!< One paramter size of the aim marker 102 */ 103 Ogre::TextAreaOverlayElement* navText_; //!< Text overlay to display the target distance 104 bool wasOutOfView_; //!< Performance booster variable: setMaterial is not cheap 105 106 typedef std::map<RadarViewable*, std::pair<Ogre::PanelOverlayElement*, Ogre::TextAreaOverlayElement*> > activeObjectListType; 107 activeObjectListType activeObjectList_; 108 activeObjectListType::iterator tempRadarViewable; 109 110 std::string fontName_; 111 float textSize_; 90 void setFont(const std::string& font); 91 const std::string& getFont() const; 112 92 113 }; 114 93 void updateMarker(); 94 void updateFocus(); 95 float getDist2Focus() const; 96 void getSingleton(); 97 98 99 void updateActiveObjectMap(); 100 101 Ogre::PanelOverlayElement* navMarker_; //!< the panel used to show the arrow and the target marker 102 float navMarkerSize_; //!< One paramter size of the navigation marker 103 /* 104 Ogre::PanelOverlayElement* aimMarker_; //!< Panel used to show the aim Marker 105 float aimMarkerSize_; //!< One paramter size of the aim marker 106 */ 107 Ogre::TextAreaOverlayElement* navText_; //!< Text overlay to display the target distance 108 bool wasOutOfView_; //!< Performance booster variable: setMaterial is not cheap 109 110 typedef std::map<RadarViewable*, std::pair<Ogre::PanelOverlayElement*, Ogre::TextAreaOverlayElement*> > activeObjectListType; 111 activeObjectListType activeObjectList_; 112 activeObjectListType::iterator tempRadarViewable; 113 114 std::string fontName_; 115 float textSize_; 116 117 }; 118 115 119 } 116 120
Note: See TracChangeset
for help on using the changeset viewer.