Program Listing for File PolarCamera.h¶
↰ Return to documentation for file (Source\Camera\Inc\Camera\PolarCamera.h
)
#pragma once
#include "Camera.h"
namespace Azura {
class PolarCamera final : public Camera {
public:
PolarCamera(U32 width, U32 height);
PolarCamera(U32 width, U32 height, float thethaDeg, float phiDeg, float zoom);
void Recompute() override;
void OnMouseEvent(MouseEvent mouseEvent) override;
void OnKeyEvent(KeyEvent keyEvent) override;
void SetZoom(float value);
void SetZoomAndRecompute(float value);
void RotateAboutUp(float deg);
void RotateAboutRight(float deg);
void TranslateAlongLook(float amount);
void SetStepSize(float value);
void Update(float timeDelta) override;
private:
float m_theta{0.0f};
float m_phi{0.0f};
float m_zoom{4.0f};
// Axes of Camera in world space
Vector3f m_up;
Vector3f m_right;
Vector3f m_look;
float m_stepSize{10.0f};
int m_moveUpFactor{0};
int m_moveRightFactor{0};
int m_zoomFactor{0};
};
} // namespace Azura