ScummVM API documentation
hpl::cCamera3D Class Reference
Inheritance diagram for hpl::cCamera3D:
hpl::iCamera

Public Member Functions

const cVector3fGetPosition () const
 
void SetPosition (const cVector3f &avPos)
 
void MoveForward (float afDist)
 
void MoveRight (float afDist)
 
void MoveUp (float afDist)
 
void SetFOV (float afAngle)
 
float GetFOV ()
 
void SetAspect (float afAngle)
 
float GetAspect ()
 
void SetFarClipPlane (float afX)
 
float GetFarClipPlane ()
 
void SetNearClipPlane (float afX)
 
float GetNearClipPlane ()
 
void SetInifintiveFarPlane (bool abX)
 
bool GetInifintiveFarPlane ()
 
cFrustumGetFrustum ()
 
eCameraRotateMode GetRotateMode ()
 
eCameraMoveMode GetMoveMode ()
 
void SetRotateMode (eCameraRotateMode aMode)
 
void SetMoveMode (eCameraMoveMode aMode)
 
void ResetRotation ()
 
cVector3f UnProject (const cVector2f &avScreenPos, iLowLevelGraphics *apLowLevel)
 
void AttachEntity (iEntity3D *apEntity)
 
void RemoveEntity (iEntity3D *apEntity)
 
cNode3DGetAttachmentNode ()
 
void ClearAttachedEntities ()
 
void SetPitch (float afAngle)
 
void SetYaw (float afAngle)
 
void SetRoll (float afAngle)
 
void AddPitch (float afAngle)
 
void AddYaw (float afAngle)
 
void AddRoll (float afAngle)
 
float GetPitch () const
 
float GetYaw () const
 
float GetRoll () const
 
void SetPitchLimits (cVector2f avLimits)
 
const cVector2fGetPitchLimits ()
 
void SetYawLimits (cVector2f avLimits)
 
const cVector2fGetYawLimits ()
 
const cMatrixfGetViewMatrix ()
 
const cMatrixfGetProjectionMatrix ()
 
const cMatrixfGetMoveMatrix ()
 
void SetModelViewMatrix (iLowLevelGraphics *apLowLevel)
 
void SetProjectionMatrix (iLowLevelGraphics *apLowLevel)
 
cVector3f GetEyePosition ()
 
eCameraType GetType ()
 
cVector3f GetForward ()
 
cVector3f GetRight ()
 
cVector3f GetUp ()
 
void SetPrevView (const cMatrixf &a_mtxA)
 
void SetPrevProjection (const cMatrixf &a_mtxA)
 
cMatrixfGetPrevView ()
 
cMatrixfGetPrevProjection ()
 

Member Function Documentation

◆ MoveForward()

void hpl::cCamera3D::MoveForward ( float  afDist)

Move forward (or back) according to the move mode.

Parameters
afDist

◆ MoveRight()

void hpl::cCamera3D::MoveRight ( float  afDist)

Move right (or left) according to the move mode.

Parameters
afDist

◆ MoveUp()

void hpl::cCamera3D::MoveUp ( float  afDist)

Move up (or down) according to the move mode.

Parameters
afDist

◆ SetInifintiveFarPlane()

void hpl::cCamera3D::SetInifintiveFarPlane ( bool  abX)
inline

This sets the far plane so that no far clipping is made. The FarClipPlane is still used for creating bounding box and frustum and should be set to some value.

◆ SetRotateMode()

void hpl::cCamera3D::SetRotateMode ( eCameraRotateMode  aMode)

Set the mode to calculate the rotation angles. EulerAngles: Yaw, Pitch and Roll are used. Matrix: The matrix is changed directly.

◆ SetMoveMode()

void hpl::cCamera3D::SetMoveMode ( eCameraMoveMode  aMode)

Set the mode to calculate movement. Walk: only moving in the XZ plane Fly: moving in the dir the camera is facing.

◆ ResetRotation()

void hpl::cCamera3D::ResetRotation ( )

Resets all rotation

◆ UnProject()

cVector3f hpl::cCamera3D::UnProject ( const cVector2f avScreenPos,
iLowLevelGraphics apLowLevel 
)

Unproject the screen coordinate to world space.

◆ SetPitchLimits()

void hpl::cCamera3D::SetPitchLimits ( cVector2f  avLimits)
inline

Set the limits within the pitch can move

Parameters
avLimitsx = high limt and y low.If both are 0 limits are disabled.

◆ SetYawLimits()

void hpl::cCamera3D::SetYawLimits ( cVector2f  avLimits)
inline

Set the limits within the yaw can move

Parameters
avLimitsx = high limt and y low. If both are 0 limits are disabled.

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