#pragma once #include "Vertex.h" #include "Matrix.h" #include "SharedTools.h" using namespace SharedTools; class Camera { public: Camera() : _xRot(0), _yRot(0), _zRot(0) {}; Camera(float xRot, float yRot, float zRot, const Vertex& pos); Camera(const Camera& other); ~Camera(); Matrix UpdateCameraPosition(const Vertex& newPos); Matrix RotateCamera(float xRot, float yRot, float zRot); void SetXRot(const float value); float GetXRot() const; void SetYRot(const float value); float GetYRot() const; void SetZRot(const float value); float GetZRot() const; Matrix GetCurrentCameraTransformMatrix(); Vertex GetCameraPosition() const; Camera& operator= (const Camera& rhs); private: float _xRot; float _yRot; float _zRot; Vertex _cameraPosition; void Copy(const Camera& other); };