GlobeEngine
ge::ArcBallCamera Class Reference

#include <ArcBallCamera.h>

Inheritance diagram for ge::ArcBallCamera:
ge::Camera geAstro::PassiveCamera

Public Member Functions

 ArcBallCamera ()
 
 ~ArcBallCamera ()
 
void clear ()
 
void create ()
 
void create (float _width, float _height, ViewFrustumProperties _in, vmml::Vector3d _pos)
 
void setBounds (vmml::Vector2d _viewport)
 
vmml::Vector3d mapToSphere (const vmml::Vector2d NewPt)
 
vmml::Quaterniond calculateRotationQuat ()
 
vmml::Matrix4d setRotationFromQuaternion (vmml::Quaterniond q1)
 
void update ()
 
void setClicked (bool _in)
 
void setZooming (bool _in)
 
void setMousePointer (float _x, float _y)
 
void setPanning (bool _in)
 
void resetPanning ()
 
void setCenter (vmml::Vector3d)
 
vmml::Vector3d getCenter ()
 
void resetZoom ()
 
void setZoomFactorLimit (double _radius)
 
- Public Member Functions inherited from ge::Camera
 Camera ()
 
 ~Camera ()
 
virtual void changeSetup (ViewFrustumProperties _in)
 
virtual void destroy ()
 
virtual void print ()
 
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 calculateViewMatrix ()
 
- 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

vmml::Quaterniond rot_quat
 
vmml::Vector3d lastVec
 
vmml::Vector3d activeVec
 
vmml::Matrix4d activeRot
 
vmml::Matrix4d lastRot
 
vmml::Matrix4d zoomMatrix
 
vmml::Vector2d activePan
 
vmml::Vector2d lastPan
 
vmml::Matrix4d trans
 
vmml::Vector3d center
 
double adjustWidth
 
double adjustHeight
 
bool isRotating
 
bool isDragging
 
bool isPanning
 
double zoomfactor
 
vmml::Vector2d MousePt
 
vmml::Vector2d firstMousePt
 
vmml::Vector3d initPos
 
float zoomFactorLimit
 
- 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::ArcBallCamera::ArcBallCamera ( )
ge::ArcBallCamera::~ArcBallCamera ( )

Member Function Documentation

vmml::Quaterniond ge::ArcBallCamera::calculateRotationQuat ( )
void ge::ArcBallCamera::calculateViewMatrix ( )
protectedvirtual

Implements ge::Camera.

void ge::ArcBallCamera::clear ( )
virtual

Reimplemented from ge::Camera.

void ge::ArcBallCamera::create ( )
inline
void ge::ArcBallCamera::create ( float  _width,
float  _height,
ViewFrustumProperties  _in,
vmml::Vector3d  _pos 
)
vmml::Vector3d ge::ArcBallCamera::getCenter ( )
vmml::Vector3d ge::ArcBallCamera::mapToSphere ( const vmml::Vector2d  NewPt)
void ge::ArcBallCamera::resetPanning ( )
void ge::ArcBallCamera::resetZoom ( )
void ge::ArcBallCamera::setBounds ( vmml::Vector2d  _viewport)
inline
void ge::ArcBallCamera::setCenter ( vmml::Vector3d  _center)
void ge::ArcBallCamera::setClicked ( bool  _in)
void ge::ArcBallCamera::setMousePointer ( float  _x,
float  _y 
)
void ge::ArcBallCamera::setPanning ( bool  _in)
vmml::Matrix4d ge::ArcBallCamera::setRotationFromQuaternion ( vmml::Quaterniond  q1)
void ge::ArcBallCamera::setZoomFactorLimit ( double  _radius)
void ge::ArcBallCamera::setZooming ( bool  _in)
void ge::ArcBallCamera::update ( )
virtual

Implements ge::Camera.

Member Data Documentation

vmml::Vector2d ge::ArcBallCamera::activePan
protected
vmml::Matrix4d ge::ArcBallCamera::activeRot
protected
vmml::Vector3d ge::ArcBallCamera::activeVec
protected
double ge::ArcBallCamera::adjustHeight
protected
double ge::ArcBallCamera::adjustWidth
protected
vmml::Vector3d ge::ArcBallCamera::center
protected
vmml::Vector2d ge::ArcBallCamera::firstMousePt
protected
vmml::Vector3d ge::ArcBallCamera::initPos
protected
bool ge::ArcBallCamera::isDragging
protected
bool ge::ArcBallCamera::isPanning
protected
bool ge::ArcBallCamera::isRotating
protected
vmml::Vector2d ge::ArcBallCamera::lastPan
protected
vmml::Matrix4d ge::ArcBallCamera::lastRot
protected
vmml::Vector3d ge::ArcBallCamera::lastVec
protected
vmml::Vector2d ge::ArcBallCamera::MousePt
protected
vmml::Quaterniond ge::ArcBallCamera::rot_quat
protected
vmml::Matrix4d ge::ArcBallCamera::trans
protected
double ge::ArcBallCamera::zoomfactor
protected
float ge::ArcBallCamera::zoomFactorLimit
protected
vmml::Matrix4d ge::ArcBallCamera::zoomMatrix
protected

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