Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::Controller< T > Class Template Reference

Instances of this class 'control' the value of another object in the system. More...

#include <OgreController.h>

List of all members.

Public Member Functions

 Controller (const SharedPtr< ControllerValue< T > > &src, const SharedPtr< ControllerValue< T > > &dest, const SharedPtr< ControllerFunction< T > > &func)
 Usual constructor.

virtual ~Controller ()
 Default d-tor.

void setSource (const SharedPtr< ControllerValue< T > > &src)
 Sets the input controller value.

const SharedPtr< ControllerValue<
T > > & 
getSource (void) const
 Gets the input controller value.

void setDestination (const SharedPtr< ControllerValue< T > > &dest)
 Sets the output controller value.

const SharedPtr< ControllerValue<
T > > & 
getDestination (void) const
 Gets the output controller value.

bool getEnabled (void) const
 Returns true if this controller is currently enabled.

void setEnabled (bool enabled)
 Sets whether this controller is enabled.

void setFunction (const SharedPtr< ControllerFunction< T > > &func)
 Sets the function object to be used by this controller.

const SharedPtr< ControllerFunction<
T > > & 
getFunction (void) const
 Returns a pointer to the function object used by this controller.

void update (void)
 Tells this controller to map it's input controller value to it's output controller value, via the controller function.


Protected Attributes

SharedPtr< ControllerValue<
T > > 
mSource
 Source value.

SharedPtr< ControllerValue<
T > > 
mDest
 Destination value.

SharedPtr< ControllerFunction<
T > > 
mFunc
 Function.

bool mEnabled
 Controller is enabled or not.


Detailed Description

template<typename T>
class Ogre::Controller< T >

Instances of this class 'control' the value of another object in the system.

Remarks:
Controller classes are used to manage the values of object automatically based on the value of some input. For example, a Controller could animate a texture by controlling the current frame of the texture based on time, or a different Controller could change the colour of a material used for a spaceship shield mesh based on the remaining shield power level of the ship.
The Controller is an intentionally abstract concept - it can generate values based on input and a function, which can either be one of the standard ones supplied, or a function can be 'plugged in' for custom behaviour - see the ControllerFunction class for details. Both the input and output values are via ControllerValue objects, meaning that any value can be both input and output of the controller.
Whilst this is very flexible, it can be a little bit confusing so to make it simpler the most often used controller setups are available by calling methods on the ControllerManager object.
See also:
ControllerFunction

Definition at line 127 of file OgreController.h.


Constructor & Destructor Documentation

template<typename T>
Ogre::Controller< T >::Controller const SharedPtr< ControllerValue< T > > &  src,
const SharedPtr< ControllerValue< T > > &  dest,
const SharedPtr< ControllerFunction< T > > &  func
 

Usual constructor.

Remarks:
Requires source and destination values, and a function object. None of these are destroyed with the Controller when it is deleted (they can be shared) so you must delete these as appropriate.

Definition at line 147 of file OgreController.h.

template<typename T>
virtual Ogre::Controller< T >::~Controller  )  [virtual]
 

Default d-tor.

Definition at line 156 of file OgreController.h.


Member Function Documentation

template<typename T>
const SharedPtr< ControllerValue<T> >& Ogre::Controller< T >::getDestination void   )  const
 

Gets the output controller value.

Definition at line 176 of file OgreController.h.

template<typename T>
bool Ogre::Controller< T >::getEnabled void   )  const
 

Returns true if this controller is currently enabled.

Definition at line 182 of file OgreController.h.

template<typename T>
const SharedPtr< ControllerFunction<T> >& Ogre::Controller< T >::getFunction void   )  const
 

Returns a pointer to the function object used by this controller.

Definition at line 202 of file OgreController.h.

template<typename T>
const SharedPtr< ControllerValue<T> >& Ogre::Controller< T >::getSource void   )  const
 

Gets the input controller value.

Definition at line 165 of file OgreController.h.

template<typename T>
void Ogre::Controller< T >::setDestination const SharedPtr< ControllerValue< T > > &  dest  ) 
 

Sets the output controller value.

Definition at line 170 of file OgreController.h.

template<typename T>
void Ogre::Controller< T >::setEnabled bool  enabled  ) 
 

Sets whether this controller is enabled.

Definition at line 188 of file OgreController.h.

template<typename T>
void Ogre::Controller< T >::setFunction const SharedPtr< ControllerFunction< T > > &  func  ) 
 

Sets the function object to be used by this controller.

Definition at line 195 of file OgreController.h.

template<typename T>
void Ogre::Controller< T >::setSource const SharedPtr< ControllerValue< T > > &  src  ) 
 

Sets the input controller value.

Definition at line 160 of file OgreController.h.

template<typename T>
void Ogre::Controller< T >::update void   ) 
 

Tells this controller to map it's input controller value to it's output controller value, via the controller function.

Remarks:
This method is called automatically every frame by ControllerManager.

Definition at line 212 of file OgreController.h.


Member Data Documentation

template<typename T>
SharedPtr< ControllerValue<T> > Ogre::Controller< T >::mDest [protected]
 

Destination value.

Definition at line 133 of file OgreController.h.

template<typename T>
bool Ogre::Controller< T >::mEnabled [protected]
 

Controller is enabled or not.

Definition at line 137 of file OgreController.h.

template<typename T>
SharedPtr< ControllerFunction<T> > Ogre::Controller< T >::mFunc [protected]
 

Function.

Definition at line 135 of file OgreController.h.

template<typename T>
SharedPtr< ControllerValue<T> > Ogre::Controller< T >::mSource [protected]
 

Source value.

Definition at line 131 of file OgreController.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:38:36 2006