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/HUD.cc

    r1099 r1254  
    3333#include <OgreSceneNode.h>
    3434#include <OgreEntity.h>
     35#include "core/Debug.h"
    3536
    3637#include "HUD.h"
    3738#include "BarOverlayElement.h"
     39#include "RadarOverlayElement.h"
    3840#include "OverlayElementFactories.h"
    3941// ugly hack
     
    5557    overlayManager.addOverlayElementFactory(smartBarOverlayElementFactory);
    5658   
     59    RadarOverlayElementFactory *radarOverlayElementFactory = new RadarOverlayElementFactory();
     60    overlayManager.addOverlayElementFactory(radarOverlayElementFactory);
     61   
    5762    Ogre::Overlay* orxonoxOverlay = overlayManager.create("Orxonox/HUD");
    5863
     
    6267    energyCounter->show();
    6368   
     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   
    64115    energyCounterPanel->addChild(energyCounter);
     116    energyCounterPanel->addChild(radar);
    65117    energyCounterPanel->show();
    66 
     118   
    67119    orxonoxOverlay->add2D(energyCounterPanel);
    68120    orxonoxOverlay->show();
    69121
     122   
     123   
    70124    // important: don't use SceneManager to create the node! but register the creator scene manager.
    71125/*    ogreNode_ = new Ogre::SceneNode(Orxonox::getSingleton()->getSceneManager(), "hudNoedely");
     
    88142    energyCounter->initSmartBarOverlayElement(-100,0,200,20,BarOverlayElement::LEFT);
    89143    energyCounter->reset(80);
     144   
     145    radar->initRadarOverlayElement(10,10,200,energyCounterPanel);
    90146
    91147   
Note: See TracChangeset for help on using the changeset viewer.