#pragma once #include "Camera.h" namespace Aftr { class CameraStandard : public Camera { public: CameraStandard( GLView* glView, HandlerMouseState* mouseHandler ); virtual ~CameraStandard(); CameraStandard() = delete; CameraStandard( const CameraStandard& toCopy ) = delete; CameraStandard& operator=( CameraStandard& toAssign ) = delete; CameraStandard& operator=( CameraStandard&& toMove ) = delete; virtual void onMouseDown( const SDL_MouseButtonEvent& e ); virtual void onMouseUp( const SDL_MouseButtonEvent& e ); virtual void onMouseWheelScroll( const SDL_MouseWheelEvent& e ); virtual void onMouseMove( const SDL_MouseMotionEvent& e ); virtual void attachCameraToWO( WO* WOtoWatch, const Vector& globCoordOfIntersection ); virtual void update(); virtual void startChasingCurrentActor() {}; void changeJointTheta( float deltaTheta ); void changeJointPhi( float deltaPhi ); void setJointMouseMotionSensitivity( float sensitivity ); float getJointMouseMotionSensitivity() { return this->jointMouseMotionSensitivity; } protected: float jointTheta; float jointPhi; float jointRho; float jointMouseMotionSensitivity; Mat4 m; }; } //namespace Aftr