Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/height_map/src/util/state.h @ 6483

Last change on this file since 6483 was 5405, checked in by bensch, 19 years ago

orxonox/trunk: renamed definition to the right term declaration…

File size: 1.6 KB
Line 
1/*!
2 * @file state.h
3 * Definition of the States Class
4*/
5
6#ifndef _STATE_H
7#define _STATE_H
8
9// FORWARD DECLARATION
10class PNode;
11class WorldEntity;
12template<class T> class tList;
13//template<class T> class tStack;
14
15//! handles states about orxonox's most importatn objects
16/**
17 * This is an abstract Class-container, not really a Class.
18 * in this Class only static references to the most important
19 * Objects/List/etc. are stored.
20 */
21class State {
22
23 public:
24  // CAMERA //
25  /** @param camera the PNode to the Camera, @param cameraTarget the PNode to the Camera's target */
26  static void setCamera(const PNode* camera, const PNode* cameraTarget);
27  /** @returns a Pointer to the PNode of the Camera */
28  static inline const PNode* getCamera() { return State::camera; };
29  /** @returns a Pointer to the CameraTarget */
30  static inline const PNode* getCameraTarget() { return State::cameraTarget; };
31
32  // WORLD_ENTITY_LIST //
33  /** @param worldEntityList The World's List of WorldEntities */
34  static inline void setWorldEntityList(tList<WorldEntity>* worldEntityList) { State::worldEntityList = worldEntityList; };
35  /** @returns the List of WorldEntities */
36  static inline tList<WorldEntity>* getWorldEntityList() { return State::worldEntityList; };
37
38 private:
39  State();
40
41  static const PNode*           camera;             //!< A reference to the camera
42  static const PNode*           cameraTarget;       //!< A reference to the cameraTarget
43  static PNode*                 nullParent;         //!< A reference to the Null-PNode.
44
45  static tList<WorldEntity>*    worldEntityList;    //!< The List of the worldEntities
46
47  //tStack<
48};
49
50#endif /* _STATE_H */
Note: See TracBrowser for help on using the repository browser.