Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 11, 2008, 2:34:01 PM (16 years ago)
Author:
FelixSchulthess
Message:

chais new hud

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/hud2/src/orxonox/hud/RadarOverlayElement.cc

    r1221 r1254  
    2828#include <OgreOverlayManager.h>
    2929#include <OgreOverlayElement.h>
     30#include <OgrePanelOverlayElement.h>
     31
    3032#include <OgreStringConverter.h>
    3133#include <math.h>
     
    4749  }
    4850 
    49   void RadarOverlayElement::initRadarOverlayElement(){
     51  void RadarOverlayElement::initRadarOverlayElement(Real left, Real top, int dim, Ogre::OverlayContainer* container){
     52   
    5053    int dirX, dirY, dirZ;      //flying direction
    5154    int ortX, ortY, ortZ;      //orthogonal direction
     
    6871    dZ = 0;
    6972   
    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))));
    7275    vecX = dirY*ortZ - dirZ*ortY;
    7376    vecY = dirZ*ortX - dirX*ortZ;
     
    7679    if((vecX*dX+vecY*dY+vecZ*dZ)>0){right=true;}
    7780    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();
    7888
     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    }
    79107
     108   
     109
     110   
     111  } 
    80112}
    81113
    82114
     115
Note: See TracChangeset for help on using the changeset viewer.