Changeset 1254 for code/branches/hud2/src/orxonox/hud/HUD.cc
- Timestamp:
- May 11, 2008, 2:34:01 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hud2/src/orxonox/hud/HUD.cc
r1099 r1254 33 33 #include <OgreSceneNode.h> 34 34 #include <OgreEntity.h> 35 #include "core/Debug.h" 35 36 36 37 #include "HUD.h" 37 38 #include "BarOverlayElement.h" 39 #include "RadarOverlayElement.h" 38 40 #include "OverlayElementFactories.h" 39 41 // ugly hack … … 55 57 overlayManager.addOverlayElementFactory(smartBarOverlayElementFactory); 56 58 59 RadarOverlayElementFactory *radarOverlayElementFactory = new RadarOverlayElementFactory(); 60 overlayManager.addOverlayElementFactory(radarOverlayElementFactory); 61 57 62 Ogre::Overlay* orxonoxOverlay = overlayManager.create("Orxonox/HUD"); 58 63 … … 62 67 energyCounter->show(); 63 68 69 70 radar = static_cast<RadarOverlayElement*>(overlayManager.createOverlayElement("Radar", "radar")); 71 radar->show(); 72 73 74 /* TextAreaOverlayElement* test = static_cast<TextAreaOverlayElement*>(overlayManager.createOverlayElement("TextArea", "test")); 75 76 int dirX, dirY, dirZ; //flying direction 77 int ortX, ortY, ortZ; //orthogonal direction 78 int dX, dY, dZ; //distance between main ship and the object 79 int vecX, vecY, vecZ; //vector product dir X ort 80 double alpha; //defines the radius in the radar 81 double beta; //defines the angle in the radar 82 bool right; //checks whether the object is on the right side (since cos is not bijective) 83 84 dirX = 1; 85 dirY = 0; 86 dirZ = 0; 87 88 ortX = 0; 89 ortY = 0; 90 ortZ = 1; 91 92 dX = -2; 93 dY = 2; 94 dZ = 0; 95 96 alpha = acos((dirX*dX+dirY*dY+dirZ*dZ)/(sqrt(pow(dX,2)+pow(dY,2)+pow(dZ,2))*sqrt(pow(dirX,2)+pow(dirY,2)+pow(dirZ,2)))); 97 beta = acos((ortX*dX+ortY*dY+ortZ*dZ)/(sqrt(pow(dX,2)+pow(dY,2)+pow(dZ,2))*sqrt(pow(ortX,2)+pow(ortY,2)+pow(ortZ,2)))); 98 vecX = dirY*ortZ - dirZ*ortY; 99 vecY = dirZ*ortX - dirX*ortZ; 100 vecZ = dirX*ortY - dirY*ortX; 101 102 if((vecX*dX+vecY*dY+vecZ*dZ)>0){right=true;} 103 else right=false; 104 105 test->setCaption("hell"); 106 test->setPosition(10,10); 107 test->setDimensions(20,20); 108 test->show(); 109 test->setMetricsMode(Ogre::GMM_PIXELS); 110 energyCounterPanel->addChild(test); 111 112 COUT(0)<<alpha<<" "<<beta<<" "<<right<<std::endl; 113 */ 114 64 115 energyCounterPanel->addChild(energyCounter); 116 energyCounterPanel->addChild(radar); 65 117 energyCounterPanel->show(); 66 118 67 119 orxonoxOverlay->add2D(energyCounterPanel); 68 120 orxonoxOverlay->show(); 69 121 122 123 70 124 // important: don't use SceneManager to create the node! but register the creator scene manager. 71 125 /* ogreNode_ = new Ogre::SceneNode(Orxonox::getSingleton()->getSceneManager(), "hudNoedely"); … … 88 142 energyCounter->initSmartBarOverlayElement(-100,0,200,20,BarOverlayElement::LEFT); 89 143 energyCounter->reset(80); 144 145 radar->initRadarOverlayElement(10,10,200,energyCounterPanel); 90 146 91 147
Note: See TracChangeset
for help on using the changeset viewer.