Public Member Functions | Private Member Functions | Private Attributes | Friends
rve_render_client::Camera Class Reference

#include <camera.h>

Inheritance diagram for rve_render_client::Camera:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void doCreate (ContextInfo &info)
virtual void doDestroy (ContextInfo &info)
virtual void getContextDependencies (V_UUID &deps)
const rve_msgs::QuaterniongetOrientation ()
const rve_msgs::Vector3getPosition ()
const rve_msgs::Matrix4getProjectionMatrix ()
const ProjectionMatrixFactoryPtr & getProjectionMatrixFactory () const
rve_interfaces::CameraProxy * getProxy (const ContextInfo &info)
ScenegetScene ()
void lookAt (const rve_msgs::Vector3 &point)
template<typename T >
void lookAt (T t)
void move (const rve_msgs::Vector3 &v)
template<typename T >
void move (T t)
void moveRelative (const rve_msgs::Vector3 &v)
template<typename T >
void moveRelative (T t)
void rotate (const rve_msgs::Quaternion &q)
template<typename T >
void rotate (T t)
template<typename T >
void rotateRelative (T t)
void setAspectRatio (float width_over_height)
void setDirection (const rve_msgs::Vector3 &dir)
void setOrientation (const rve_msgs::Quaternion &orient)
template<typename T >
void setOrientation (T t)
void setPosition (const rve_msgs::Vector3 &pos)
template<typename T >
void setPosition (T t)
void setProjectionMatrixFactory (const ProjectionMatrixFactoryPtr &factory)
void setTransform (const rve_msgs::Vector3 &pos, const rve_msgs::Quaternion &orient)
template<typename V , typename Q >
void setTransform (V v, Q q)

Private Member Functions

 Camera ()
void setProjectionMatrix (const rve_msgs::Matrix4 &matrix)
 ~Camera ()

Private Attributes

float aspect_ratio_
rve_msgs::Quaternion orientation_
rve_msgs::Vector3 position_
rve_msgs::Matrix4 projection_matrix_
ProjectionMatrixFactoryPtr projection_matrix_factory_
uint32_t proxy_index_
Scenescene_

Friends

CameraPtr createCamera (Scene *)
class ProjectionMatrixFactory

Detailed Description

Definition at line 49 of file camera.h.


Constructor & Destructor Documentation

Definition at line 53 of file camera.cpp.

Definition at line 61 of file camera.cpp.


Member Function Documentation

Implements rve_render_client::SceneObject.

Definition at line 66 of file camera.cpp.

Implements rve_render_client::SceneObject.

Definition at line 79 of file camera.cpp.

virtual void rve_render_client::Camera::getContextDependencies ( V_UUID deps) [inline, virtual]

Implements rve_render_client::SceneObject.

Definition at line 54 of file camera.h.

Definition at line 135 of file camera.h.

Definition at line 134 of file camera.h.

Definition at line 136 of file camera.h.

const ProjectionMatrixFactoryPtr& rve_render_client::Camera::getProjectionMatrixFactory ( ) const [inline]

Definition at line 82 of file camera.h.

rve_interfaces::CameraProxy * rve_render_client::Camera::getProxy ( const ContextInfo info)

Definition at line 90 of file camera.cpp.

Definition at line 84 of file camera.h.

Set the orientation of the camera such that it points toward the given point. See setOrientation() for the coordinate frame.

Definition at line 123 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::lookAt ( t) [inline]

Definition at line 99 of file camera.h.

Definition at line 129 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::move ( t) [inline]

Definition at line 105 of file camera.h.

Definition at line 138 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::moveRelative ( t) [inline]

Definition at line 111 of file camera.h.

Definition at line 148 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::rotate ( t) [inline]

Definition at line 117 of file camera.h.

template<typename T >
void rve_render_client::Camera::rotateRelative ( t) [inline]

Definition at line 123 of file camera.h.

void rve_render_client::Camera::setAspectRatio ( float  width_over_height)

Definition at line 179 of file camera.cpp.

Set the orientation of the camera such that it points in the direction described by the given direction vector. See setOrientation() for the coordinate frame.

Definition at line 110 of file camera.cpp.

Set the orientation of the camera relative to the world. For the purposes of this function, the camera points in the +X direction, with +Z pointing up in the image frame and +Y pointing to the left.

Definition at line 104 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::setOrientation ( t) [inline]

Definition at line 93 of file camera.h.

Definition at line 98 of file camera.cpp.

template<typename T >
void rve_render_client::Camera::setPosition ( t) [inline]

Definition at line 87 of file camera.h.

Set the projection matrix.

The matrix is 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().

setProjectionMatrix() is private because it should be set by a ProjectionMatrixFactory.

Parameters:
matrixthe new projection matrix.

Definition at line 163 of file camera.cpp.

void rve_render_client::Camera::setProjectionMatrixFactory ( const ProjectionMatrixFactoryPtr &  factory)

Definition at line 169 of file camera.cpp.

Definition at line 157 of file camera.cpp.

template<typename V , typename Q >
void rve_render_client::Camera::setTransform ( v,
q 
) [inline]

Definition at line 129 of file camera.h.


Friends And Related Function Documentation

CameraPtr createCamera ( Scene scene) [friend]
friend class ProjectionMatrixFactory [friend]

Definition at line 159 of file camera.h.


Member Data Documentation

Width over height.

Definition at line 173 of file camera.h.

Definition at line 162 of file camera.h.

Definition at line 161 of file camera.h.

Definition at line 163 of file camera.h.

ProjectionMatrixFactoryPtr rve_render_client::Camera::projection_matrix_factory_ [private]

Definition at line 170 of file camera.h.

Definition at line 164 of file camera.h.

Definition at line 166 of file camera.h.


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


rve_render_client
Author(s): Josh Faust
autogenerated on Wed Dec 11 2013 14:31:32