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

Public Member Functions

virtual void init ()=0
 
virtual void update ()=0
 
virtual glm::vec2 convertScreenToWorld (glm::vec2 screenCoords) const =0
 
virtual glm::ivec2 getCameraDimensions () const =0
 
virtual SDL_FRect getCameraRect () const =0
 
virtual glm::vec3 getPosition () const =0
 
virtual void setPosition (const glm::vec3 newPosition)=0
 
virtual void setPosition_X (const float newPosition)=0
 
virtual void setPosition_Y (const float newPosition)=0
 
virtual void setPosition_Z (const float newPosition)=0
 
virtual float getScale () const =0
 
virtual glm::mat4 getCameraMatrix () const =0
 
virtual glm::vec3 getAimPos ()=0
 
virtual void setScale (float scale)=0
 
virtual void makeCameraDirty ()=0
 
virtual bool hasChanged ()=0
 
virtual void refreshCamera ()=0
 
void updateCameraOrientation ()
 
void setOrientation (glm::vec3 eye, glm::vec3 target, glm::vec3 up)
 
bool isPointInCameraView (const glm::vec4 point, float margin)
 
glm::vec3 castRayAt (const glm::vec2 &screenPos)
 
glm::vec3 getPointOnRayAtZ (const glm::vec3 &rayOrigin, const glm::vec3 &rayDirection, float desiredZ)
 
void setViewMatrix (glm::mat4 newViewMatrix)
 
glm::mat4 getViewMatrix ()
 
void setProjMatrix (glm::mat4 newProjMatrix)
 
glm::mat4 getProjMatrix ()
 
glm::vec3 getUpDir ()
 

Public Attributes

int _screenWidth = 800
 
int _screenHeight = 640
 
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
 

Protected Attributes

glm::mat4 _projectionMatrix = glm::mat4(1.0f)
 
glm::mat4 _viewMatrix = glm::mat4(1.0f)
 
glm::mat4 _cameraMatrix = glm::mat4(1.0f)
 
bool _cameraChange = true
 

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