Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Emma::ICamera Class Reference

Abstract interface to the RenderManager for Camera operations. More...

#include <EmmaICamera.h>

Inheritance diagram for Emma::ICamera:

Emma::RenderableOgreCamera List of all members.

Public Member Functions

virtual void setPosition (const Fusion::Vec3f &)=0
 Set the position of the eye point.
virtual Fusion::Vec3f getPosition ()=0
 Get the position of the eye point.
virtual void move (const Fusion::Vec3f &)=0
 Moves the camera's position by the vector offset provided along world axes.
virtual void moveRelative (const Fusion::Vec3f &)=0
 Moves the camera's position by the vector offset provided along it's own axes (relative to orientation).
virtual void setDirection (const Fusion::Vec3f &)=0
 Sets the camera's direction (lookAt) vector.
virtual Fusion::Vec3f getDirection ()=0
 Gets the camera's direction (lookAt) vector.
virtual Fusion::Vec3f getUp ()=0
 Gets the camera's up vector.
virtual Fusion::Vec3f getRight ()=0
 Gets the camera's right vector.
virtual void lookAt (const Fusion::Vec3f &)=0
 Points the camera at a location in world space.
virtual void rotate (const Fusion::Rotation &)=0
 Rotates the camera around an arbitrary axis (relative to its current orientation).
virtual void setOrientation (const Fusion::Rotation &)=0
 Sets the camera's orientation.
virtual Fusion::Rotation getOrientation ()=0
 Gets the camera's orientation.
virtual void setNearLimit (float)=0
 Sets the camera's near limit.
virtual float getNearLimit ()=0
 Gets the camera's near limit.
virtual void setVisibilityLimit (float)=0
 Sets the camera's visibility (far) limit.
virtual float getVisibilityLimit ()=0
 Gets the camera's visibility (far) limit.
virtual void setAspectRatio (float)=0
 Sets the camera's aspect ratio.
virtual float getAspectRatio ()=0
 Gets the camera's aspect ratio.
virtual void setFieldOfView (float)=0
 Sets the camera's field of view in the y-dimention.
virtual float getFieldOfView ()=0
 Gets the camera's field of view in the y-dimention.
virtual void setProjectionType (const Fusion::UTF8String &)=0
 Set the camera's projection type: currently only ORTHO or PERSPECTIVE.
virtual Fusion::UTF8String getProjectionType ()=0
 Get the camera's projection type.
virtual Fusion::ResultType setViewpoint (const Fusion::IObject *)=0
 Set the camera's parameters to match the given Viewpoint object Returns OK if it had any effect, NO_CHANGE otherwise.
virtual Fusion::ResultType bindToViewpoint (Fusion::IObject *)=0
 Bind the camera to the given Viewpoint object.
virtual Fusion::IObjectgetBoundViewpoint ()=0
 Returns the currently bound viewpoint object, or NULL if no Viewpoint is bound.
virtual void getProjectionMatrix (Matrix &mat) const =0
 Get a SFMatrix3D representing the Camera's projection matrix to transform between world coordinates and normalized device coordinates.
virtual void getViewMatrix (Matrix &mat) const =0
 Get a SFMatrix3D representing the Camera's view matrix which transforms the camera position and orientation.

Detailed Description

Abstract interface to the RenderManager for Camera operations.


Member Function Documentation

virtual Fusion::ResultType Emma::ICamera::bindToViewpoint Fusion::IObject  )  [pure virtual]
 

Bind the camera to the given Viewpoint object.

This does not maintain any sort of binding stack. It simply makes sure that the given Viewpoint's motion is reflected by this Camera. Returns OK if viewpoint is bound, NO_CHANGE if the implementation "saves" the passed viewpoint for return by getBoundViewpoint(), but does not have a renderable effect, FAILED otherwise.

Implemented in Emma::RenderableOgreCamera.

virtual float Emma::ICamera::getAspectRatio  )  [pure virtual]
 

Gets the camera's aspect ratio.

