- Timestamp:
- May 11, 2008, 2:34:01 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hud2/src/orxonox/hud/RadarOverlayElement.cc
r1221 r1254 28 28 #include <OgreOverlayManager.h> 29 29 #include <OgreOverlayElement.h> 30 #include <OgrePanelOverlayElement.h> 31 30 32 #include <OgreStringConverter.h> 31 33 #include <math.h> … … 47 49 } 48 50 49 void RadarOverlayElement::initRadarOverlayElement(){ 51 void RadarOverlayElement::initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container){ 52 50 53 int dirX, dirY, dirZ; //flying direction 51 54 int ortX, ortY, ortZ; //orthogonal direction … … 68 71 dZ = 0; 69 72 70 alpha = acos(( (double)(dirX*dX+dirY*dY+dirZ*dZ))/(sqrt((double)(pow(dX,2)+pow(dY,2)+pow(dZ,2)))+sqrt((double)(pow(dirX,2)+pow(dirY,2)+pow(dirZ,2)))));71 beta = acos(( (double)(ortX*dX+ortY*dY+ortZ*dZ))/(sqrt((double)(pow(dX,2)+pow(dY,2)+pow(dZ,2)))+sqrt((double)(pow(ortX,2)+pow(ortY,2)+pow(ortZ,2)))));73 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)))); 74 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)))); 72 75 vecX = dirY*ortZ - dirZ*ortY; 73 76 vecY = dirZ*ortX - dirX*ortZ; … … 76 79 if((vecX*dX+vecY*dY+vecZ*dZ)>0){right=true;} 77 80 else right=false; 81 82 setMetricsMode(Ogre::GMM_PIXELS); 83 setPosition(left,top); 84 setDimensions(dim,dim); 85 setMaterialName("Orxonox/MapBackGround"); 86 87 Ogre::OverlayManager& overlayManager = Ogre::OverlayManager::getSingleton(); 78 88 89 PanelOverlayElement* point = static_cast<PanelOverlayElement*>(overlayManager.createOverlayElement("Panel", "point")); 90 point->show(); 91 92 container->addChild(point); 93 94 if (right){ 95 point->setPosition(sin(beta)*alpha/3.14*dim/2+dim/2,-cos(beta)*alpha/3.14*dim/2+dim/2); 96 point->setMaterialName("Orxonox/Red"); 97 point->setDimensions(5,5); 98 point->setMetricsMode(Ogre::GMM_PIXELS); 99 } 100 101 else { 102 point->setPosition(-sin(beta)*alpha/3.14*dim/2+dim/2,-cos(beta)*alpha/3.14*dim/2+dim/2); 103 point->setMaterialName("Orxonox/Red"); 104 point->setDimensions(5,5); 105 point->setMetricsMode(Ogre::GMM_PIXELS); 106 } 79 107 108 109 110 111 } 80 112 } 81 113 82 114 115
Note: See TracChangeset
for help on using the changeset viewer.