Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/orxonox/hud/Navigation.h @ 1494

Last change on this file since 1494 was 1494, checked in by rgrieder, 16 years ago
  • set the svn:eol-style property to all files so, that where ever you check out, you'll get the right line endings (had to change every file with mixed endings to windows in order to set the property)
  • Property svn:eol-style set to native
File size: 2.1 KB
Line 
1/* *   ORXONOX - the hottest 3D action shooter ever to exist *                    > www.orxonox.net < * * *   License notice: * *   This program is free software; you can redistribute it and/or *   modify it under the terms of the GNU General Public License *   as published by the Free Software Foundation; either version 2 *   of the License, or (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with this program; if not, write to the Free Software *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. *
2 *   Author:
3 *      Felix Schulthess
4 *   Co-authors:
5 *      ...
6 *
7 */
8
9#ifndef _Navigation_H__
10#define _Navigation_H__
11
12#include "OrxonoxPrereqs.h"
13
14#include <OgrePrerequisites.h>
15#include <OgreTextAreaOverlayElement.h>
16#include <OgrePanelOverlayElement.h>
17#include "util/Math.h"
18
19namespace orxonox
20{
21
22    class _OrxonoxExport Navigation
23    {
24      private:
25        Ogre::OverlayManager* om;                                           // our one and only overlay manager
26        Ogre::OverlayContainer* container_;
27        Ogre::PanelOverlayElement* navMarker_;      // the panel used to show the arrow
28        Ogre::TextAreaOverlayElement* navText_;     // displaying distance
29        Ogre::Camera* navCam_;
30        Vector3 navCamPos_;                         // position of ship
31        Vector3 currentDir_;
32        Vector3 currentOrth_;
33        std::set<RadarObject*>::iterator it_;
34        int windowW_, windowH_;
35        void init();
36        void updateMarker();
37
38      public:
39        Navigation(Ogre::OverlayContainer* container);
40        Navigation(Ogre::OverlayContainer* container, RadarObject* focus);
41        ~Navigation();
42        RadarObject* focus_;                        // next pointer of linked list
43
44        void update();
45        void cycleFocus();
46        float getDist2Focus();
47  };
48}
49
50#endif /* _Navigation_H__ */
Note: See TracBrowser for help on using the repository browser.