Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 2856


Ignore:
Timestamp:
Mar 26, 2009, 5:06:25 PM (15 years ago)
Author:
Naaduun
Message:

implemented Map::openMap()

Location:
code/branches/map/src/orxonox/overlays/map
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/map/src/orxonox/overlays/map/Map.cc

    r2837 r2856  
    2828 
    2929#include <string>
     30#include <OgreSceneManager.h>
     31#include <OgreSceneNode.h>
     32#include <OgreEntity.h>
    3033#include <OgreOverlay.h>
    3134#include <OgreOverlayElement.h>
     
    4649        RegisterObject(Map);
    4750       
    48         //COUT(0) << "Map loaded\n" << this->getScene();
    49         Ogre::SceneManager* sm = this->getScene()->getSceneManager();
    50         Ogre::SceneNode* sn = new Ogre::SceneNode(sm);
    51         COUT(0) << "Map loaded\n" << sm << " / " << sn << std::endl;
     51        //Getting Scene Manager (Hack)
     52        ObjectList<Scene>::iterator it = ObjectList<Scene>::begin();
     53        this->sManager_ = it->getSceneManager();
     54       
     55        this->sNode_ = new Ogre::SceneNode(sManager_);
     56        oManager_ = Ogre::OverlayManager::getSingletonPtr();
     57        overlay_ = oManager_->create("Map");
     58        //overlay_ is member of OrxonoxOverlay
     59       
     60        //Not Showing the map as default
     61        this->isVisible_=false;
     62        overlay_->hide();
     63       
     64        //TestEntity
     65        Ogre::Entity * ent = sManager_->createEntity("ent", "drone.mesh");
     66        sNode_->attachObject( ent );
     67        sNode_->setPosition(0,0,-50);
     68        overlay_->add3D(sNode_);
    5269    }
    5370   
     
    5673        SUPER(Map, XMLPort, xmlElement, mode);
    5774    }
     75
     76    void Map::toggleVisibility()
     77    {
     78        if (!(this->isVisible_))
     79        {
     80            this->overlay_->show();
     81            this->isVisible_=1;
     82        }
     83        else
     84        {
     85            this->overlay_->hide();
     86            this->isVisible_=0;
     87        }
     88    }
    5889   
    59     void Map::changedVisibility()
     90    //Static function to toggle visibility of the map
     91    void Map::openMap()
    6092    {
    61         SUPER(Map, changedVisibility);
    62        
     93        for(ObjectList<orxonox::Map>::iterator it = ObjectList<orxonox::Map>::begin();
     94            it!=ObjectList<orxonox::Map>::end();
     95            it++)
     96        {
     97        //Map * m = it->getMap();
     98        COUT(0) << it->isVisible_ << std::endl;
     99        it->toggleVisibility();
     100        }
    63101    }
    64102   
    65103    void Map::tick(float dt)
    66104    {
     105        sNode_->lookAt(Vector3::NEGATIVE_UNIT_Z, Ogre::Node::TS_WORLD, Vector3::NEGATIVE_UNIT_Z);
     106       
    67107    }
    68108   
  • code/branches/map/src/orxonox/overlays/map/Map.h

    r2837 r2856  
    3131#include "OrxonoxPrereqs.h"
    3232#include <OgrePrerequisites.h>
     33#include <OgreSceneManager.h>
     34#include <OgreSceneNode.h>
     35#include <OgreEntity.h>
     36#include <OgreOverlay.h>
     37#include <OgreOverlayElement.h>
     38#include <OgreOverlayManager.h>
     39#include <OgreOverlayContainer.h>
    3340
    3441#include <OgreBorderPanelOverlayElement.h>
     
    5158        virtual void tick(float dt);
    5259
    53         virtual void changedVisibility();
    5460       
    55         inline static void openMap()
    56             {
    57                 COUT(0) << "Opening Map";
    58             }
     61       
     62        static void openMap();
    5963       
    6064    private: // functions
     65        void toggleVisibility();
    6166
    6267
    6368    private: // variables
    64 
    65 
     69        Ogre::SceneManager* sManager_;
     70        Ogre::SceneNode* sNode_;
     71        Ogre::OverlayManager * oManager_;
     72       
     73        bool isVisible_;
    6674    };
    6775}
Note: See TracChangeset for help on using the changeset viewer.