GameKit  0.0.1a
C++ gamedev tools
Public Member Functions | Private Attributes | List of all members
gk::Camera Class Reference

3D camera that defines what is shown on screen More...

#include <Camera.hpp>

Inheritance diagram for gk::Camera:
gk::View

Public Member Functions

 Camera (float fov, float near, float far)
 
virtual ~Camera ()=default
 
const Vector3fgetPosition () const override
 
const Vector3fgetDirection () const
 
const Vector3fgetUpVector () const
 
float getFieldOfView () const
 
float getAspectRatio () const
 
float getNearClippingPlane () const
 
float getFarClippingPlane () const
 
void setPosition (float x, float y, float z)
 
void setPosition (const Vector3f &position)
 
void setDirection (float x, float y, float z)
 
void setDirection (const Vector3f &direction)
 
void setTargetPosition (float x, float y, float z)
 
void setTargetPosition (const Vector3f &target)
 
void setUpVector (float x, float y, float z)
 
void setUpVector (const Vector3f &upVector)
 
void setFieldOfView (float fov)
 
void setAspectRatio (float aspect)
 
void setNearClippingPlane (float distance)
 
void setFarClippingPlane (float distance)
 
const TransformgetTransform () const override
 
const TransformgetViewTransform () const override
 
- Public Member Functions inherited from gk::View
 View ()
 
 View (const Vector3f &center, const Vector2f &size)
 
 View (const FloatRect &rectangle)
 
virtual ~View ()=default
 
void setCenter (float x, float y, float z=0)
 
void setCenter (const Vector3f &position)
 
void setSize (float width, float height)
 
void setSize (const Vector2f &size)
 
void setRotation (float angle)
 
void setViewport (const FloatRect &viewport)
 
void reset (const FloatRect &rectangle)
 
const Vector3fgetCenter () const
 
const Vector2fgetSize () const
 
float getRotation () const
 
const FloatRectgetViewport () const
 
void move (float offsetX, float offsetY, float offsetZ=0)
 
void move (const Vector3f &offset)
 
void rotate (float angle)
 
void zoom (float factor)
 

Private Attributes

Vector3f m_position {0, 0, 0}
 
Vector3f m_direction {0, 0, -1}
 
Vector3f m_upVector {0, 1, 0}
 
float m_fieldOfView = 90.0f
 
float m_aspect = 1.0f
 
float m_nearPlane = 0.1f
 
float m_farPlane = 1000.0f
 

Additional Inherited Members

- Protected Attributes inherited from gk::View
bool m_transformUpdated = false
 
bool m_viewTransformUpdated = false
 
Transform m_transform
 
Transform m_viewTransform
 

Detailed Description

3D camera that defines what is shown on screen

Code inspired by SFML 3dee

Definition at line 27 of file Camera.hpp.

Constructor & Destructor Documentation

§ Camera()

gk::Camera::Camera ( float  fov,
float  near,
float  far 
)

Definition at line 21 of file Camera.cpp.

§ ~Camera()

virtual gk::Camera::~Camera ( )
virtualdefault

Member Function Documentation

§ getAspectRatio()

float gk::Camera::getAspectRatio ( ) const
inline

Definition at line 37 of file Camera.hpp.

§ getDirection()

const Vector3f& gk::Camera::getDirection ( ) const
inline

Definition at line 33 of file Camera.hpp.

§ getFarClippingPlane()

float gk::Camera::getFarClippingPlane ( ) const
inline

Definition at line 39 of file Camera.hpp.

§ getFieldOfView()

float gk::Camera::getFieldOfView ( ) const
inline

Definition at line 36 of file Camera.hpp.

§ getNearClippingPlane()

float gk::Camera::getNearClippingPlane ( ) const
inline

Definition at line 38 of file Camera.hpp.

§ getPosition()

const Vector3f& gk::Camera::getPosition ( ) const
inlineoverridevirtual

Reimplemented from gk::View.

Definition at line 32 of file Camera.hpp.

§ getTransform()

const Transform & gk::Camera::getTransform ( ) const
overridevirtual

Reimplemented from gk::View.

Definition at line 69 of file Camera.cpp.

§ getUpVector()

const Vector3f& gk::Camera::getUpVector ( ) const
inline

Definition at line 34 of file Camera.hpp.

§ getViewTransform()

const Transform & gk::Camera::getViewTransform ( ) const
overridevirtual

Reimplemented from gk::View.

Definition at line 79 of file Camera.cpp.

§ setAspectRatio()

void gk::Camera::setAspectRatio ( float  aspect)

Definition at line 54 of file Camera.cpp.

§ setDirection() [1/2]

void gk::Camera::setDirection ( float  x,
float  y,
float  z 
)
inline

Definition at line 44 of file Camera.hpp.

§ setDirection() [2/2]

void gk::Camera::setDirection ( const Vector3f direction)

Definition at line 34 of file Camera.cpp.

§ setFarClippingPlane()

void gk::Camera::setFarClippingPlane ( float  distance)

Definition at line 64 of file Camera.cpp.

§ setFieldOfView()

void gk::Camera::setFieldOfView ( float  fov)

Definition at line 49 of file Camera.cpp.

§ setNearClippingPlane()

void gk::Camera::setNearClippingPlane ( float  distance)

Definition at line 59 of file Camera.cpp.

§ setPosition() [1/2]

void gk::Camera::setPosition ( float  x,
float  y,
float  z 
)
inline

Definition at line 41 of file Camera.hpp.

§ setPosition() [2/2]

void gk::Camera::setPosition ( const Vector3f position)

Definition at line 29 of file Camera.cpp.

§ setTargetPosition() [1/2]

void gk::Camera::setTargetPosition ( float  x,
float  y,
float  z 
)
inline

Definition at line 47 of file Camera.hpp.

§ setTargetPosition() [2/2]

void gk::Camera::setTargetPosition ( const Vector3f target)

Definition at line 39 of file Camera.cpp.

§ setUpVector() [1/2]

void gk::Camera::setUpVector ( float  x,
float  y,
float  z 
)
inline

Definition at line 50 of file Camera.hpp.

§ setUpVector() [2/2]

void gk::Camera::setUpVector ( const Vector3f upVector)

Definition at line 44 of file Camera.cpp.

Member Data Documentation

§ m_aspect

float gk::Camera::m_aspect = 1.0f
private

Definition at line 67 of file Camera.hpp.

§ m_direction

Vector3f gk::Camera::m_direction {0, 0, -1}
private

Definition at line 63 of file Camera.hpp.

§ m_farPlane

float gk::Camera::m_farPlane = 1000.0f
private

Definition at line 69 of file Camera.hpp.

§ m_fieldOfView

float gk::Camera::m_fieldOfView = 90.0f
private

Definition at line 66 of file Camera.hpp.

§ m_nearPlane

float gk::Camera::m_nearPlane = 0.1f
private

Definition at line 68 of file Camera.hpp.

§ m_position

Vector3f gk::Camera::m_position {0, 0, 0}
private

Definition at line 62 of file Camera.hpp.

§ m_upVector

Vector3f gk::Camera::m_upVector {0, 1, 0}
private

Definition at line 64 of file Camera.hpp.


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