RobWorkProject
24.5.15

projection matrix More...
#include <ProjectionMatrix.hpp>
Public Types  
typedef rw::core::Ptr< ProjectionMatrix >  Ptr 
Public Member Functions  
ProjectionMatrix ()  
constructor  
const Eigen::Matrix< double, 4, 4 >  e () const 
get the boost matrix corresponding to this projection  
bool  isPerspectiveProjection () 
test if this is a perspective projection  
bool  isOrtographicProjection () 
test if this is a ortographic projection  
void  setOrtho (double left, double right, double bottom, double top, double zNear, double zFar) 
set the projection matrix to an ortographic projection by defining the box with length to all sides (left, right, bottom, top, near and far) More...  
bool  getOrtho (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const 
get ortographic projection. Onli valid if isOrtographicProjection is true  
void  setFrustum (double left, double right, double bottom, double top, double zNear, double zFar) 
set the projection matrix to the viewing frustum More...  
bool  getFrustum (double &left, double &right, double &bottom, double &top, double &zNear, double &zFar) const 
get the projection matrix to the viewing frustum More...  
void  setPerspective (double fovy, double aspectRatio, double zNear, double zFar) 
set the projection matrix to perspective projection More...  
void  setPerspective (double fovy, double width, double height, double zNear, double zFar) 
set the projection matrix to perspective projection More...  
bool  getPerspective (double &fovy, double &aspectRatio, double &zNear, double &zFar) const 
get the projection matrix to perspective projection More...  
template<class T >  
void  toOpenGLMatrix (T arr[16]) 
convert the projection matrix to an OpenGL compatible matrix More...  
std::pair< double, double >  getClipPlanes () const 
Static Public Member Functions  
static ProjectionMatrix  makePerspective (double fovy, double aspectRatio, double zNear, double zFar) 
creates a projection matrix with a perspective projection More...  
static ProjectionMatrix  makePerspective (double fovy, double width, double height, double zNear, double zFar) 
creates a projection matrix with a perspective projection More...  
static ProjectionMatrix  makeOrtho (double left, double right, double bottom, double top, double zNear, double zFar) 
creates a projection matrix with a orthographic projection More...  
projection matrix
std::pair<double, double> getClipPlanes  (  )  const 
get near and far clipping plane
bool getFrustum  (  double &  left, 
double &  right,  
double &  bottom,  
double &  top,  
double &  zNear,  
double &  zFar  
)  const 
get the projection matrix to the viewing frustum
left  [out] distance in m near cutting plane from center to left edge 
right  [out] distance in m near cutting plane from center to right edge 
bottom  [out] distance in m near cutting plane from center to bottom edge 
top  [out] distance in m near cutting plane from center to top edge 
zNear  [out] distance in m along zaxis to near cutting plane 
zFar  [out] distance in m along zaxis to far cutting plane 
bool getPerspective  (  double &  fovy, 
double &  aspectRatio,  
double &  zNear,  
double &  zFar  
)  const 
get the projection matrix to perspective projection
fovy  [in] vertical field of view [degrees] 
aspectRatio  [in] aspect ratio between width and height of image 
zNear  [in] distance to near cutting plane 
zFar  [in] distance to far cutting plane 

static 
creates a projection matrix with a orthographic projection
left  
right  
bottom  
top  
zNear  
zFar 

static 
creates a projection matrix with a perspective projection
fovy  
aspectRatio  
zNear  
zFar 

static 
creates a projection matrix with a perspective projection
fovy  [in] 
width  [in] of image 
height  [in] of image 
zNear  [in] 
zFar  [in] 
void setFrustum  (  double  left, 
double  right,  
double  bottom,  
double  top,  
double  zNear,  
double  zFar  
) 
set the projection matrix to the viewing frustum
left  [in] distance in m near cutting plane from center to left edge 
right  [in] distance in m near cutting plane from center to right edge 
bottom  [in] distance in m near cutting plane from center to bottom edge 
top  [in] distance in m near cutting plane from center to top edge 
zNear  [in] distance in m along zaxis to near cutting plane 
zFar  [in] distance in m along zaxis to far cutting plane 
void setOrtho  (  double  left, 
double  right,  
double  bottom,  
double  top,  
double  zNear,  
double  zFar  
) 
set the projection matrix to an ortographic projection by defining the box with length to all sides (left, right, bottom, top, near and far)
left  [in] length in m to left edge of image 
right  [in] length in m to right edge of image 
bottom  [in] length in m to bottom edge of image 
top  [in] length in m to top edge of image 
zNear  [in] length in m to near clipping plane 
zFar  [in] length in m to far clipping plane 
void setPerspective  (  double  fovy, 
double  aspectRatio,  
double  zNear,  
double  zFar  
) 
set the projection matrix to perspective projection
fovy  [in] vertical field of view [degrees] 
aspectRatio  [in] aspect ratio between width and height of image 
zNear  [in] distance to near cutting plane 
zFar  [in] distance to far cutting plane 

inline 
set the projection matrix to perspective projection
fovy  [in] vertical field of view [degrees] 
width  [in] width of image 
height  [in] height of image 
zNear  [in] distance to near cutting plane 
zFar  [in] distance to far cutting plane 

inline 
convert the projection matrix to an OpenGL compatible matrix
arr  [out] array of 16*sizeof(T) with the opengl matrix 