OGRE  14.3
Object-Oriented Graphics Rendering Engine
Ogre::WaveformControllerFunction Class Reference

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

#include <OgrePredefinedControllers.h>

+ Inheritance 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)
 
float calculate (float source) override
 
- Public Member Functions inherited from Ogre::ControllerFunction< float >
 ControllerFunction (bool deltaInput)
 Constructor. More...
 
virtual ~ControllerFunction ()
 

Static Public Member Functions

static ControllerFunctionRealPtr create (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...
 

Detailed Description

Predefined controller function based on a waveform.

A waveform function translates parametric input to parametric output based on a wave.

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.

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 
)

Member Function Documentation

◆ create()

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

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

Parameters
wTypethe shape of the wave
basethe base value of the output from the wave
frequencythe speed of the wave in cycles per second
phasethe offset of the start of the wave, e.g. 0.5 to start half-way through the wave
amplitudescales the output so that instead of lying within [0,1] it lies within [0,1] * amplitude
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.

◆ calculate()

float Ogre::WaveformControllerFunction::calculate ( float  source)
overridevirtual

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