OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::WaveformControllerFunction Class Reference

Predefined controller function based on a waveform. More...

#include <OgrePredefinedControllers.h>

+ Inheritance diagram for Ogre::WaveformControllerFunction:
+ Collaboration diagram for Ogre::WaveformControllerFunction:

Public Member Functions

 WaveformControllerFunction (WaveformType wType, Real base=0, Real frequency=1, Real phase=0, Real amplitude=1, bool deltaInput=true, Real dutyCycle=0.5)
 Default constructor, requires at least a wave type, other parameters can be defaulted unless required. More...
 
Real calculate (Real source)
 Overridden function. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 

Protected Member Functions

Real getAdjustedInput (Real input)
 Overridden from ControllerFunction. More...
 

Protected Attributes

Real mAmplitude
 
Real mBase
 
Real mDeltaCount
 
bool mDeltaInput
 If true, function will add input values together and wrap at 1.0 before evaluating. More...
 
Real mDutyCycle
 
Real mFrequency
 
Real mPhase
 
WaveformType mWaveType
 

Detailed Description

Predefined controller function based on a waveform.

Remarks
A waveform function translates parametric input to parametric output based on a wave. The factors affecting the function are:
  • wave type - the shape of the wave
  • base - the base value of the output from the wave
  • frequency - the speed of the wave in cycles per second
  • phase - the offset of the start of the wave, e.g. 0.5 to start half-way through the wave
  • amplitude - scales the output so that instead of lying within [0,1] it lies within [0,1] * amplitude
  • duty cycle - the active width of a PWM signal
Note that for simplicity of integration with the rest of the controller insfrastructure, the output of the wave is parametric i.e. 0..1, rather than the typical wave output of [-1,1]. To compensate for this, the traditional output of the wave is scaled by the following function before output:
output = (waveoutput + 1) * 0.5
Hence a wave output of -1 becomes 0, a wave output of 1 becomes 1, and a wave output of 0 becomes 0.5.

Definition at line 257 of file OgrePredefinedControllers.h.

Constructor & Destructor Documentation

Ogre::WaveformControllerFunction::WaveformControllerFunction ( WaveformType  wType,
Real  base = 0,
Real  frequency = 1,
Real  phase = 0,
Real  amplitude = 1,
bool  deltaInput = true,
Real  dutyCycle = 0.5 
)

Default constructor, requires at least a wave type, other parameters can be defaulted unless required.

Parameters
deltaInputIf true, signifies that the input will be a delta value such that the function should add it to an internal counter before calculating the output.
dutyCycleUsed in PWM mode to specify the pulse width.

Member Function Documentation

Real Ogre::WaveformControllerFunction::calculate ( Real  source)
virtual

Overridden function.

Implements Ogre::ControllerFunction< Real >.

Real Ogre::WaveformControllerFunction::getAdjustedInput ( Real  input)
protected

Overridden from ControllerFunction.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

Member Data Documentation

Real Ogre::WaveformControllerFunction::mAmplitude
protected

Definition at line 264 of file OgrePredefinedControllers.h.

Real Ogre::WaveformControllerFunction::mBase
protected

Definition at line 261 of file OgrePredefinedControllers.h.

Real Ogre::ControllerFunction< Real >::mDeltaCount
protectedinherited

Definition at line 60 of file OgreController.h.

bool Ogre::ControllerFunction< Real >::mDeltaInput
protectedinherited

If true, function will add input values together and wrap at 1.0 before evaluating.

Definition at line 59 of file OgreController.h.

Real Ogre::WaveformControllerFunction::mDutyCycle
protected

Definition at line 265 of file OgrePredefinedControllers.h.

Real Ogre::WaveformControllerFunction::mFrequency
protected

Definition at line 262 of file OgrePredefinedControllers.h.

Real Ogre::WaveformControllerFunction::mPhase
protected

Definition at line 263 of file OgrePredefinedControllers.h.

WaveformType Ogre::WaveformControllerFunction::mWaveType
protected

Definition at line 260 of file OgrePredefinedControllers.h.


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