Visual Computing Library  devel
Loading...
Searching...
No Matches
vcl::Camera< Scalar > Class Template Reference

Public Types

using MatrixType = vcl::Matrix44< Scalar >
 
using PointType = vcl::Point3< Scalar >
 
enum class  ProjectionMode { ORTHO , PERSPECTIVE }
 
using ScalarType = Scalar
 

Public Member Functions

Scalar & aspectRatio ()
 
const Scalar & aspectRatio () const
 
PointTypecenter ()
 
const PointTypecenter () const
 
PointTypeeye ()
 
const PointTypeeye () const
 
Scalar & farPlane ()
 
const Scalar & farPlane () const
 
Scalar & fieldOfView ()
 
const Scalar & fieldOfView () const
 
Scalar & nearPlane ()
 
const Scalar & nearPlane () const
 
MatrixType projectionMatrix () const
 
ProjectionMode & projectionMode ()
 
ProjectionMode projectionMode () const
 
void reset ()
 
void setFieldOfViewAdaptingEyeDistance (const Scalar &fov)
 
PointTypeup ()
 
const PointTypeup () const
 
Scalar & verticalHeight ()
 
const Scalar & verticalHeight () const
 
MatrixType viewMatrix () const
 

Private Attributes

Scalar mAspect = 1.0
 Aspect ratio.
 
PointType mCenter = PointType(0.0f, 0.0f, 0.0f)
 Position where the camera is looking at.
 
PointType mEye = PointType(0.0f, 0.0f, 1.0f)
 Position of (eye of) the camera.
 
Scalar mFar = 500.0
 Z position of the mFar plane.
 
Scalar mFovDeg = 54.0
 Field of view in degrees.
 
Scalar mNear = 0.1
 Z position of the mNear plane.
 
ProjectionMode mProjectionMode = ProjectionMode::PERSPECTIVE
 Projection mode.
 
PointType mUp = PointType(0.0f, 1.0f, 0.0f)
 Up direction of the camera.
 
Scalar mVerticalHeight = 2.0
 Height of the target in world space (used for ortho projection, and adapting the eye distance for perspective projection)
 

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