GlobeEngine
ge::FlightCamera Class Reference

#include <FlightCamera.h>

Inheritance diagram for ge::FlightCamera:
ge::Camera at::CollisionCamera

Public Member Functions

 FlightCamera ()
 
 ~FlightCamera ()
 
void clear () override
 
void destroy () override
 
void update () override
 
void print () override
 
void create (ViewFrustumProperties _in)
 
void create (ViewFrustumProperties _in, vmml::Vector3d _pos, double _velocity, double _pitch, double _heading)
 
void create (ViewFrustumProperties _in, vmml::Vector3d _pos, vmml::Vector3d _camDir, vmml::Vector3d _camRight, vmml::Vector3d _camUp, double _velocity, double _pitch, double _heading)
 
void createQuatFromAxisAngle (vmml::Quaterniond &quat, GLfloat x, GLfloat y, GLfloat z, GLfloat degrees)
 
void calculateViewMatrix () override
 
void setPitch (GLfloat _deg)
 
void setHeading (GLfloat _deg)
 
void changeHeading (GLfloat _degrees)
 
void changePitch (GLfloat _degrees)
 
void changeWithinXZPlane (vmml::Vector2f _changeVector)
 
void changeInDirection (float _value)
 
void setMoving_X (GLint _value)
 
void setMoving_Z (GLint _value)
 
double getVelocity ()
 
void setVelocity (double _velocity)
 
double getHeading ()
 
double getPitch ()
 
- Public Member Functions inherited from ge::Camera
 Camera ()
 
 ~Camera ()
 
virtual void changeSetup (ViewFrustumProperties _in)
 
void setOrthographic ()
 
void setPerspective (int _w=0, int _h=0)
 
void setOrthoCoordinates (vmml::Vector4d _coords)
 
void setViewportSize (int _w, int _h)
 
void setViewportSize (vmml::Vector2d _viewport)
 
vmml::Vector2d getScreenposForPoint (vmml::Vector3d _p, vmml::Matrix4d _modelMatrix)
 
enum Camera::AXIS getOrientationAxis ()
 
enum Camera::AXIS getOrientationFromString (std::string _input)
 
void setOrientationAxis (enum AXIS _in)
 
vmml::Vector2d getViewport () const
 
void applyViewport ()
 
std::shared_ptr< ge::ViewFrustum > const & getViewFrustum () const
 
vmml::Matrix4d getViewMatrix () const
 
void setViewMatrix (vmml::Matrix4d _viewMatrix)
 
vmml::Vector3d getRelativePositionToCenter () const
 
vmml::Vector3d getScenePosition () const
 
void setScenePosition (vmml::Vector3d _pos)
 
void setRelativePositionToCenter (vmml::Vector3d _pos)
 
double getDistanceToCamera (vmml::Vector3d _p) const
 
vmml::Vector3d getDirection () const
 
enum CAMERATYPE getType ()
 
bool hasChanged ()
 
vmml::Matrix4d getProjectionMatrix () const
 
void setProjectionMatrix (vmml::Matrix4d _projectionMatrix)
 
vmml::Matrix4d getViewProjectionMatrix () const
 
void setViewProjectionMatrix (vmml::Matrix4d _viewprojectionMatrix)
 
void enableOrthoProjection ()
 
void disableOrthoProjection ()
 
void setChanged ()
 
vmml::Matrix4d getInverseViewMatrix () const
 
vmml::Matrix4d getInverseProjectionMatrix () const
 
vmml::Matrix4d getInverseProjectionViewMatrix () const
 
vmml::Vector4d getOrthoCoordinates () const
 

Protected Member Functions

void create (ViewFrustumProperties _in, vmml::Vector3d _pos)
 
- Protected Member Functions inherited from ge::Camera
void moveFrustum ()
 
void setStandardVectors ()
 
vmml::Matrix4d createPerspectiveProjectionMatrix (double fovy, double aspect, double zNear, double zFar)
 
vmml::Matrix4d createFrustumMatrix (double left, double right, double bottom, double top, double zNear, double zFar)
 
vmml::Matrix4d getRotationMatrix (const vmml::Quaterniond &quat)
 

Protected Attributes

GLfloat maxPitchRate
 
GLfloat maxHeadingRate
 
GLfloat headingDegrees
 
