Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
ICameraController Interface Referenceabstract

camera controller interface. More...

#include <ICameraController.h>

Inheritance diagram for ICameraController:
Collaboration diagram for ICameraController:

Public Member Functions

 ICameraController (CCamera &camera)
 
virtual ~ICameraController ()
 
virtual void LoadConfig ()=0
 
virtual InReaction HandleEvent (const SDL_Event_ *ev)=0
 
virtual CVector3D GetCameraPivot () const =0
 
virtual CVector3D GetCameraPosition () const =0
 
virtual CVector3D GetCameraRotation () const =0
 
virtual float GetCameraZoom () const =0
 
virtual void SetCamera (const CVector3D &pos, float rotX, float rotY, float zoom)=0
 
virtual void MoveCameraTarget (const CVector3D &target)=0
 
virtual void ResetCameraTarget (const CVector3D &target)=0
 
virtual void FollowEntity (entity_id_t entity, bool firstPerson)=0
 
virtual entity_id_t GetFollowedEntity ()=0
 
virtual void Update (const float deltaRealTime)=0
 
virtual void SetViewport (const SViewPort &vp)=0
 
virtual bool GetConstrainCamera () const =0
 
virtual void SetConstrainCamera (bool constrain)=0
 

Protected Attributes

CCameram_Camera
 

Private Member Functions

 NONCOPYABLE (ICameraController)
 

Detailed Description

camera controller interface.

The camera object is owned by the camera controller's owner. It is therefore guaranteed that the lifetime of the camera is at least the same as the lifetime of the camera controller. The camera object is stored by reference, ensuring that the camera controller has full control of the camera object during its own lifetime.

Constructor & Destructor Documentation

◆ ICameraController()

ICameraController::ICameraController ( CCamera camera)
explicit

◆ ~ICameraController()

ICameraController::~ICameraController ( )
virtualdefault

Member Function Documentation

◆ FollowEntity()

virtual void ICameraController::FollowEntity ( entity_id_t  entity,
bool  firstPerson 
)
pure virtual

Implemented in CCameraController.

◆ GetCameraPivot()

virtual CVector3D ICameraController::GetCameraPivot ( ) const
pure virtual

Implemented in CCameraController.

◆ GetCameraPosition()

virtual CVector3D ICameraController::GetCameraPosition ( ) const
pure virtual

Implemented in CCameraController.

◆ GetCameraRotation()

virtual CVector3D ICameraController::GetCameraRotation ( ) const
pure virtual

Implemented in CCameraController.

◆ GetCameraZoom()

virtual float ICameraController::GetCameraZoom ( ) const
pure virtual

Implemented in CCameraController.

◆ GetConstrainCamera()

virtual bool ICameraController::GetConstrainCamera ( ) const
pure virtual

Implemented in CCameraController.

◆ GetFollowedEntity()

virtual entity_id_t ICameraController::GetFollowedEntity ( )
pure virtual

Implemented in CCameraController.

◆ HandleEvent()

virtual InReaction ICameraController::HandleEvent ( const SDL_Event_ ev)
pure virtual

Implemented in CCameraController.

◆ LoadConfig()

virtual void ICameraController::LoadConfig ( )
pure virtual

Implemented in CCameraController.

◆ MoveCameraTarget()

virtual void ICameraController::MoveCameraTarget ( const CVector3D target)
pure virtual

Implemented in CCameraController.

◆ NONCOPYABLE()

ICameraController::NONCOPYABLE ( ICameraController  )
private

◆ ResetCameraTarget()

virtual void ICameraController::ResetCameraTarget ( const CVector3D target)
pure virtual

Implemented in CCameraController.

◆ SetCamera()

virtual void ICameraController::SetCamera ( const CVector3D pos,
float  rotX,
float  rotY,
float  zoom 
)
pure virtual

Implemented in CCameraController.

◆ SetConstrainCamera()

virtual void ICameraController::SetConstrainCamera ( bool  constrain)
pure virtual

Implemented in CCameraController.

◆ SetViewport()

virtual void ICameraController::SetViewport ( const SViewPort vp)
pure virtual

Implemented in CCameraController.

◆ Update()

virtual void ICameraController::Update ( const float  deltaRealTime)
pure virtual

Implemented in CCameraController.

Member Data Documentation

◆ m_Camera

CCamera& ICameraController::m_Camera
protected

The documentation for this interface was generated from the following files: