# Cinder

# cinder::CameraPersp Class Reference

`#include <Camera.h>`

Inherits cinder::Camera.

List of all members.

## Public Member Functions
| CameraPersp ()
| CameraPersp (int pixelWidth, int pixelHeight, float fov)
| CameraPersp (int pixelWidth, int pixelHeight, float fov, float nearPlane, float parPlane)
void | setPerspective (float horizFovDegrees, float aspectRatio, float nearPlane, float farPlane)
virtual bool | isPersp () const
| Returns whether the camera represents a perspective projection instead of an orthographic.
CameraPersp | getFrameSphere (const class Sphere &worldSpaceSphere, int maxIterations=20) const
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`.
const Matrix44f & | getProjectionMatrix () const
const Matrix44f & | getModelViewMatrix () const
const Matrix44f & | getInverseModelViewMatrix () 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
virtual void | calcProjection ()
void | calcModelView ()
void | calcInverseModelView () const
## 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::CameraPersp::CameraPersp | ( |  | ) |

cinder::CameraPersp::CameraPersp | ( | int | pixelWidth,
|  | int | pixelHeight,
|  | float | fov |
| ) |  |  |

cinder::CameraPersp::CameraPersp | ( | int | pixelWidth,
|  | int | pixelHeight,
|  | float | fov,
|  | float | nearPlane,
|  | float | parPlane |
| ) |  |  |

## Member Function Documentation

void cinder::CameraPersp::setPerspective | ( | float | horizFovDegrees,
|  | float | aspectRatio,
|  | float | nearPlane,
|  | float | farPlane |
| ) |  |  |

virtual bool cinder::CameraPersp::isPersp | ( |  | ) | const`[virtual]`

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

Implements cinder::Camera.

CameraPersp cinder::CameraPersp::getFrameSphere | ( | const class Sphere & | worldSpaceSphere,
|  | int | maxIterations = `20` |
| ) |  |  | const

void cinder::CameraPersp::calcProjection | ( |  | ) | `[protected, virtual]`

Implements cinder::Camera.

Vec3f cinder::Camera::getEyePoint | ( |  | ) | const`[inherited]`

void cinder::Camera::setEyePoint | ( | const Vec3f & | aEyePoint | ) | `[inherited]`

float cinder::Camera::getCenterOfInterest | ( |  | ) | const`[inherited]`

void cinder::Camera::setCenterOfInterest | ( | float | aCenterOfInterest | ) | `[inherited]`

Vec3f cinder::Camera::getCenterOfInterestPoint | ( |  | ) | const`[inherited]`

void cinder::Camera::setCenterOfInterestPoint | ( | const Vec3f & | centerOfInterestPoint | ) | `[inherited]`

Vec3f cinder::Camera::getWorldUp | ( |  | ) | const`[inherited]`

void cinder::Camera::setWorldUp | ( | const Vec3f & | aWorldUp | ) | `[inherited]`

void cinder::Camera::lookAt | ( | const Vec3f & | target | ) | `[inherited]`

void cinder::Camera::lookAt | ( | const Vec3f & | aEyePoint,
|  | const Vec3f & | target |
| ) |  |  | `[inherited]`

void cinder::Camera::lookAt | ( | const Vec3f & | aEyePoint,
|  | const Vec3f & | target,
|  | const Vec3f & | aUp |
| ) |  |  | `[inherited]`

Vec3f cinder::Camera::getViewDirection | ( |  | ) | const`[inherited]`

void cinder::Camera::setViewDirection | ( | const Vec3f & | aViewDirection | ) | `[inherited]`

Quatf cinder::Camera::getOrientation | ( |  | ) | const`[inherited]`

void cinder::Camera::setOrientation | ( | const Quatf & | aOrientation | ) | `[inherited]`

float cinder::Camera::getFov | ( |  | ) | const`[inherited]`

void cinder::Camera::setFov | ( | float | aFov | ) | `[inherited]`

float cinder::Camera::getAspectRatio | ( |  | ) | const`[inherited]`

void cinder::Camera::setAspectRatio | ( | float | aAspectRatio | ) | `[inherited]`

float cinder::Camera::getNearClip | ( |  | ) | const`[inherited]`

void cinder::Camera::setNearClip | ( | float | aNearClip | ) | `[inherited]`

float cinder::Camera::getFarClip | ( |  | ) | const`[inherited]`

void cinder::Camera::setFarClip | ( | float | aFarClip | ) | `[inherited]`

void cinder::Camera::getNearClipCoordinates | ( | Vec3f * | topLeft,
|  | Vec3f * | topRight,
|  | Vec3f * | bottomLeft,
|  | Vec3f * | bottomRight |
| ) |  |  | const`[inherited]`

void cinder::Camera::getFarClipCoordinates | ( | Vec3f * | topLeft,
|  | Vec3f * | topRight,
|  | Vec3f * | bottomLeft,
|  | Vec3f * | bottomRight |
| ) |  |  | const`[inherited]`

void cinder::Camera::getFrustum | ( | float * | left,
|  | float * | top,
|  | float * | right,
|  | float * | bottom,
|  | float * | near,
|  | float * | far |
| ) |  |  | const`[inherited]`

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

const Matrix44f& cinder::Camera::getProjectionMatrix | ( |  | ) | const`[inherited]`

const Matrix44f& cinder::Camera::getModelViewMatrix | ( |  | ) | const`[inherited]`

const Matrix44f& cinder::Camera::getInverseModelViewMatrix | ( |  | ) | const`[inherited]`

Ray cinder::Camera::generateRay | ( | float | u,
|  | float | v,
|  | float | imagePlaneAspectRatio |
| ) |  |  | const`[inherited]`

void cinder::Camera::getBillboardVectors | ( | Vec3f * | right,
|  | Vec3f * | up |
| ) |  |  | const`[inherited]`

Vec2f cinder::Camera::worldToScreen | ( | const Vec3f & | worldCoord,
|  | float | screenWidth,
|  | float | screenHeight |
| ) |  |  | const`[inherited]`

float cinder::Camera::getScreenRadius | ( | const class Sphere & | sphere,
|  | float | screenWidth,
|  | float | screenHeight |
| ) |  |  | const`[inherited]`

void cinder::Camera::calcModelView | ( |  | ) | `[protected, inherited]`

void cinder::Camera::calcInverseModelView | ( |  | ) | const`[protected, inherited]`

## Member Data Documentation

Vec3f cinder::Camera::mEyePoint`[protected, inherited]`

Vec3f cinder::Camera::mViewDirection`[protected, inherited]`

Quatf cinder::Camera::mOrientation`[protected, inherited]`

float cinder::Camera::mCenterOfInterest`[protected, inherited]`

Vec3f cinder::Camera::mWorldUp`[protected, inherited]`

Vec3f cinder::Camera::mU`[protected, inherited]`

Vec3f cinder::Camera::mV`[protected, inherited]`

Vec3f cinder::Camera::mW`[protected, inherited]`

float cinder::Camera::mFov`[protected, inherited]`

float cinder::Camera::mAspectRatio`[protected, inherited]`

float cinder::Camera::mNearClip`[protected, inherited]`

float cinder::Camera::mFarClip`[protected, inherited]`

Matrix44f cinder::Camera::mProjectionMatrix`[protected, inherited]`

Matrix44f cinder::Camera::mInverseProjectionMatrix`[protected, inherited]`

Matrix44f cinder::Camera::mModelViewMatrix`[protected, inherited]`

Matrix44f cinder::Camera::mInverseModelViewMatrix`[mutable, protected, inherited]`

bool cinder::Camera::mInverseModelViewCached`[mutable, protected, inherited]`

float cinder::Camera::mFrustumLeft`[protected, inherited]`

float cinder::Camera::mFrustumRight`[protected, inherited]`

float cinder::Camera::mFrustumTop`[protected, inherited]`

float cinder::Camera::mFrustumBottom`[protected, inherited]`

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

- include/cinder/Camera.h
- src/cinder/Camera.cpp