[Orxonox-commit 5182] r9847 - in code/branches/radarDreiD: data/overlays src/modules/overlays/hud

wroennin at orxonox.net wroennin at orxonox.net
Mon Dec 2 14:58:25 CET 2013


Author: wroennin
Date: 2013-12-02 14:58:25 +0100 (Mon, 02 Dec 2013)
New Revision: 9847

Modified:
   code/branches/radarDreiD/data/overlays/HUDTemplates3.oxo
   code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc
   code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.h
Log:
added variables, XMLProts for new Overlay elements for the 3D map

Modified: code/branches/radarDreiD/data/overlays/HUDTemplates3.oxo
===================================================================
--- code/branches/radarDreiD/data/overlays/HUDTemplates3.oxo	2013-12-02 13:57:38 UTC (rev 9846)
+++ code/branches/radarDreiD/data/overlays/HUDTemplates3.oxo	2013-12-02 13:58:25 UTC (rev 9847)
@@ -128,7 +128,9 @@
      name          			= "Radar"
      background    			= "Orxonox/Radar3D"
      material2D    			= "Orxonox/Radar"
-     material3Dmiddle   	= "Orxonox/Radar3D"
+     material3DMiddle   	= "Orxonox/Radar3D"
+     material3DFront		= "Orxonox/Radar3DFront"
+     material3DBack			= "Orxonox/Radar3DBack"
      correctaspect 			= true
      size          			= "0.17, 0.17"
      position      			= "1.0, 1.0"

Modified: code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc
===================================================================
--- code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc	2013-12-02 13:57:38 UTC (rev 9846)
+++ code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc	2013-12-02 13:58:25 UTC (rev 9847)
@@ -69,6 +69,25 @@
         this->shapeMaterials_[RadarViewable::Square]   = "RadarSquare.png";
         this->setDetectionLimit( 10000.0f );
         this->owner_ = 0;
+
+        this->map3DFront_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
+        	.createOverlayElement("Panel", "HUDRadar_mapDreiDFront_" + getUniqueNumberString()));
+        this->map3DFront_->setMaterialName("Orxonox/Radar3DFront");
+        this->overlay_->add2D(this->map3DFront_);
+        //this->map3DFront_->_setDimensions(0.17f, 0.17f);
+        //this->map3DFront_->_setPosition(1.0, 1.0);
+        //this->map3DFront_->_notifyZOrder(this->overlay_->getZOrder() * 100 + 10);
+        this->map3DFront_->hide();
+
+        this->map3DBack_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
+        	.createOverlayElement("Panel", "HUDRadar_mapDreiDBack_" + getUniqueNumberString()));
+        this->map3DBack_->setMaterialName("Orxonox/Radar3DBack");
+        this->overlay_->add2D(this->map3DBack_);
+        //this->map3DBack_->_setDimensions(0.17f, 0.17f);
+        //this->map3DBack_->_setPosition(1.0, 1.0);
+        //this->map3DBack_->_notifyZOrder(this->overlay_->getZOrder() * 100 - 10);
+        this->map3DBack_->hide();
+
     }
 
     HUDRadar::~HUDRadar()
@@ -76,6 +95,9 @@
         if (this->isInitialized())
         {
             Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->marker_);
+            Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->map3DFront_);
+            Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->map3DBack_);
+
             for (std::map<RadarViewable*,Ogre::PanelOverlayElement*>::iterator it = this->radarObjects_.begin();
                 it != this->radarObjects_.end(); ++it)
             {
@@ -99,11 +121,14 @@
         XMLPortParam(HUDRadar, "halfDotSizeDistance", setHalfDotSizeDistance, getHalfDotSizeDistance, xmlelement, mode);
         XMLPortParam(HUDRadar, "maximumDotSize", setMaximumDotSize, getMaximumDotSize, xmlelement, mode);
         XMLPortParam(HUDRadar, "maximumDotSize3D", setMaximumDotSize3D, getMaximumDotSize3D, xmlelement, mode);
-        XMLPortParam(HUDRadar, "Material2D", set2DMaterial, get2DMaterial, xmlelement, mode);
-        XMLPortParam(HUDRadar, "Material3Dmiddle", set3DMaterial, get3DMaterial, xmlelement, mode);
+        XMLPortParam(HUDRadar, "material2D", set2DMaterial, get2DMaterial, xmlelement, mode);
+        XMLPortParam(HUDRadar, "material3DMiddle", set3DMaterial, get3DMaterial, xmlelement, mode);
+        XMLPortParam(HUDRadar, "material3DFront", set3DMaterialFront, get3DMaterialFront, xmlelement, mode);
+        XMLPortParam(HUDRadar, "material3DBack", set3DMaterialBack, get3DMaterialBack, xmlelement, mode);
         XMLPortParam(HUDRadar, "mapAngle3D", setMapAngle, getMapAngle, xmlelement, mode);
 
 
+
     }
 
     void HUDRadar::addObject(RadarViewable* object)
@@ -173,16 +198,15 @@
         if(RadarMode_)
         {
         	this->setBackgroundMaterial(material3D_);
-        	//this->radar3Dback_->show();
-        	//this
-
-
+        	this->map3DFront_->show();
+        	this->map3DBack_->show();
         }
         else
         	this->setBackgroundMaterial(material2D_);
+        	this->map3DFront_->hide();
+        	this->map3DBack_->hide();
 
 
-
         for( it = this->radarObjects_.begin(); it != this->radarObjects_.end(); ++it )
         {
             // Make sure the object really is a WorldEntity

Modified: code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.h
===================================================================
--- code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.h	2013-12-02 13:57:38 UTC (rev 9846)
+++ code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.h	2013-12-02 13:58:25 UTC (rev 9847)
@@ -75,6 +75,12 @@
         std::string get3DMaterial() const {return this->material3D_; }
         void set3DMaterial(std::string material3D) { this->material3D_ = material3D; }
 
+        std::string get3DMaterialFront() const {return this->material3DFront_; }
+        void set3DMaterialFront(std::string material3DFront) { this->material3DFront_ = material3DFront; }
+
+        std::string get3DMaterialBack() const {return this->material3DBack_; }
+        void set3DMaterialBack(std::string material3DBack) { this->material3DBack_ = material3DBack; }
+
         float getRadarSensitivity() const { return this->sensitivity_; }
         // used also by RadarListener interface!
         void setRadarSensitivity(float sensitivity) { this->sensitivity_ = sensitivity; }
@@ -106,9 +112,14 @@
         float maximumDotSize3D_;
         float mapAngle_;
 
-        std::string material2D_;
-        std::string material3D_;
+        std::string material2D_;		//Material name for 2D map
+        std::string material3D_;		//Material names For the 3D minimap
+        std::string material3DFront_;
+        std::string material3DBack_;
 
+        Ogre::PanelOverlayElement* map3DFront_; //Overlayelements for the 3D minimap to be able to draw the points in a semi 3D matter
+        Ogre::PanelOverlayElement* map3DBack_;
+
         float sensitivity_;
         float detectionLimit_;
         ControllableEntity* owner_;




More information about the Orxonox-commit mailing list