Camera Class Reference

#include <Camera.h>

Inheritance diagram for Camera:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  Camera ()
  Camera (const Camera &rhs)
void  assign (const Camera *camera)
void  registerViewState (ViewState *vs)
void  unregisterViewState (ViewState *vs)
virtual void  synchronizeViewStates ()
virtual void *  getNativeCamera () const
virtual void  update ()
virtual void  updateViewMatrix ()
virtual void  updateProjectionMatrix ()
virtual awLinear::ProjMatrix  getWorldMatrix () const
virtual awLinear::ProjMatrix  getViewMatrix () const
virtual awLinear::ProjMatrix  getProjectionMatrix () const
virtual awLinear::ProjMatrix  getViewProjectionMatrix () const
awLinear::Point  pointInNDSpace (const awLinear::Point &pos) const
  Returns Point, even though it's really just the X and Y that are relevant.
virtual void  setCameraTransform (const awLinear::Point &pos, const awLinear::Point &coi, double roll)
virtual void  pitch (double angle)
virtual void  yaw (double angle)
virtual void  roll (double angle)
virtual void  setView (const awLinear::Point &pos, const awLinear::Point &coi, const awLinear::Vector &up)
virtual void  getView (awLinear::Point &pos, awLinear::Point &coi, awLinear::Vector &up) const
virtual void  setPosition (const awLinear::Point &pos)
virtual const awLinear::Point  getPosition () const
virtual void  setCOI (const awLinear::Point &coi)
virtual const awLinear::Point  getCOI () const
virtual void  setUpVector (const awLinear::Vector &up)
virtual const awLinear::Vector  getUpVector () const
virtual void  setRightVector (const awLinear::Vector &right)
virtual const awLinear::Vector  getRightVector () const
virtual const awLinear::Vector  computeUpVector (double roll)
virtual const awLinear::Vector  getDirection () const
virtual void  setOrthographic (const bool state)
virtual bool  isOrthographic () const
virtual double  getWindowWidth () const
virtual double  getWindowHeight () const
virtual void  setVerticalFov (double fov_in_radians)
virtual double  getVerticalFov () const
virtual double  getHorizontalFov () const
virtual void  setFocusDistance (double focusDistance)
virtual double  getFocusDistance () const
virtual void  setAspectRatio (double aspect, bool keepWidth=false)
virtual double  getAspectRatio () const
virtual void  setAspectRatioScale (double scale)
virtual double  getAspectRatioScale () const
virtual double  getScaledAspectRatio () const
virtual void  setZoomFactor (double zoom)
virtual double  getZoomFactor () const
virtual void  setNearFarClip (double nearClip, double farClip)
virtual double  getNearClip () const
virtual double  getFarClip () const
virtual void  setOrthoWindow (double x, double y, double w, double h)
virtual void  setWindowOffset (double x, double y)
virtual void  getWindowOffset (double &x, double &y) const
virtual void  setWindowRegion (double x, double y, double w, double h)
  The window region specifies a sub-region of the current view window which is to be rendered to the viewport.
virtual void  getWindowRegion (double &x, double &y, double &w, double &h) const
virtual void  setWindowRegion (awLinear::Range2d wr)
virtual awLinear::Range2d  getWindowRegion () const
void  setActiveEye (StereoActiveEye eye)
virtual void  setOverwriteCameraMatrices (bool viewMatrixFlag, bool projMatrixFlag)
virtual void  setOverwriteCameraMatricesFromCurrent (float)
virtual void  setOverwriteCameraWorldToView (const awLinear::ProjMatrix &worldToView, const awLinear::ProjMatrix &viewToWorld)
virtual void  setOverwriteCameraProjection (const awLinear::ProjMatrix &projection, const awLinear::ProjMatrix &projectionInverse)
virtual void  setOverwriteCameraWorldToViewRightEye (const awLinear::ProjMatrix &worldToView, const awLinear::ProjMatrix &viewToWorld)
virtual void  setOverwriteCameraProjectionRightEye (const awLinear::ProjMatrix &projection, const awLinear::ProjMatrix &projectionInverse)

Protected Member Functions

  ~Camera ()

Protected Attributes

awLinear::Point  myPosition
awLinear::Point  myCOI
awLinear::Vector  myUp
awLinear::Vector  myRight
double  myWindowWidth
double  myWindowHeight
awLinear::Point2  myWindowOffset
awLinear::Range2d  myWindowRegion
double  myNear
double  myFar
double  myFocusDistance
double  myAspectScale
double  myZoomFactor
bool  myIsOrtho
awLinear::ProjMatrix  myOverridingViewMatrix
awLinear::ProjMatrix  myOverridingProjMatrix
awLinear::ProjMatrix  myOverridingViewMatrixRight
awLinear::ProjMatrix  myOverridingProjMatrixRight
bool  myEnableViewMatrixOverride
bool  myEnableProjMatrixOverride
StereoActiveEye  myActiveEye

Constructor & Destructor Documentation

Camera ( )
Camera ( const Camera rhs )
~Camera ( ) [protected]

Member Function Documentation

