#include <Camera.h>
Inherited by cinder::CameraOrtho, and cinder::CameraPersp.
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 ¢erOfInterestPoint) |
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 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 | |
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 |
cinder::Camera::Camera | ( | ) |
virtual cinder::Camera::~Camera | ( | ) | [virtual] |
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 | ) |
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 |
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] |
Implemented in cinder::CameraPersp, and cinder::CameraOrtho.
Vec3f cinder::Camera::mEyePoint [protected] |
Vec3f cinder::Camera::mViewDirection [protected] |
Quatf cinder::Camera::mOrientation [protected] |
float cinder::Camera::mCenterOfInterest [protected] |
Vec3f cinder::Camera::mWorldUp [protected] |
Vec3f cinder::Camera::mU [protected] |
Vec3f cinder::Camera::mV [protected] |
Vec3f cinder::Camera::mW [protected] |
float cinder::Camera::mFov [protected] |
float cinder::Camera::mAspectRatio [protected] |
float cinder::Camera::mNearClip [protected] |
float cinder::Camera::mFarClip [protected] |
Matrix44f cinder::Camera::mProjectionMatrix [protected] |
Matrix44f cinder::Camera::mInverseProjectionMatrix [protected] |
Matrix44f cinder::Camera::mModelViewMatrix [protected] |
Matrix44f cinder::Camera::mInverseModelViewMatrix [mutable, 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] |