toxi.math.waves
Class FMSquareWave

java.lang.Object
  extended by toxi.math.waves.AbstractWave
      extended by toxi.math.waves.FMSquareWave

public class FMSquareWave
extends AbstractWave

Frequency modulated bandwidth unlimited pure digital square wave. Uses a secondary wave to modulate the frequency of the main wave.

Note: You must NEVER call the update() method on the modulating wave.


Field Summary
 AbstractWave fmod
           
 
Fields inherited from class toxi.math.waves.AbstractWave
amp, frequency, offset, phase, PI, TWO_PI, value
 
Constructor Summary
FMSquareWave(float phase, float freq, AbstractWave fmod)
           
FMSquareWave(float phase, float freq, float amp, float offset)
          Convenience constructor to create a non frequency modulated square wave
FMSquareWave(float phase, float freq, float amp, float offset, AbstractWave fmod)
           
 
Method Summary
 void pop()
           
 void push()
           
 void reset()
          Resets this wave and its modulating wave as well.
 float update()
          Progresses the wave and updates the result value.
 
Methods inherited from class toxi.math.waves.AbstractWave
cyclePhase, cyclePhase, hertzToRadians, radiansToHertz, setPhase, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fmod

public AbstractWave fmod
Constructor Detail

FMSquareWave

public FMSquareWave(float phase,
                    float freq,
                    AbstractWave fmod)

FMSquareWave

public FMSquareWave(float phase,
                    float freq,
                    float amp,
                    float offset)
Convenience constructor to create a non frequency modulated square wave

Parameters:
phase -
freq - base frequency (in radians)
amp -
offset -

FMSquareWave

public FMSquareWave(float phase,
                    float freq,
                    float amp,
                    float offset,
                    AbstractWave fmod)
Method Detail

pop

public void pop()
Overrides:
pop in class AbstractWave

push

public void push()
Overrides:
push in class AbstractWave

reset

public void reset()
Resets this wave and its modulating wave as well.

Overrides:
reset in class AbstractWave
See Also:
AbstractWave.reset()

update

public float update()
Progresses the wave and updates the result value. You must NEVER call the update() method on the modulating wave since this is handled automatically by this method.

Specified by:
update in class AbstractWave
Returns:
current (newly calculated) wave value
See Also:
AbstractWave.update()