Fillwave  10.0.0
List of all members | Public Member Functions | Protected Attributes
flw::ICamera Class Referenceabstract

Stores camera view parameters. More...

#include <ICamera.h>

Inheritance diagram for flw::ICamera:
flw::Moveable flw::Observable flw::CameraNull flw::CameraOrthographic flw::CameraPerspective

Public Member Functions

 ICamera (glm::vec3 position, glm::quat rotation)
 
 ICamera (const ICamera &arg)
 
ICameraoperator= (const ICamera &)
 
 ICamera (ICamera &&)
 
ICameraoperator= (ICamera &&)
 
void update ()
 
void updateView ()
 
glm::mat4 getEye () const
 
glm::mat4 getProjection () const
 
glm::mat4 getViewProjection () const
 
virtual void updateProjection ()=0
 
virtual GLfloat getProjectionNearPlane () const =0
 
virtual GLfloat getProjectionFarPlane () const =0
 
virtual void log () const
 
- Public Member Functions inherited from flw::Moveable
 Moveable (glm::vec3 translation=glm::vec3(0.0), glm::quat rotation=glm::quat(1.0, 0.0, 0.0, 0.0), unsigned int callbacks=1)
 
Moveableoperator= (const Moveable &)
 
 Moveable (const Moveable &)
 
Moveableoperator= (Moveable &&)
 
 Moveable (Moveable &&)
 
void moveTo (glm::vec3 coordinates)
 
void moveToX (float distance)
 
void moveToY (float distance)
 
void moveToZ (float distance)
 
void moveBy (glm::vec3 coordinates)
 
void moveByX (float distance)
 
void moveByY (float distance)
 
void moveByZ (float distance)
 
void moveInDirection (glm::vec3 direction)
 
glm::vec3 getTranslation ()
 
void scaleTo (float scale)
 
void scaleTo (glm::vec3 scale)
 
void scaleToX (float scale)
 
void scaleToY (float scale)
 
void scaleToZ (float scale)
 
glm::vec3 getScale ()
 
void rotateTo (glm::quat rotation)
 
void rotateTo (const glm::vec3 &axis, float angle)
 
void rotateBy (const glm::vec3 &axis, float angle)
 
void rotateByX (float angle)
 
void rotateByY (float angle)
 
void rotateByZ (float angle)
 
glm::quat getRotation ()
 
void updateMatrixCache ()
 
bool isRefresh () const
 
void setRefresh (bool state)
 
glm::mat4 getParentMMC () const
 
glm::quat getParentRotation () const
 
void waitInTime (float deltaTime)
 
void moveBy (float deltaTime, const glm::vec3 &deltaMove, Callback< float(float)> ease=LinearInterpolation)
 
void moveTo (float durationInSeconds, const glm::vec3 &endTranslation, Callback< float(float)> ease)
 
void scaleBy (float deltaTime, const glm::vec3 &aScale, Callback< float(float)> ease=LinearInterpolation)
 
void scaleTo (float deltaTime, const glm::vec3 &aScale, Callback< float(float)> ease=LinearInterpolation)
 
void rotateBy (float deltaTime, const float aAngle, const glm::vec3 &aAxis, Callback< float(float)> ease=LinearInterpolation)
 
void rotateTo (float deltaTime, const float aAngle, const glm::vec3 &aAxis, Callback< float(float)> ease=LinearInterpolation)
 
void loop (int loops)
 
void stop ()
 
bool isMoving ()
 
float stepInTime (float delta)
 
void attachTimeCallback (float deltaTime, Callback< float(float)> aAction)
 
template<typename... ARGS>
void attachTimeCallback (float deltaTime, Callback< float(float, ARGS...)> aAction, ARGS &&...args)
 
- Public Member Functions inherited from flw::Observable
 Observable (const Observable &arg)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)
 
Observableoperator= (Observable &&)
 
void addObserver (IObserver *observer)
 
void dropObserver (IObserver *observer)
 

Protected Attributes

glm::mat4 mCameraMatrix
 
glm::mat4 mProjectionMatrix
 
bool mRefreshView
 
bool mRefreshProjection
 
- Protected Attributes inherited from flw::Moveable
glm::fvec3 mTranslation
 
glm::quat mRotation
 
glm::vec3 mScale
 
glm::quat mParentRotation
 
glm::mat4 mMMC
 
glm::mat4 mParentMMC
 
bool mRefresh
 
float mCallbackTimePassed
 

Additional Inherited Members

- Protected Member Functions inherited from flw::Observable
void notifyObservers ()
 

Detailed Description

Stores camera view parameters.


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