4 #ifndef CAMERACONTROLLER_H
5 #define CAMERACONTROLLER_H
31 virtual const char *
GetName()
const {
return ""; }
91 void Reset()
override;
95 const char *
GetName()
const override {
return m_name; }
104 void YawCamera(
float amount)
override { m_rotY += amount; }
113 void getRots(
double &rotX,
double &rotY);
133 const char *
GetName()
const override {
return Lang::EXTERNAL_VIEW; }
136 virtual void PitchCamera(
float amount)
override { m_rotX += amount; }
137 virtual void YawCamera(
float amount)
override { m_rotY += amount; }
152 void Reset()
override;
155 double m_dist, m_distTo;
168 const char *
GetName()
const override {
return Lang::SIDEREAL_VIEW; }
205 void Reset()
override;
208 double m_dist, m_distTo;
218 const char *
GetName()
const override {
return Lang::FLYBY_VIEW; }
235 m_roll += M_PI / 4 * amount;
245 void Reset()
override;
248 double m_dist, m_distTo;
nlohmann::json Json
Definition: Json.h:8
Definition: CameraController.h:16
virtual void Update()
Definition: CameraController.cpp:33
void SetPosition(const vector3d &pos)
Definition: CameraController.h:37
virtual ~CameraController()
Definition: CameraController.h:26
Type
Definition: CameraController.h:18
@ INTERNAL
Definition: CameraController.h:19
@ FLYBY
Definition: CameraController.h:22
@ SIDEREAL
Definition: CameraController.h:21
@ EXTERNAL
Definition: CameraController.h:20
void SetOrient(const matrix3x3d &orient)
Definition: CameraController.h:41
virtual bool IsExternal() const
Definition: CameraController.h:34
virtual const char * GetName() const
Definition: CameraController.h:31
virtual void LoadFromJson(const Json &jsonObj)
Definition: CameraController.h:33
virtual void SaveToJson(Json &jsonObj)
Definition: CameraController.h:32
virtual void Reset()
Definition: CameraController.cpp:27
const Ship * GetShip() const
Definition: CameraController.h:46
CameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.cpp:19
const matrix3x3d & GetOrient() const
Definition: CameraController.h:42
vector3d GetPosition() const
Definition: CameraController.h:38
virtual Type GetType() const =0
RefCountedPtr< CameraContext > m_camera
Definition: CameraController.h:49
Definition: CameraController.h:128
ExternalCameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.cpp:164
virtual void PitchCamera(float amount) override
Definition: CameraController.h:136
void Reset() override
Definition: CameraController.cpp:187
void ZoomEvent(float amount) override
Definition: CameraController.cpp:175
virtual void SetRotationAngles(vector3f rotation) override
Definition: CameraController.h:139
virtual void YawCamera(float amount) override
Definition: CameraController.h:137
const char * GetName() const override
Definition: CameraController.h:133
void ZoomEventUpdate(float frameTime) override
Animated zoom update (on each frame), primarily designed for mouse wheel.
Definition: CameraController.cpp:182
bool IsExternal() const override
Definition: CameraController.h:134
void SaveToJson(Json &jsonObj) override
Definition: CameraController.cpp:252
Type GetType() const override
Definition: CameraController.h:132
void Update() override
Definition: CameraController.cpp:194
void LoadFromJson(const Json &jsonObj) override
Definition: CameraController.cpp:263
Definition: CameraController.h:213
void PitchCamera(float amount) override
Definition: CameraController.h:221
void Update() override
Definition: CameraController.cpp:369
void LoadFromJson(const Json &jsonObj) override
Definition: CameraController.cpp:405
void ZoomEvent(float amount) override
Definition: CameraController.cpp:350
void RollCamera(float amount) override
Definition: CameraController.h:233
bool IsExternal() const override
Definition: CameraController.h:219
void ZoomEventUpdate(float frameTime) override
Animated zoom update (on each frame), primarily designed for mouse wheel.
Definition: CameraController.cpp:356
const char * GetName() const override
Definition: CameraController.h:218
FlyByCameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.cpp:341
Type GetType() const override
Definition: CameraController.h:217
void YawCamera(float amount) override
Definition: CameraController.h:227
void Reset() override
Definition: CameraController.cpp:362
void SaveToJson(Json &jsonObj) override
Definition: CameraController.cpp:394
Definition: CameraController.h:78
const char * GetName() const override
Definition: CameraController.h:95
void SetMode(Mode m)
Definition: CameraController.cpp:119
void SetRotationAngles(vector3f rotation) override
Definition: CameraController.h:106
Mode
Definition: CameraController.h:80
@ MODE_FRONT
Definition: CameraController.h:81
@ MODE_MAX
Definition: CameraController.h:87
@ MODE_REAR
Definition: CameraController.h:82
@ MODE_RIGHT
Definition: CameraController.h:84
@ MODE_TOP
Definition: CameraController.h:85
@ MODE_LEFT
Definition: CameraController.h:83
@ MODE_BOTTOM
Definition: CameraController.h:86
void LoadFromJson(const Json &jsonObj) override
Definition: CameraController.cpp:151
InternalCameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.cpp:49
void SaveToJson(Json &jsonObj) override
Definition: CameraController.cpp:140
void YawCamera(float amount) override
Definition: CameraController.h:104
void PitchCamera(float amount) override
Definition: CameraController.h:103
Type GetType() const override
Definition: CameraController.h:94
void Update() override
Definition: CameraController.cpp:102
void getRots(double &rotX, double &rotY)
Definition: CameraController.cpp:113
Mode GetMode() const
Definition: CameraController.h:98
void Reset() override
Definition: CameraController.cpp:81
Definition: CameraController.h:57
virtual void SetRotationAngles(vector3f rotation)
Definition: CameraController.h:69
virtual void ZoomEventUpdate(float frameTime)
Animated zoom update (on each frame), primarily designed for mouse wheel.
Definition: CameraController.h:75
virtual void PitchCamera(float amount)
Definition: CameraController.h:65
MoveableCameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.h:59
virtual void YawCamera(float amount)
Definition: CameraController.h:66
virtual void RollCamera(float amount)
Definition: CameraController.h:64
virtual void ZoomEvent(float amount)
Definition: CameraController.h:73
Definition: CameraController.h:163
void RollCamera(float amount) override
Definition: CameraController.h:183
void Reset() override
Definition: CameraController.cpp:298
void SaveToJson(Json &jsonObj) override
Definition: CameraController.cpp:317
void Update() override
Definition: CameraController.cpp:304
void ZoomEvent(float amount) override
Definition: CameraController.cpp:286
void YawCamera(float amount) override
Definition: CameraController.h:177
void SetRotationAngles(vector3f rotation) override
Definition: CameraController.h:190
void LoadFromJson(const Json &jsonObj) override
Definition: CameraController.cpp:327
Type GetType() const override
Definition: CameraController.h:167
void PitchCamera(float amount) override
Definition: CameraController.h:171
SiderealCameraController(RefCountedPtr< CameraContext > camera, const Ship *ship)
Definition: CameraController.cpp:278
const char * GetName() const override
Definition: CameraController.h:168
void ZoomEventUpdate(float frameTime) override
Animated zoom update (on each frame), primarily designed for mouse wheel.
Definition: CameraController.cpp:292
bool IsExternal() const override
Definition: CameraController.h:169
vector3< T > VectorY() const
Definition: matrix3x3.h:42
static matrix3x3 Identity()
Definition: matrix3x3.h:45
static matrix3x3 Rotate(double ang, const vector3< double > &v)
Definition: matrix3x3.h:87
vector3< T > VectorZ() const
Definition: matrix3x3.h:43
vector3< T > VectorX() const
Definition: matrix3x3.h:41
T y
Definition: vector3.h:18
T x
Definition: vector3.h:18
T z
Definition: vector3.h:18