Pyrogenesis  trunk
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CCameraController Class Reference

#include <CameraController.h>

Inheritance diagram for CCameraController:
Inheritance graph
[legend]
Collaboration diagram for CCameraController:
Collaboration graph
[legend]

Public Member Functions

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

Private Member Functions

 NONCOPYABLE (CCameraController)
 
CVector3D GetSmoothPivot (CCamera &camera) const
 
void ResetCameraAngleZoom ()
 
void SetupCameraMatrixSmooth (CMatrix3D *orientation)
 
void SetupCameraMatrixSmoothRot (CMatrix3D *orientation)
 
void SetupCameraMatrixNonSmooth (CMatrix3D *orientation)
 
void FocusHeight (bool smooth)
 
void SetCameraProjection ()
 Set projection of current camera using near, far, and FOV values. More...
 

Private Attributes

bool m_ConstrainCamera
 Whether the camera movement should be constrained by min/max limits and terrain avoidance. More...
 
entity_id_t m_FollowEntity
 Entity for the camera to follow, or INVALID_ENTITY if none. More...
 
bool m_FollowFirstPerson
 Whether to follow FollowEntity in first-person mode. More...
 
float m_ViewScrollSpeed
 
float m_ViewScrollSpeedModifier
 
int m_ViewScrollMouseDetectDistance
 
float m_ViewRotateXSpeed
 
float m_ViewRotateXMin
 
float m_ViewRotateXMax
 
float m_ViewRotateXDefault
 
float m_ViewRotateYSpeed
 
float m_ViewRotateYSpeedWheel
 
float m_ViewRotateYDefault
 
float m_ViewRotateSpeedModifier
 
float m_ViewDragSpeed
 
float m_ViewZoomSpeed
 
float m_ViewZoomSpeedWheel
 
float m_ViewZoomMin
 
float m_ViewZoomMax
 
float m_ViewZoomDefault
 
float m_ViewZoomSpeedModifier
 
float m_ViewFOV
 
float m_ViewNear
 
float m_ViewFar
 
float m_HeightSmoothness
 
float m_HeightMin
 
CSmoothedValue m_PosX
 
CSmoothedValue m_PosY
 
CSmoothedValue m_PosZ
 
CSmoothedValue m_Zoom
 
CSmoothedValue m_RotateX
 
CSmoothedValue m_RotateY
 

Additional Inherited Members

- Protected Attributes inherited from ICameraController
CCameram_Camera
 

Constructor & Destructor Documentation

◆ CCameraController()

CCameraController::CCameraController ( CCamera camera)

◆ ~CCameraController()

CCameraController::~CCameraController ( )
overridedefault

Member Function Documentation

◆ FocusHeight()

void CCameraController::FocusHeight ( bool  smooth)
private

◆ FollowEntity()

void CCameraController::FollowEntity ( entity_id_t  entity,
bool  firstPerson 
)
overridevirtual

Implements ICameraController.

◆ GetCameraPivot()

CVector3D CCameraController::GetCameraPivot ( ) const
overridevirtual

Implements ICameraController.

◆ GetCameraPosition()

CVector3D CCameraController::GetCameraPosition ( ) const
overridevirtual

Implements ICameraController.

◆ GetCameraRotation()

CVector3D CCameraController::GetCameraRotation ( ) const
overridevirtual

Implements ICameraController.

◆ GetCameraZoom()

float CCameraController::GetCameraZoom ( ) const
overridevirtual

Implements ICameraController.

◆ GetConstrainCamera()

bool CCameraController::GetConstrainCamera ( ) const
inlineoverridevirtual

Implements ICameraController.

◆ GetFollowedEntity()

entity_id_t CCameraController::GetFollowedEntity ( )
overridevirtual

Implements ICameraController.

◆ GetSmoothPivot()

CVector3D CCameraController::GetSmoothPivot ( CCamera camera) const
private

◆ HandleEvent()

InReaction CCameraController::HandleEvent ( const SDL_Event_ ev)
overridevirtual

Implements ICameraController.

◆ LoadConfig()

void CCameraController::LoadConfig ( )
overridevirtual

Implements ICameraController.

◆ MoveCameraTarget()

void CCameraController::MoveCameraTarget ( const CVector3D target)
overridevirtual

Implements ICameraController.

◆ NONCOPYABLE()

CCameraController::NONCOPYABLE ( CCameraController  )
private

◆ ResetCameraAngleZoom()

void CCameraController::ResetCameraAngleZoom ( )
private

