Ogre::WaveformControllerFunction Class Reference
Core » General

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

`#include <OgrePredefinedControllers.h>`

Inheritance diagram for Ogre::WaveformControllerFunction:
[legend]

## 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 258 of file OgrePredefinedControllers.h.

## Constructor & Destructor Documentation

## WaveformControllerFunction()

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

  deltaInput | If 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.
  dutyCycle | Used in PWM mode to specify the pulse width.

## Member Function Documentation

## calculate()

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

virtual

Overridden function.

Implements Ogre::ControllerFunction< Real >.

## getAdjustedInput()

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

protected

Overridden from ControllerFunction.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

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

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

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

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

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

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

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

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

## mAmplitude

Real Ogre::WaveformControllerFunction::mAmplitude

protected

Definition at line 265 of file OgrePredefinedControllers.h.

## mBase

Real Ogre::WaveformControllerFunction::mBase

protected

Definition at line 262 of file OgrePredefinedControllers.h.

## mDeltaCount

Real Ogre::ControllerFunction< Real >::mDeltaCount

protected inherited

Definition at line 60 of file OgreController.h.

## mDeltaInput

bool Ogre::ControllerFunction< Real >::mDeltaInput

protected inherited

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

Definition at line 59 of file OgreController.h.

## mDutyCycle

Real Ogre::WaveformControllerFunction::mDutyCycle

protected

Definition at line 266 of file OgrePredefinedControllers.h.

## mFrequency

Real Ogre::WaveformControllerFunction::mFrequency

protected

Definition at line 263 of file OgrePredefinedControllers.h.

## mPhase

Real Ogre::WaveformControllerFunction::mPhase

protected

Definition at line 264 of file OgrePredefinedControllers.h.

## mWaveType

WaveformType Ogre::WaveformControllerFunction::mWaveType

protected

Definition at line 261 of file OgrePredefinedControllers.h.

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

- OgrePredefinedControllers.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.