Euclid
Geometry Processing and Shape Analysis in C++
Euclid::OrthoRasCamera Class Reference

A RasCamera using orthographic projection. More...

#include <Rasterizer.h>

Inheritance diagram for Euclid::OrthoRasCamera:
Euclid::RasCamera Euclid::Camera

Public Member Functions

 OrthoRasCamera ()
 Create an OrthoRasCamera using default parameters.
 
 OrthoRasCamera (const Eigen::Vector3f &position, const Eigen::Vector3f &focus, const Eigen::Vector3f &up, float xextent, float yextent, float tnear, float tfar)
 Create an OrthoRasCamera. More...
 
void set_extent (float xextent, float yextent)
 Set the extent of the frustum.
 
virtual Eigen::Matrix4f projection () const override
 Return the projection matrix.
 
- Public Member Functions inherited from Euclid::RasCamera
 RasCamera ()=default
 Create a RasCamera.
 
 RasCamera (const Eigen::Vector3f &position, const Eigen::Vector3f &focus, const Eigen::Vector3f &up, float tnear, float tfar)
 Create a RasCamera. More...
 
Eigen::Matrix4f view () const
 Return the view/lookat matrix.
 
- Public Member Functions inherited from Euclid::Camera
 Camera ()=default
 Create a Camera with default paramters.
 
 Camera (const Vec3 &position, const Vec3 &focus, const Vec3 &up, float tnear, float tfar)
 Create a Camera. More...
 
void lookat (const Vec3 &position, const Vec3 &focus, const Vec3 &up)
 Pose the camera according to the parameteres.
 
void set_range (float tnear, float tfar)
 Set the range of the ray. More...
 

Additional Inherited Members

- Public Types inherited from Euclid::Camera
using Vec3 = Eigen::Vector3f
 
- Public Attributes inherited from Euclid::Camera
Eigen::Vector3f pos { 0.0f, 0.0f, 0.0f }
 Position.
 
Eigen::Vector3f u { 1.0f, 0.0f, 0.0f }
 Right vector.
 
Eigen::Vector3f v { 0.0f, 1.0f, 0.0f }
 Up vector.
 
Eigen::Vector3f dir { 0.0f, 0.0f, 1.0f }
 Negative view vector.
 
float tnear = 0.0f
 The near plane.
 
float tfar = std::numeric_limits<float>::max()
 The far plane.
 

Detailed Description

The range of visible frustum of an orthographic camera is determined by the extent of film plane in world space.

Constructor & Destructor Documentation

Euclid::OrthoRasCamera::OrthoRasCamera ( const Eigen::Vector3f &  position,
const Eigen::Vector3f &  focus,
const Eigen::Vector3f &  up,
float  xextent,
float  yextent,
float  tnear,
float  tfar 
)
inline

In addition to camera position and orientation, an orthogonal camera specifies width and height of the film plane directly.

Parameters
positionPosition.
focusFocus.
upRough up direction.
xextentWidth of the frustum in world space.
yextentHeight of the frustum in world space.
tnearNear clip plane.
tfarFar clip plane.

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