◆ ResetCameraTarget()

void CCameraController::ResetCameraTarget ( const CVector3D target)
overridevirtual

Implements ICameraController.

◆ SetCamera()

void CCameraController::SetCamera ( const CVector3D pos,
float  rotX,
float  rotY,
float  zoom 
)
overridevirtual

Implements ICameraController.

◆ SetCameraProjection()

void CCameraController::SetCameraProjection ( )
private

Set projection of current camera using near, far, and FOV values.

◆ SetConstrainCamera()

void CCameraController::SetConstrainCamera ( bool  constrain)
inlineoverridevirtual

Implements ICameraController.

◆ SetupCameraMatrixNonSmooth()

void CCameraController::SetupCameraMatrixNonSmooth ( CMatrix3D orientation)
private

◆ SetupCameraMatrixSmooth()

void CCameraController::SetupCameraMatrixSmooth ( CMatrix3D orientation)
private

◆ SetupCameraMatrixSmoothRot()

void CCameraController::SetupCameraMatrixSmoothRot ( CMatrix3D orientation)
private

◆ SetViewport()

void CCameraController::SetViewport ( const SViewPort vp)
overridevirtual

Implements ICameraController.

◆ Update()

void CCameraController::Update ( const float  deltaRealTime)
overridevirtual

Implements ICameraController.

Member Data Documentation

◆ m_ConstrainCamera

bool CCameraController::m_ConstrainCamera
private

Whether the camera movement should be constrained by min/max limits and terrain avoidance.

◆ m_FollowEntity

entity_id_t CCameraController::m_FollowEntity
private

Entity for the camera to follow, or INVALID_ENTITY if none.

◆ m_FollowFirstPerson

bool CCameraController::m_FollowFirstPerson
private

Whether to follow FollowEntity in first-person mode.

◆ m_HeightMin

float CCameraController::m_HeightMin
private

◆ m_HeightSmoothness

float CCameraController::m_HeightSmoothness
private

◆ m_PosX

CSmoothedValue CCameraController::m_PosX
private

◆ m_PosY

CSmoothedValue CCameraController::m_PosY
private

◆ m_PosZ

CSmoothedValue CCameraController::m_PosZ
private

◆ m_RotateX

CSmoothedValue CCameraController::m_RotateX
private

◆ m_RotateY

CSmoothedValue CCameraController::m_RotateY
private

◆ m_ViewDragSpeed

float CCameraController::m_ViewDragSpeed
private

◆ m_ViewFar

float CCameraController::m_ViewFar
private

◆ m_ViewFOV

float CCameraController::m_ViewFOV
private

◆ m_ViewNear

float CCameraController::m_ViewNear
private

◆ m_ViewRotateSpeedModifier

float CCameraController::m_ViewRotateSpeedModifier
private

◆ m_ViewRotateXDefault

float CCameraController::m_ViewRotateXDefault
private

◆ m_ViewRotateXMax

float CCameraController::m_ViewRotateXMax
private

◆ m_ViewRotateXMin

float CCameraController::m_ViewRotateXMin
private

◆ m_ViewRotateXSpeed

float CCameraController::m_ViewRotateXSpeed
private

◆ m_ViewRotateYDefault

float CCameraController::m_ViewRotateYDefault
private

◆ m_ViewRotateYSpeed

float CCameraController::m_ViewRotateYSpeed
private

◆ m_ViewRotateYSpeedWheel

float CCameraController::m_ViewRotateYSpeedWheel
private

◆ m_ViewScrollMouseDetectDistance

int CCameraController::m_ViewScrollMouseDetectDistance
private

◆ m_ViewScrollSpeed

float CCameraController::m_ViewScrollSpeed
private

◆ m_ViewScrollSpeedModifier

float CCameraController::m_ViewScrollSpeedModifier
private

◆ m_ViewZoomDefault

float CCameraController::m_ViewZoomDefault
private

◆ m_ViewZoomMax

float CCameraController::m_ViewZoomMax
private

◆ m_ViewZoomMin

float CCameraController::m_ViewZoomMin
private

◆ m_ViewZoomSpeed

float CCameraController::m_ViewZoomSpeed
private

◆ m_ViewZoomSpeedModifier

float CCameraController::m_ViewZoomSpeedModifier
private

◆ m_ViewZoomSpeedWheel

float CCameraController::m_ViewZoomSpeedWheel
private

◆ m_Zoom

CSmoothedValue CCameraController::m_Zoom
private

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