[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