void assign ( const Camera camera )
void registerViewState ( ViewState vs )
void unregisterViewState ( ViewState vs )
virtual void synchronizeViewStates ( ) [virtual]
virtual void* getNativeCamera ( ) const [virtual]
virtual void update ( ) [virtual]
virtual void updateViewMatrix ( ) [virtual]
virtual void updateProjectionMatrix ( ) [virtual]
virtual awLinear::ProjMatrix getWorldMatrix ( ) const [virtual]
virtual awLinear::ProjMatrix getViewMatrix ( ) const [virtual]
virtual awLinear::ProjMatrix getProjectionMatrix ( ) const [virtual]
virtual awLinear::ProjMatrix getViewProjectionMatrix ( ) const [virtual]
awLinear::Point pointInNDSpace ( const awLinear::Point &  pos ) const

Returns Point, even though it's really just the X and Y that are relevant.

To be clear, this will be in [-1,1] if the pos is visible by the camera (normalized device space).

List of new 2013 classes:
: New in Version 2013
virtual void setCameraTransform ( const awLinear::Point &  pos,
const awLinear::Point &  coi,
double  roll 
) [virtual]
virtual void pitch ( double  angle ) [virtual]
virtual void yaw ( double  angle ) [virtual]
virtual void roll ( double  angle ) [virtual]
virtual void setView ( const awLinear::Point &  pos,
const awLinear::Point &  coi,
const awLinear::Vector &  up 
) [virtual]
virtual void getView ( awLinear::Point &  pos,
awLinear::Point &  coi,
awLinear::Vector &  up 
) const [virtual]
virtual void setPosition ( const awLinear::Point &  pos ) [virtual]
virtual const awLinear::Point getPosition ( ) const [virtual]
virtual void setCOI ( const awLinear::Point &  coi ) [virtual]
virtual const awLinear::Point getCOI ( ) const [virtual]
virtual void setUpVector ( const awLinear::Vector &  up ) [virtual]
virtual const awLinear::Vector getUpVector ( ) const [virtual]
virtual void setRightVector ( const awLinear::Vector &  right ) [virtual]
virtual const awLinear::Vector getRightVector ( ) const [virtual]
virtual const awLinear::Vector computeUpVector ( double  roll ) [virtual]
virtual const awLinear::Vector getDirection ( ) const [virtual]
virtual void setOrthographic ( const bool  state ) [virtual]
virtual bool isOrthographic ( ) const [virtual]
virtual double getWindowWidth ( ) const [virtual]
virtual double getWindowHeight ( ) const [virtual]
virtual void setVerticalFov ( double  fov_in_radians ) [virtual]
virtual double getVerticalFov ( ) const [virtual]
virtual double getHorizontalFov ( ) const [virtual]
virtual void setFocusDistance ( double  focusDistance ) [virtual]
virtual double getFocusDistance ( ) const [virtual]
virtual void setAspectRatio ( double  aspect,
bool  keepWidth = false 
) [virtual]
virtual double getAspectRatio ( ) const [virtual]
virtual void setAspectRatioScale ( double  scale ) [virtual]
virtual double getAspectRatioScale ( ) const [virtual]
virtual double getScaledAspectRatio ( ) const [virtual]
virtual void setZoomFactor ( double  zoom ) [virtual]
virtual double getZoomFactor ( ) const [virtual]
virtual void setNearFarClip ( double  nearClip,
double  farClip 
) [virtual]
virtual double getNearClip ( ) const [virtual]
virtual double getFarClip ( ) const [virtual]
virtual void setOrthoWindow ( double  x,
double  y,
double  w,
double  h 
) [virtual]
virtual void setWindowOffset ( double  x,
double  y 
) [virtual]
virtual void getWindowOffset ( double &  x,
double &  y 
) const [virtual]
virtual void setWindowRegion ( double  x,
double  y,
double  w,
double  h 
) [virtual]

The window region specifies a sub-region of the current view window which is to be rendered to the viewport.

Values are fractional [0, 1]. This modifies the current render camera.

virtual void getWindowRegion ( double &  x,
double &  y,
double &  w,
double &  h 
) const [virtual]
virtual void setWindowRegion ( awLinear::Range2d  wr ) [virtual]
virtual awLinear::Range2d getWindowRegion ( ) const [virtual]
void setActiveEye ( StereoActiveEye  eye )
virtual void setOverwriteCameraMatrices ( bool  viewMatrixFlag,
bool  projMatrixFlag 
) [virtual]
virtual void setOverwriteCameraMatricesFromCurrent ( float  ) [virtual]
virtual void setOverwriteCameraWorldToView ( const awLinear::ProjMatrix &  worldToView,
const awLinear::ProjMatrix &  viewToWorld 
) [virtual]
virtual void setOverwriteCameraProjection ( const awLinear::ProjMatrix &  projection,
const awLinear::ProjMatrix &  projectionInverse 
) [virtual]
virtual void setOverwriteCameraWorldToViewRightEye ( const awLinear::ProjMatrix &  worldToView,
const awLinear::ProjMatrix &  viewToWorld 
) [virtual]
virtual void setOverwriteCameraProjectionRightEye ( const awLinear::ProjMatrix &  projection,
const awLinear::ProjMatrix &  projectionInverse 
) [virtual]

Member Data Documentation

awLinear::Point myPosition [protected]
awLinear::Point myCOI [protected]
awLinear::Vector myUp [protected]
awLinear::Vector myRight [protected]
awLinear::Point2 myWindowOffset [protected]
awLinear::Range2d myWindowRegion [protected]
awLinear::ProjMatrix myOverridingViewMatrix [protected]
awLinear::ProjMatrix myOverridingProjMatrix [protected]

Camera Camera Camera Camera Camera Camera Camera Camera Camera Camera
Camera Camera Camera Camera Camera Camera Camera Camera Camera Camera