Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/cameraman.h @ 10410

Last change on this file since 10410 was 10406, checked in by snellen, 17 years ago

NPC is now scriptabel, added method atachCurrCameraToWorldEntity to CameraMan and made it scriptable

File size: 1.6 KB
Line 
1#ifndef _CAMERAMAN_H
2#define _CAMERAMAN_H
3
4
5#include <vector>
6#include "base_object.h"
7
8class BlackScreen;
9class Camera;
10class PNode;
11
12class CameraMan : public BaseObject {
13  ObjectListDeclaration(CameraMan);
14
15  private:
16    Camera* currentCam;
17    float nearClip;
18    float farClip;
19    BlackScreen* fadeToBlack;
20
21  public:
22    std::vector<Camera*> cameras;
23    CameraMan(const TiXmlElement* root = NULL);
24    void setCam(int CameraNo);
25    void setCam(const std::string& camName);
26    void setCam(Camera* camera);
27
28    void createCam(const TiXmlElement* root);
29    void moveCam(int x, int y, int z,  int camNo);
30    void moveCurrCam(int x, int y, int z);
31    void changeTarget(int camNo, const std::string& className,const std::string& objectName);
32    void changeTarget(const std::string& camName,const std::string& className, const std::string& objectName);
33    void changeCurrTarget(const std::string& className, const std::string& objectName);
34    void atachCurrTarget(PNode* target);
35    void atachCurrCameraToWorldEntity(const std::string& className, const std::string& targetEntity);
36    void jumpCam(int x, int y, int z, int camNo);
37    void jumpCurrCam(int x, int y, int z);
38    void changeSpeed(float speed);
39    void setClipRegion(float nearClip, float farClip);
40    void togglFade();
41
42    void cameraInfo();
43
44    /// LOADING
45    virtual void loadParams(const TiXmlElement* root);
46
47    /// POLLING
48    float getCurrCameraCoorX();
49    float getCurrCameraCoorY();
50    float getCurrCameraCoorZ();
51    bool cameraIsInVector(Camera* camera);
52
53};
54
55#endif /* _CAMERAMAN_H */
Note: See TracBrowser for help on using the repository browser.