package sketchbook.generators
{
/* 複数の波形を合成して新しい波形を作るGenerator
*
* @example
* var generator1:IGenerator = new SineGenerator(5,5);
* var generator2:IGenerator = new SquareGenerator(10,0);
* var compGenerator:IGenerator = new CompositeGenerator( [generator1, generator2], 1, 0 );
*
* trace(compGenerator.value) //合成した波を返す
* trace(compGenerator.update());
*
*/
public class CompositeGenerator extends Generator
{
public var amplitude:Number
public var offset:Number
protected var _generators:Array
/**
* 複数の波形を合成して新しい波形を作るGenerator
*
* @param generators 合成するIGenerator配列
* @param amplitude 増幅値
* @param offset 補正値
*/
public function CompositeGenerator(generators:Array, amplitude:Number=1, offset:Number=0)
{
this.amplitude = amplitude
this.offset = offset
_generators = new Array();
var imax:int = generators.length
for(var i:int=0; i