Public Member Functions | Protected Attributes | List of all members
ion::Scene::CPerspectiveCamera Class Reference

#include <CPerspectiveCamera.h>

Inheritance diagram for ion::Scene::CPerspectiveCamera:
Inheritance graph
[legend]
Collaboration diagram for ion::Scene::CPerspectiveCamera:
Collaboration graph
[legend]

Public Member Functions

 CPerspectiveCamera (float const aspectRatio, float const nearPlane=0.1f, float const farPlane=100.f, float const focalLength=0.13f)
 
float GetFieldOfView () const
 
float GetFocalLength () const
 
float GetAspectRatio () const
 
void SetFieldOfView (float const fieldOfView)
 
void SetFocalLength (float const focalLength)
 
void SetAspectRatio (float const aspectRatio)
 
void RecalculateProjectionMatrix ()
 
void Update ()
 
EProjectionType GetProjectionType () const
 
void SetProjectionType (EProjectionType const Type)
 
- Public Member Functions inherited from ion::Scene::CCamera
 CCamera ()
 
virtual void RecalculateViewMatrix ()
 
virtual vec3f const & GetPosition () const
 
virtual vec3f const & GetLookDirecton () const
 
virtual vec3f GetLookAtTarget () const
 
virtual vec3f const & GetUpVector () const
 
virtual glm::mat4 GetViewMatrix () const
 
virtual glm::mat4 GetProjectionMatrix () const
 
virtual void SetPosition (vec3f const &position)
 
virtual void SetLookDirection (vec3f const &lookDirection)
 
virtual void SetLookAtTarget (vec3f const &lookAtTarget)
 
virtual void SetUpVector (vec3f const &UpVector)
 
virtual void SetViewMatrix (glm::mat4 const &viewMatrix)
 
virtual void SetProjectionMatrix (glm::mat4 const &projectionMatrix)
 
virtual float GetNearPlane () const
 
virtual float GetFarPlane () const
 
virtual void SetNearPlane (float const nearPlane)
 
virtual void SetFarPlane (float const farPlane)
 
virtual vec2i GetScreenCoordinates (vec3f const &WorldPosition, vec2f const &WindowSize, bool *InFront=nullptr)
 
virtual ray3f GetPickingRay (vec2i const &Pixel, vec2f const &WindowSize)
 

Protected Attributes

EProjectionType ProjectionType = EProjectionType::Standard
 
float FocalLength
 
float AspectRatio
 
- Protected Attributes inherited from ion::Scene::CCamera
vec3f Position
 
vec3f LookDirection
 
vec3f UpVector
 
glm::mat4 ViewMatrix
 
glm::mat4 ProjectionMatrix
 
float NearPlane
 
float FarPlane
 

Constructor & Destructor Documentation

ion::Scene::CPerspectiveCamera::CPerspectiveCamera ( float const  aspectRatio,
float const  nearPlane = 0.1f,
float const  farPlane = 100.f,
float const  focalLength = 0.13f 
)

Member Function Documentation

float ion::Scene::CPerspectiveCamera::GetAspectRatio ( ) const
float ion::Scene::CPerspectiveCamera::GetFieldOfView ( ) const
float ion::Scene::CPerspectiveCamera::GetFocalLength ( ) const
EProjectionType ion::Scene::CPerspectiveCamera::GetProjectionType ( ) const
void ion::Scene::CPerspectiveCamera::RecalculateProjectionMatrix ( )
void ion::Scene::CPerspectiveCamera::SetAspectRatio ( float const  aspectRatio)
void ion::Scene::CPerspectiveCamera::SetFieldOfView ( float const  fieldOfView)
void ion::Scene::CPerspectiveCamera::SetFocalLength ( float const  focalLength)
void ion::Scene::CPerspectiveCamera::SetProjectionType ( EProjectionType const  Type)
void ion::Scene::CPerspectiveCamera::Update ( )
virtual

Reimplemented from ion::Scene::CCamera.

Member Data Documentation

float ion::Scene::CPerspectiveCamera::AspectRatio
protected
float ion::Scene::CPerspectiveCamera::FocalLength
protected
EProjectionType ion::Scene::CPerspectiveCamera::ProjectionType = EProjectionType::Standard
protected

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