25 CameraRig(std::shared_ptr<Camera>
const& camera,
float translationSpeed,
float rotationSpeed);
29 void Set(std::shared_ptr<Camera>
const& camera,
float translationSpeed,
float rotationSpeed);
32 void ComputeWorldAxes();
34 inline std::shared_ptr<Camera>
const& GetCamera()
const;
35 inline void SetTranslationSpeed(
float translationSpeed);
36 inline float GetTranslationSpeed()
const;
37 inline void SetRotationSpeed(
float rotationSpeed);
38 inline float GetRotationSpeed()
const;
47 inline void SetDirectMoveForward();
48 inline void SetDirectMoveBackward();
49 inline void SetDirectMoveUp();
50 inline void SetDirectMoveDown();
51 inline void SetDirectMoveRight();
52 inline void SetDirectMoveLeft();
53 inline void SetDirectTurnRight();
54 inline void SetDirectTurnLeft();
55 inline void SetDirectLookUp();
56 inline void SetDirectLookDown();
57 inline void SetDirectRollClockwise();
58 inline void SetDirectRollCounterclockwise();
69 inline void RegisterMoveForward(
int trigger);
70 inline void RegisterMoveBackward(
int trigger);
71 inline void RegisterMoveUp(
int trigger);
72 inline void RegisterMoveDown(
int trigger);
73 inline void RegisterMoveRight(
int trigger);
74 inline void RegisterMoveLeft(
int trigger);
75 inline void RegisterTurnRight(
int trigger);
76 inline void RegisterTurnLeft(
int trigger);
77 inline void RegisterLookUp(
int trigger);
78 inline void RegisterLookDown(
int trigger);
79 inline void RegisterRollClockwise(
int trigger);
80 inline void RegisterRollCounterclockwise(
int trigger);
81 bool PushMotion(
int trigger);
82 bool PopMotion(
int trigger);
90 enum { MAX_ACTIVE_MOTIONS = 12 };
91 virtual void MoveForward();
92 virtual void MoveBackward();
93 virtual void MoveUp();
94 virtual void MoveDown();
95 virtual void MoveRight();
96 virtual void MoveLeft();
97 virtual void TurnRight();
98 virtual void TurnLeft();
99 virtual void LookUp();
100 virtual void LookDown();
101 virtual void RollClockwise();
102 virtual void RollCounterclockwise();
105 void Register(
int trigger, MoveFunction
function);
107 bool SetActive(MoveFunction
function);
108 bool SetInactive(MoveFunction
function);
131 mTranslationSpeed = translationSpeed;
136 return mTranslationSpeed;
141 mRotationSpeed = rotationSpeed;
146 return mRotationSpeed;
void RegisterMoveBackward(int trigger)
void RegisterMoveUp(int trigger)
void RegisterTurnRight(int trigger)
void RegisterMoveLeft(int trigger)
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
void RegisterLookDown(int trigger)
void RegisterLookUp(int trigger)
float GetTranslationSpeed() const
void RegisterTurnLeft(int trigger)
virtual void RollClockwise()
void SetDirectMoveBackward()
virtual void RollCounterclockwise()
void SetDirectTurnRight()
void RegisterRollCounterclockwise(int trigger)
void RegisterMoveForward(int trigger)
virtual void MoveForward()
void RegisterRollClockwise(int trigger)
void RegisterMoveRight(int trigger)
void RegisterMoveDown(int trigger)
void SetDirectMoveForward()
virtual void MoveBackward()
void SetTranslationSpeed(float translationSpeed)
void SetDirectMoveRight()
float GetRotationSpeed() const
std::array< MoveFunction, MAX_ACTIVE_MOTIONS > mActiveMotions
std::shared_ptr< Camera > const & GetCamera() const
void SetDirectRollClockwise()
void SetRotationSpeed(float rotationSpeed)
std::shared_ptr< Camera > mCamera
void SetDirectRollCounterclockwise()
std::map< int, MoveFunction > mIndirectMap