TazGraph Project v0.1.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
PerspectiveCamera Class Reference
Inheritance diagram for PerspectiveCamera:
Inheritance graph
[legend]
Collaboration diagram for PerspectiveCamera:
Collaboration graph
[legend]

Public Member Functions

 PerspectiveCamera (glm::vec3 eye_pos, glm::vec3 aim_pos)
 
void init () override
 
void update () override
 
void updateCameraOrientation ()
 
void setOrientation (glm::vec3 eye, glm::vec3 target, glm::vec3 up)
 
glm::vec2 convertScreenToWorld (glm::vec2 screenCoords) const override
 
void setPosition (const glm::vec3 newPosition) override
 
void setPosition_X (const float newPosition) override
 
void setPosition_Y (const float newPosition) override
 
void setPosition_Z (const float newPosition) override
 
void movePosition_Hor (const float step)
 
void movePosition_Vert (const float step)
 
void movePosition_Forward (const float step)
 
void setAimPos (const glm::vec3 newAimPos)
 
void moveAimPos (glm::vec3 startingAimPos, const glm::vec2 distance)
 
glm::vec3 getEulerAnglesFromDirection (glm::vec3 direction)
 
float getZFar ()
 
glm::vec3 getAimPos ()
 
void setScale (float newScale) override
 
glm::vec3 getPosition () const override
 
float getScale () const override
 
glm::mat4 getCameraMatrix () const override
 
glm::ivec2 getCameraDimensions () const override
 
SDL_FRect getCameraRect () const override
 
void setCameraMatrix (glm::mat4 newMatrix)
 
void resetCameraPosition ()
 
float getMinScale ()
 
float getMaxScale ()
 
bool isPointInCameraView (const glm::vec4 point, float margin)
 
bool hasChanged () override
 
void makeCameraDirty () override
 
void refreshCamera () override
 
glm::vec3 castRayAt (const glm::vec2 &screenPos)
 
glm::vec3 getPointOnRayAtZ (const glm::vec3 &rayOrigin, const glm::vec3 &rayDirection, float desiredZ)
 
glm::mat4 getViewMatrix ()
 
glm::mat4 getProjMatrix ()
 

Public Attributes

glm::vec3 eyePos { 0,0,0 }
 
glm::vec3 aimPos { 0,0,0 }
 
glm::vec3 upDir {0,-1,0}
 
float zFar = 1000000.0f
 
ViewMode currentViewMode = ViewMode::Y_UP
 

Member Function Documentation

◆ convertScreenToWorld()

glm::vec2 PerspectiveCamera::convertScreenToWorld ( glm::vec2  screenCoords) const
inlineoverridevirtual

Implements ICamera.

◆ getCameraDimensions()

glm::ivec2 PerspectiveCamera::getCameraDimensions ( ) const
inlineoverridevirtual

Implements ICamera.

◆ getCameraMatrix()

glm::mat4 PerspectiveCamera::getCameraMatrix ( ) const
inlineoverridevirtual

Implements ICamera.

◆ getCameraRect()

SDL_FRect PerspectiveCamera::getCameraRect ( ) const
inlineoverridevirtual

Implements ICamera.

◆ getPosition()

glm::vec3 PerspectiveCamera::getPosition ( ) const
inlineoverridevirtual

Implements ICamera.

◆ getScale()

float PerspectiveCamera::getScale ( ) const
inlineoverridevirtual

Implements ICamera.

◆ hasChanged()

bool PerspectiveCamera::hasChanged ( )
inlineoverridevirtual

Implements ICamera.

◆ init()

void PerspectiveCamera::init ( )
inlineoverridevirtual

Implements ICamera.

◆ isPointInCameraView()

bool PerspectiveCamera::isPointInCameraView ( const glm::vec4  point,
float  margin 
)
inlinevirtual

Implements ICamera.

◆ makeCameraDirty()

void PerspectiveCamera::makeCameraDirty ( )
inlineoverridevirtual

Implements ICamera.

◆ refreshCamera()

void PerspectiveCamera::refreshCamera ( )
inlineoverridevirtual

Implements ICamera.

◆ setPosition()

void PerspectiveCamera::setPosition ( const glm::vec3  newPosition)
inlineoverridevirtual

Implements ICamera.

◆ setPosition_X()

void PerspectiveCamera::setPosition_X ( const float  newPosition)
inlineoverridevirtual

Implements ICamera.

◆ setPosition_Y()

void PerspectiveCamera::setPosition_Y ( const float  newPosition)
inlineoverridevirtual

Implements ICamera.

◆ setPosition_Z()

void PerspectiveCamera::setPosition_Z ( const float  newPosition)
inlineoverridevirtual

Implements ICamera.

◆ setScale()

void PerspectiveCamera::setScale ( float  newScale)
inlineoverridevirtual

Implements ICamera.

◆ update()

void PerspectiveCamera::update ( )
inlineoverridevirtual

Implements ICamera.


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