#include <projection_matrix_factory.h>
Public Member Functions | |
virtual float | getAspectRatio () |
ProjectionMatrixFactory () | |
virtual void | setAspectRatio (float width_over_height) |
virtual | ~ProjectionMatrixFactory () |
Protected Member Functions | |
virtual rve_msgs::Matrix4 | makeMatrix ()=0 |
void | updateCamera () |
Protected Attributes | |
float | aspect_ratio_ |
Private Member Functions | |
void | setCamera (Camera *camera) |
Private Attributes | |
Camera * | camera_ |
Friends | |
class | Camera |
Abstract base class of factories which make camera projection matrices.
Projection matrices are assumed to be constructed after the fashion described here: http://www.songho.ca/opengl/gl_projectionmatrix.html in which the -Z axis points away from the camera along the view axis, +X points to the right, and +Y points up. This is typical for computer graphics, but is different from the assumptions made by Camera::setOrientation().
Definition at line 47 of file projection_matrix_factory.h.
Definition at line 36 of file projection_matrix_factory.cpp.
Definition at line 41 of file projection_matrix_factory.cpp.
virtual float rve_render_client::ProjectionMatrixFactory::getAspectRatio | ( | ) | [inline, virtual] |
Definition at line 56 of file projection_matrix_factory.h.
virtual rve_msgs::Matrix4 rve_render_client::ProjectionMatrixFactory::makeMatrix | ( | ) | [protected, pure virtual] |
Subclasses should override this to construct and return your custom projection matrix.
Implemented in rve_render_client::OrthographicProjectionFactory, rve_render_client::PerspectiveProjectionFactory, and rve_render_client::CameraInfoProjectionFactory.
void rve_render_client::ProjectionMatrixFactory::setAspectRatio | ( | float | width_over_height | ) | [virtual] |
The attached camera calls setAspectRatio() from its setAspectRatio().
Definition at line 58 of file projection_matrix_factory.cpp.
void rve_render_client::ProjectionMatrixFactory::setCamera | ( | Camera * | camera | ) | [private] |
Connect a camera to this factory. This is called by Camera.
Definition at line 52 of file projection_matrix_factory.cpp.
void rve_render_client::ProjectionMatrixFactory::updateCamera | ( | ) | [protected] |
Subclasses should call this function after a change is made which would affect the output of makeMatrix().
Definition at line 44 of file projection_matrix_factory.cpp.
friend class Camera [friend] |
Definition at line 71 of file projection_matrix_factory.h.
float rve_render_client::ProjectionMatrixFactory::aspect_ratio_ [protected] |
Width over height.
Definition at line 68 of file projection_matrix_factory.h.
Definition at line 75 of file projection_matrix_factory.h.