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

Emma::RenderableOgreCamera Class Reference

RenderableOgre extends Renderable specializes for handling Ogre assets. More...

#include <EmmaRenderableOgreCamera.h>

Inheritance diagram for Emma::RenderableOgreCamera:

Emma::RenderableOgre Emma::ICamera Emma::Renderable Emma::IRenderable List of all members.

Public Member Functions

 RenderableOgreCamera (Fusion::IObject *, RenderableType, IRenderable *)
virtual ~RenderableOgreCamera ()
virtual Fusion::ResultType processAssets (RenderManager *)
 called after creation to create the internal ogre structure for this renderable
virtual Fusion::ResultType beginFieldFiring (const char *property, const Fusion::Value &value)
 When an Emma object changes, this method should be called on the corresponding Emma Renderable object.
virtual void setMovableObject (void *m)
 set the ogre object pointer of this object
virtual void setPosition (const Fusion::Vec3f &)
 Set the position of the eye point.
virtual Fusion::Vec3f getPosition ()
 Get the position of the eye point.
virtual void move (const Fusion::Vec3f &)
 Moves the camera's position by the vector offset provided along world axes.
virtual void moveRelative (const Fusion::Vec3f &)
 Moves the camera's position by the vector offset provided along it's own axes (relative to orientation).
virtual void setDirection (const Fusion::Vec3f &)
 Sets the camera's direction (lookAt) vector.
virtual Fusion::Vec3f getDirection ()
 Gets the camera's direction (lookAt) vector.
virtual Fusion::Vec3f getUp ()
 Gets the camera's up vector.
virtual Fusion::Vec3f getRight ()
 Gets the camera's right vector.
virtual void lookAt (const Fusion::Vec3f &)
 Points the camera at a location in world space.
virtual void rotate (const Fusion::Rotation &)
 Rotates the camera around an arbitrary axis (relative to its current orientation).
virtual void setOrientation (const Fusion::Rotation &)
 Sets the camera's orientation.
virtual Fusion::Rotation getOrientation ()
 Gets the camera's orientation.
virtual void setNearLimit (float)
 Sets the camera's near limit.
virtual float getNearLimit ()
 Gets the camera's near limit.
virtual void setVisibilityLimit (float)
 Sets the camera's visibility (far) limit.
virtual float getVisibilityLimit ()
 Gets the camera's visibility (far) limit.
virtual void setAspectRatio (float)
 Sets the camera's aspect ratio.
virtual float getAspectRatio ()
 Gets the camera's aspect ratio.
virtual void setFieldOfView (float)
 Sets the camera's field of view in the y-dimention.
virtual float getFieldOfView ()
 Gets the camera's field of view in the y-dimention.
virtual void setProjectionType (const Fusion::UTF8String &)
 Set the camera's projection type: currently only ORTHO or PERSPECTIVE.
virtual Fusion::UTF8String getProjectionType ()
 Get the camera's projection type.
virtual Fusion::ResultType setViewpoint (const Fusion::IObject *vp)
 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 *vp)
 Bind the camera to the given Viewpoint object.
virtual Fusion::IObjectgetBoundViewpoint ()
 Returns the currently bound viewpoint object, or NULL if no Viewpoint is bound.
virtual void getProjectionMatrix (Matrix &mat) const
 Get a SFMatrix3D representing the Camera's projection matrix to transform between world coordinates and normalized device coordinates.
virtual void getViewMatrix (Matrix &mat) const
 Get a SFMatrix3D representing the Camera's view matrix which transforms the camera position and orientation.
Ogre::Camera * getOgreCamera ()
void setWindowAspectRatio (float a)
 Remember the aspect ratio of the window.
void setOgreInstance (OgreInstance *o)
 Which OgreInstance are we viewing with this camera?

Detailed Description

RenderableOgre extends Renderable specializes for handling Ogre assets.


Constructor & Destructor Documentation

Emma::RenderableOgreCamera::RenderableOgreCamera Fusion::IObject ,
RenderableType  ,
IRenderable
 

virtual Emma::RenderableOgreCamera::~RenderableOgreCamera  )  [virtual]
 


Member Function Documentation

virtual Fusion::ResultType Emma::RenderableOgreCamera::beginFieldFiring const char *  property,
const Fusion::Value value
[virtual]
 

When an Emma object changes, this method should be called on the corresponding Emma Renderable object.

Reimplemented from Emma::RenderableOgre.

