cinder::Camera Class Reference

#include <Camera.h>

Inherited by cinder::CameraOrtho, and cinder::CameraPersp.

List of all members.

Public Member Functions

 Camera ()
virtual ~Camera ()
Vec3f getEyePoint () const
void setEyePoint (const Vec3f &aEyePoint)
float getCenterOfInterest () const
void setCenterOfInterest (float aCenterOfInterest)
Vec3f getCenterOfInterestPoint () const
void setCenterOfInterestPoint (const Vec3f &centerOfInterestPoint)
Vec3f getWorldUp () const
void setWorldUp (const Vec3f &aWorldUp)
void lookAt (const Vec3f &target)
void lookAt (const Vec3f &aEyePoint, const Vec3f &target)
void lookAt (const Vec3f &aEyePoint, const Vec3f &target, const Vec3f &aUp)
Vec3f getViewDirection () const
void setViewDirection (const Vec3f &aViewDirection)
Quatf getOrientation () const
void setOrientation (const Quatf &aOrientation)
float getFov () const
void setFov (float aFov)
float getAspectRatio () const
void setAspectRatio (float aAspectRatio)
float getNearClip () const
void setNearClip (float aNearClip)
float getFarClip () const
void setFarClip (float aFarClip)
void getNearClipCoordinates (Vec3f *topLeft, Vec3f *topRight, Vec3f *bottomLeft, Vec3f *bottomRight) const
void getFarClipCoordinates (Vec3f *topLeft, Vec3f *topRight, Vec3f *bottomLeft, Vec3f *bottomRight) const
void getFrustum (float *left, float *top, float *right, float *bottom, float *near, float *far) const
 Returns the coordinates of the camera's frustum, suitable for passing to glFrustum.
virtual bool isPersp () const =0
 Returns whether the camera represents a perspective projection instead of an orthographic.
const Matrix44fgetProjectionMatrix () const
const Matrix44fgetModelViewMatrix () const
const Matrix44fgetInverseModelViewMatrix () const
Ray generateRay (float u, float v, float imagePlaneAspectRatio) const
void getBillboardVectors (Vec3f *right, Vec3f *up) const
Vec2f worldToScreen (const Vec3f &worldCoord, float screenWidth, float screenHeight) const
float getScreenRadius (const class Sphere &sphere, float screenWidth, float screenHeight) const

Protected Member Functions

void calcModelView ()
void calcInverseModelView () const
virtual void calcProjection ()=0

Protected Attributes

Vec3f mEyePoint
Vec3f mViewDirection
Quatf mOrientation
float mCenterOfInterest
Vec3f mWorldUp
Vec3f mU
Vec3f mV
Vec3f mW
float mFov
float mAspectRatio
float mNearClip
float mFarClip
Matrix44f mProjectionMatrix
Matrix44f mInverseProjectionMatrix
Matrix44f mModelViewMatrix
Matrix44f mInverseModelViewMatrix
bool mInverseModelViewCached
float mFrustumLeft
float mFrustumRight
float mFrustumTop
float mFrustumBottom

Constructor & Destructor Documentation

cinder::Camera::Camera (  ) 
virtual cinder::Camera::~Camera (  )  [virtual]

Member Function Documentation

Vec3f cinder::Camera::getEyePoint (  )  const
void cinder::Camera::setEyePoint ( const Vec3f aEyePoint  ) 
float cinder::Camera::getCenterOfInterest (  )  const
void cinder::Camera::setCenterOfInterest ( float  aCenterOfInterest  ) 
Vec3f cinder::Camera::getCenterOfInterestPoint (  )  const
void cinder::Camera::setCenterOfInterestPoint ( const Vec3f centerOfInterestPoint  ) 
Vec3f cinder::Camera::getWorldUp (  )  const
void cinder::Camera::setWorldUp ( const Vec3f aWorldUp  ) 
void cinder::Camera::lookAt ( const Vec3f target  ) 
void cinder::Camera::lookAt ( const Vec3f aEyePoint,
const Vec3f target 
)
void cinder::Camera::lookAt ( const Vec3f aEyePoint,
const Vec3f target,
const Vec3f aUp 
)
Vec3f cinder::Camera::getViewDirection (  )  const
void cinder::Camera::setViewDirection ( const Vec3f aViewDirection  ) 
Quatf cinder::Camera::getOrientation (  )  const
void cinder::Camera::setOrientation ( const Quatf aOrientation  ) 
float cinder::Camera::getFov (  )  const
void cinder::Camera::setFov ( float  aFov  ) 
float cinder::Camera::getAspectRatio (  )  const
void cinder::Camera::setAspectRatio ( float  aAspectRatio  ) 
float cinder::Camera::getNearClip (  )  const
void cinder::Camera::setNearClip ( float  aNearClip  ) 
float cinder::Camera::getFarClip (  )  const
void cinder::Camera::setFarClip ( float  aFarClip  ) 
void cinder::Camera::getNearClipCoordinates ( Vec3f topLeft,
Vec3f topRight,
Vec3f bottomLeft,
Vec3f bottomRight 
) const
void cinder::Camera::getFarClipCoordinates ( Vec3f topLeft,
Vec3f topRight,
Vec3f bottomLeft,
Vec3f bottomRight 
) const
void cinder::Camera::getFrustum ( float *  left,
float *  top,
float *  right,
float *  bottom,
float *  near,
float *  far 
) const

Returns the coordinates of the camera's frustum, suitable for passing to glFrustum.

virtual bool cinder::Camera::isPersp (  )  const [pure virtual]

Returns whether the camera represents a perspective projection instead of an orthographic.

Implemented in cinder::CameraPersp, and cinder::CameraOrtho.

const Matrix44f& cinder::Camera::getProjectionMatrix (  )  const
const Matrix44f& cinder::Camera::getModelViewMatrix (  )  const
const Matrix44f& cinder::Camera::getInverseModelViewMatrix (  )  const
Ray cinder::Camera::generateRay ( float  u,
float  v,
float  imagePlaneAspectRatio 
) const
void cinder::Camera::getBillboardVectors ( Vec3f right,
Vec3f up 
) const
Vec2f cinder::Camera::worldToScreen ( const Vec3f worldCoord,
float  screenWidth,
float  screenHeight 
) const
float cinder::Camera::getScreenRadius ( const class Sphere sphere,
float  screenWidth,
float  screenHeight 
) const
void cinder::Camera::calcModelView (  )  [protected]
void cinder::Camera::calcInverseModelView (  )  const [protected]
virtual void cinder::Camera::calcProjection (  )  [protected, pure virtual]

Member Data Documentation

float cinder::Camera::mFov [protected]
float cinder::Camera::mAspectRatio [protected]
float cinder::Camera::mNearClip [protected]
float cinder::Camera::mFarClip [protected]
bool cinder::Camera::mInverseModelViewCached [mutable, protected]
float cinder::Camera::mFrustumLeft [protected]
float cinder::Camera::mFrustumRight [protected]
float cinder::Camera::mFrustumTop [protected]
float cinder::Camera::mFrustumBottom [protected]

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