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

# Ogre::WaveformControllerFunction Class Reference

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

`#include <OgrePredefinedControllers.h>`

Inheritance diagram for Ogre::WaveformControllerFunction:

[legend]
List of all members.

## Public Methods

| WaveformControllerFunction (WaveformType wType, Real base=0, Real frequency=1, Real phase=0, Real amplitude=1, bool deltaInput=true)
| Default contructor, requires at least a wave type, other parameters can be defaulted unless required.
Real | calculate (Real source)
| Overriden function.

## Protected Methods

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

## Protected Attributes

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

## Detailed Description

Predefined controller function based on a waveform.

Remarks:
  A waveform function translates parametric intput 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

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 ouput of 1 becomes 1, and a wave output of 0 becomes 0.5.

Definition at line 218 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
| ) |

Default contructor, 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.

Definition at line 229 of file OgrePredefinedControllers.cpp.

References mAmplitude, mBase, Ogre::ControllerFunction< Real >::mDeltaCount, mFrequency, mPhase, mWaveType, Ogre::Real, and Ogre::WaveformType.

## Member Function Documentation

Real Ogre::WaveformControllerFunction::calculate | ( | Real | source | ) | `[virtual]`

| Overriden function. Implements Ogre::ControllerFunction< Real >. Definition at line 255 of file OgrePredefinedControllers.cpp. References getAdjustedInput(), mAmplitude, mBase, mFrequency, Ogre::Real, Ogre::WFT_INVERSE_SAWTOOTH, Ogre::WFT_SAWTOOTH, Ogre::WFT_SINE, Ogre::WFT_SQUARE, and Ogre::WFT_TRIANGLE.

Real Ogre::WaveformControllerFunction::getAdjustedInput | ( | Real | input | ) | `[protected]`

| Overridden from ControllerFunction. Reimplemented from Ogre::ControllerFunction< Real >. Definition at line 241 of file OgrePredefinedControllers.cpp. References Ogre::ControllerFunction< Real >::mDeltaInput, mPhase, and Ogre::Real. Referenced by calculate().

## Member Data Documentation

Real Ogre::WaveformControllerFunction::mAmplitude`[protected]`

| Definition at line 225 of file OgrePredefinedControllers.h. Referenced by calculate(), and WaveformControllerFunction().

Real Ogre::WaveformControllerFunction::mBase`[protected]`

| Definition at line 222 of file OgrePredefinedControllers.h. Referenced by calculate(), and WaveformControllerFunction().

Real Ogre::ControllerFunction< Real >::mDeltaCount`[protected, inherited]`

| Definition at line 52 of file OgreController.h. Referenced by WaveformControllerFunction().

bool Ogre::ControllerFunction< Real >::mDeltaInput`[protected, inherited]`

| If true, function will add imput values together and wrap at 1.0 before evaluating. Definition at line 51 of file OgreController.h. Referenced by getAdjustedInput().

Real Ogre::WaveformControllerFunction::mFrequency`[protected]`

| Definition at line 223 of file OgrePredefinedControllers.h. Referenced by calculate(), and WaveformControllerFunction().

Real Ogre::WaveformControllerFunction::mPhase`[protected]`

| Definition at line 224 of file OgrePredefinedControllers.h. Referenced by getAdjustedInput(), and WaveformControllerFunction().

WaveformType Ogre::WaveformControllerFunction::mWaveType`[protected]`

| Definition at line 221 of file OgrePredefinedControllers.h. Referenced by WaveformControllerFunction().

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

- OgrePredefinedControllers.h
- OgrePredefinedControllers.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:47 2004