virtual Fusion::ResultType Emma::RenderableOgreCamera::bindToViewpoint Fusion::IObject vp  )  [inline, 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.

Implements Emma::ICamera.

virtual float Emma::RenderableOgreCamera::getAspectRatio  )  [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.

Implements Emma::ICamera.

virtual Fusion::IObject* Emma::RenderableOgreCamera::getBoundViewpoint  )  [inline, virtual]
 

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

Implements Emma::ICamera.

virtual Fusion::Vec3f Emma::RenderableOgreCamera::getDirection  )  [virtual]
 

Gets the camera's direction (lookAt) vector.

Implements Emma::ICamera.

virtual float Emma::RenderableOgreCamera::getFieldOfView  )  [virtual]
 

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

Implements Emma::ICamera.

virtual float Emma::RenderableOgreCamera::getNearLimit  )  [virtual]
 

Gets the camera's near limit.

Implements Emma::ICamera.

Ogre::Camera* Emma::RenderableOgreCamera::getOgreCamera  )  [inline]
 

virtual Fusion::Rotation Emma::RenderableOgreCamera::getOrientation  )  [virtual]
 

Gets the camera's orientation.

Implements Emma::ICamera.

virtual Fusion::Vec3f Emma::RenderableOgreCamera::getPosition  )  [virtual]
 

Get the position of the eye point.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::getProjectionMatrix Matrix mat  )  const [virtual]
 

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

Implements Emma::ICamera.

virtual Fusion::UTF8String Emma::RenderableOgreCamera::getProjectionType  )  [virtual]
 

Get the camera's projection type.

Implements Emma::ICamera.

virtual Fusion::Vec3f Emma::RenderableOgreCamera::getRight  )  [virtual]
 

Gets the camera's right vector.

Implements Emma::ICamera.

virtual Fusion::Vec3f Emma::RenderableOgreCamera::getUp  )  [virtual]
 

Gets the camera's up vector.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::getViewMatrix Matrix mat  )  const [virtual]
 

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

Implements Emma::ICamera.

virtual float Emma::RenderableOgreCamera::getVisibilityLimit  )  [virtual]
 

Gets the camera's visibility (far) limit.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::lookAt const Fusion::Vec3f  )  [virtual]
 

Points the camera at a location in world space.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::move const Fusion::Vec3f  )  [virtual]
 

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

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::moveRelative const Fusion::Vec3f  )  [virtual]
 

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

Implements Emma::ICamera.

virtual Fusion::ResultType Emma::RenderableOgreCamera::processAssets RenderManager  )  [virtual]
 

called after creation to create the internal ogre structure for this renderable

Reimplemented from Emma::RenderableOgre.

virtual void Emma::RenderableOgreCamera::rotate const Fusion::Rotation  )  [virtual]
 

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

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setAspectRatio float   )  [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.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setDirection const Fusion::Vec3f  )  [virtual]
 

Sets the camera's direction (lookAt) vector.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setFieldOfView float   )  [virtual]
 

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

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setMovableObject void *  m  )  [inline, virtual]
 

set the ogre object pointer of this object

Reimplemented from Emma::Renderable.

virtual void Emma::RenderableOgreCamera::setNearLimit float   )  [virtual]
 

Sets the camera's near limit.

Implements Emma::ICamera.

void Emma::RenderableOgreCamera::setOgreInstance OgreInstance o  ) 
 

Which OgreInstance are we viewing with this camera?

virtual void Emma::RenderableOgreCamera::setOrientation const Fusion::Rotation  )  [virtual]
 

Sets the camera's orientation.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setPosition const Fusion::Vec3f  )  [virtual]
 

Set the position of the eye point.

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setProjectionType const Fusion::UTF8String  )  [virtual]
 

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

Implements Emma::ICamera.

virtual Fusion::ResultType Emma::RenderableOgreCamera::setViewpoint const Fusion::IObject vp  )  [inline, virtual]
 

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

Implements Emma::ICamera.

virtual void Emma::RenderableOgreCamera::setVisibilityLimit float   )  [virtual]
 

Sets the camera's visibility (far) limit.

Implements Emma::ICamera.

void Emma::RenderableOgreCamera::setWindowAspectRatio float  a  ) 
 

Remember the aspect ratio of the window.

..which is used if setAspectRatio(0.0f) is called. Will have the side effect of actually setting the aspect ratio if the current aspect ratio is 0.0f, unless called with 0.0f.


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