/*
 * Pipeline.cpp
 *
 *  Created on: Jun 17, 2008
 *      Author: pete
 */
#include "Pipeline.hpp"
#include "wipemalloc.h"

Pipeline::Pipeline() : staticPerPixel(false),gx(0),gy(0),blur1n(1), blur2n(1), blur3n(1),
blur1x(1), blur2x(1), blur3x(1),
blur1ed(1){}

void Pipeline::setStaticPerPixel(int gx, int gy)
{
	 staticPerPixel = true;
	 this->gx = gx;
	 this->gy = gy;

		this->x_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) );
		for ( int x = 0; x < gx; x++ )
		{
			this->x_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) );
		}
		this->y_mesh= ( float ** ) wipemalloc ( gx * sizeof ( float * ) );
		for ( int x = 0; x < gx; x++ )
		{
			this->y_mesh[x] = ( float * ) wipemalloc ( gy * sizeof ( float ) );
		}

}

Pipeline::~Pipeline()
{
if (staticPerPixel)
{
	for ( int x = 0; x < this->gx; x++ )
	{
		free(this->x_mesh[x]);
		free(this->y_mesh[x]);
	}
	free(x_mesh);
	free(y_mesh);
}
}

//void Pipeline::Render(const BeatDetect &music, const PipelineContext &context){}
PixelPoint Pipeline::PerPixel(PixelPoint p, const PerPixelContext context)
{return p;}