Note this will return the current correct aspect ratio, even if set by the window's aspect ratio! This is an important distinction: calling setAspectRatio(getAspectRatio()) will have no apparent effect, until you resize the window; It fixes the aspect ratio at the current window's aspect ratio. Call setAspectRatio(0.0) to have the camera's aspect ratio follow the window's.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::IObject* Emma::ICamera::getBoundViewpoint  )  [pure virtual]
 

Returns the currently bound viewpoint object, or NULL if no Viewpoint is bound.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::Vec3f Emma::ICamera::getDirection  )  [pure virtual]
 

Gets the camera's direction (lookAt) vector.

Implemented in Emma::RenderableOgreCamera.

virtual float Emma::ICamera::getFieldOfView  )  [pure virtual]
 

Gets the camera's field of view in the y-dimention.

Implemented in Emma::RenderableOgreCamera.

virtual float Emma::ICamera::getNearLimit  )  [pure virtual]
 

Gets the camera's near limit.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::Rotation Emma::ICamera::getOrientation  )  [pure virtual]
 

Gets the camera's orientation.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::Vec3f Emma::ICamera::getPosition  )  [pure virtual]
 

Get the position of the eye point.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::getProjectionMatrix Matrix mat  )  const [pure virtual]
 

Get a SFMatrix3D representing the Camera's projection matrix to transform between world coordinates and normalized device coordinates.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::UTF8String Emma::ICamera::getProjectionType  )  [pure virtual]
 

Get the camera's projection type.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::Vec3f Emma::ICamera::getRight  )  [pure virtual]
 

Gets the camera's right vector.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::Vec3f Emma::ICamera::getUp  )  [pure virtual]
 

Gets the camera's up vector.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::getViewMatrix Matrix mat  )  const [pure virtual]
 

Get a SFMatrix3D representing the Camera's view matrix which transforms the camera position and orientation.

Implemented in Emma::RenderableOgreCamera.

virtual float Emma::ICamera::getVisibilityLimit  )  [pure virtual]
 

Gets the camera's visibility (far) limit.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::lookAt const Fusion::Vec3f  )  [pure virtual]
 

Points the camera at a location in world space.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::move const Fusion::Vec3f  )  [pure virtual]
 

Moves the camera's position by the vector offset provided along world axes.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::moveRelative const Fusion::Vec3f  )  [pure virtual]
 

Moves the camera's position by the vector offset provided along it's own axes (relative to orientation).

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::rotate const Fusion::Rotation  )  [pure virtual]
 

Rotates the camera around an arbitrary axis (relative to its current orientation).

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setAspectRatio float   )  [pure virtual]
 

Sets the camera's aspect ratio.

An aspect ratio of 0.0f tells the camera to use the window size as the aspect ratio.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setDirection const Fusion::Vec3f  )  [pure virtual]
 

Sets the camera's direction (lookAt) vector.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setFieldOfView float   )  [pure virtual]
 

Sets the camera's field of view in the y-dimention.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setNearLimit float   )  [pure virtual]
 

Sets the camera's near limit.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setOrientation const Fusion::Rotation  )  [pure virtual]
 

Sets the camera's orientation.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setPosition const Fusion::Vec3f  )  [pure virtual]
 

Set the position of the eye point.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setProjectionType const Fusion::UTF8String  )  [pure virtual]
 

Set the camera's projection type: currently only ORTHO or PERSPECTIVE.

Implemented in Emma::RenderableOgreCamera.

virtual Fusion::ResultType Emma::ICamera::setViewpoint const Fusion::IObject  )  [pure virtual]
 

Set the camera's parameters to match the given Viewpoint object Returns OK if it had any effect, NO_CHANGE otherwise.

Implemented in Emma::RenderableOgreCamera.

virtual void Emma::ICamera::setVisibilityLimit float   )  [pure virtual]
 

Sets the camera's visibility (far) limit.

Implemented in Emma::RenderableOgreCamera.


The documentation for this class was generated from the following file:
Generated on Sat Apr 1 06:08:22 2006 for Emma SDK Guide by  doxygen 1.4.3