GLfloat pitchDegrees
 
vmml::Quaterniond quatHeading
 
vmml::Quaterniond quatPitch
 
double velocity
 
GLint moving_X
 
GLint moving_Z
 
- Protected Attributes inherited from ge::Camera
enum CAMERATYPE type
 
enum Camera::AXIS orientation_axis
 
std::shared_ptr< ge::ViewFrustumviewfrustum
 
vmml::Vector2d viewport
 
vmml::Vector3d camPosition
 
vmml::Vector3d camRight
 
vmml::Vector3d camUp
 
vmml::Vector3d camDirection
 
vmml::Matrix4d viewMatrix
 
vmml::Matrix4d projectionMatrix
 
vmml::Matrix4d viewProjectionMatrix
 
vmml::Matrix4d perspectiveProjectionMatrix
 
vmml::Matrix4d orthoProjectionMatrix
 
vmml::Vector4d orthoCoord
 
bool changed
 
bool orthoProjMode
 
GLuint cameraBuffers [2]
 

Additional Inherited Members

- Public Types inherited from ge::Camera
enum  CAMERATYPE { NORMAL, ARCBALL, STRATEGIC }
 
enum  AXIS { XZ_AXIS = 0, XY_AXIS, YZ_AXIS }
 
- Static Public Member Functions inherited from ge::Camera
static vmml::Matrix4d createOrthoProjectionMatrix (double l, double r, double b, double t, double n, double f)
 

Constructor & Destructor Documentation

ge::FlightCamera::FlightCamera ( )
ge::FlightCamera::~FlightCamera ( )

Member Function Documentation

void ge::FlightCamera::calculateViewMatrix ( )
overridevirtual

Implements ge::Camera.

void ge::FlightCamera::changeHeading ( GLfloat  _degrees)
void ge::FlightCamera::changeInDirection ( float  _value)
void ge::FlightCamera::changePitch ( GLfloat  _degrees)
void ge::FlightCamera::changeWithinXZPlane ( vmml::Vector2f  _changeVector)
void ge::FlightCamera::clear ( )
overridevirtual

Reimplemented from ge::Camera.

void ge::FlightCamera::create ( ViewFrustumProperties  _in)
void ge::FlightCamera::create ( ViewFrustumProperties  _in,
vmml::Vector3d  _pos,
double  _velocity,
double  _pitch,
double  _heading 
)
void ge::FlightCamera::create ( ViewFrustumProperties  _in,
vmml::Vector3d  _pos,
vmml::Vector3d  _camDir,
vmml::Vector3d  _camRight,
vmml::Vector3d  _camUp,
double  _velocity,
double  _pitch,
double  _heading 
)
void ge::FlightCamera::create ( ViewFrustumProperties  _in,
vmml::Vector3d  _pos 
)
protected
void ge::FlightCamera::createQuatFromAxisAngle ( vmml::Quaterniond &  quat,
GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  degrees 
)
void ge::FlightCamera::destroy ( )
overridevirtual

Reimplemented from ge::Camera.

double ge::FlightCamera::getHeading ( )
double ge::FlightCamera::getPitch ( )
double ge::FlightCamera::getVelocity ( )
void ge::FlightCamera::print ( )
overridevirtual

Reimplemented from ge::Camera.

void ge::FlightCamera::setHeading ( GLfloat  _deg)
void ge::FlightCamera::setMoving_X ( GLint  _value)
void ge::FlightCamera::setMoving_Z ( GLint  _value)
void ge::FlightCamera::setPitch ( GLfloat  _deg)
void ge::FlightCamera::setVelocity ( double  _velocity)
void ge::FlightCamera::update ( )
overridevirtual

Implements ge::Camera.

Member Data Documentation

GLfloat ge::FlightCamera::headingDegrees
protected
GLfloat ge::FlightCamera::maxHeadingRate
protected
GLfloat ge::FlightCamera::maxPitchRate
protected
GLint ge::FlightCamera::moving_X
protected
GLint ge::FlightCamera::moving_Z
protected
GLfloat ge::FlightCamera::pitchDegrees
protected
vmml::Quaterniond ge::FlightCamera::quatHeading
protected
vmml::Quaterniond ge::FlightCamera::quatPitch
protected
double ge::FlightCamera::velocity
protected

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