Go to the documentation of this file.
28 #ifndef __ControllerManager_H__
29 #define __ControllerManager_H__
204 Real timeFactor = 1.0f);
304 #endif // __ControllerManager_H__
ControllerValueRealPtr mFrameTimeController
Global predefined controller.
Class representing the state of a single texture unit during a Pass of a Technique,...
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
static ControllerManager & getSingleton(void)
Override standard Singleton retrieval.
Controller< Real > * createTextureAnimator(TextureUnitState *layer, Real sequenceTime)
Creates a texture layer animator controller.
void setFrameDelay(Real fd)
Sets a constant frame rate.
Class for managing Controller instances.
ControllerFunctionRealPtr mPassthroughFunction
Global predefined controller.
void updateAllControllers(void)
Updates all the registered controllers.
WaveformType
Enumerates the wave types usable with the Ogre engine.
Controller< Real > * createGpuProgramTimerParam(GpuProgramParametersSharedPtr params, size_t paramIndex, Real timeFactor=1.0f)
Creates a controller for passing a frame time value through to a vertex / fragment program parameter.
SharedPtr< ControllerFunction< Real > > ControllerFunctionRealPtr
const ControllerFunctionRealPtr & getPassthroughControllerFunction(void) const
Retrieve a simple passthrough controller function.
Real getElapsedTime(void) const
Return the elapsed time.
Controller< Real > * createTextureUVScroller(TextureUnitState *layer, Real speed)
Creates a basic time-based texture uv coordinate modifier designed for creating scrolling textures.
Real getTimeFactor(void) const
Return relative speed of time as perceived by time based controllers.
unsigned long mLastFrameNumber
Last frame number updated.
Controller< Real > * createTextureRotater(TextureUnitState *layer, Real speed)
Creates a basic time-based texture coordinate modifier designed for creating rotating textures.
void setElapsedTime(Real elapsedTime)
Set the elapsed time.
Controller< Real > * createTextureWaveTransformer(TextureUnitState *layer, TextureUnitState::TextureTransformType ttype, WaveformType waveType, Real base=0, Real frequency=1, Real phase=0, Real amplitude=1)
Creates a very flexible time-based texture transformation which can alter the scale,...
Template class for creating single-instance global classes.
Controller< Real > * createTextureUScroller(TextureUnitState *layer, Real uSpeed)
Creates a basic time-based texture u coordinate modifier designed for creating scrolling textures.
Controller< Real > * createTextureVScroller(TextureUnitState *layer, Real vSpeed)
Creates a basic time-based texture v coordinate modifier designed for creating scrolling textures.
Reference-counted shared pointer, used for objects where implicit destruction is required.
set< Controller< Real > * >::type ControllerList
TextureTransformType
Useful enumeration when dealing with procedural transforms.
Controller< Real > * createFrameTimePassthroughController(const ControllerValueRealPtr &dest)
Creates a new controller use frame time source and passthrough controller function.
float Real
Software floating point type.
void destroyController(Controller< Real > *controller)
Removes & destroys the controller passed in as a pointer.
void clearControllers(void)
Destroys all the controllers in existence.
static ControllerManager * getSingletonPtr(void)
Override standard Singleton retrieval.
Controller< Real > * createController(const ControllerValueRealPtr &src, const ControllerValueRealPtr &dest, const ControllerFunctionRealPtr &func)
Creates a new controller and registers it with the manager.
const ControllerValueRealPtr & getFrameTimeSource(void) const
Returns a ControllerValue which provides the time since the last frame as a control value source.
ControllerList mControllers
SharedPtr< ControllerValue< Real > > ControllerValueRealPtr
void setTimeFactor(Real tf)
Set the relative speed to update frame time based controllers.
Real getFrameDelay(void) const
Gets the constant that is added to time lapsed between each frame.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.