/*======================================================================================

	Program:		Range Imaging Toolkit (RITK)
	Module:			ritkLUTs.h
	Version:		$Revision: 2745 $
	Date:			$Date: 2012-03-09 16:16:26 +0100 (Fr, 09 Mrz 2012) $

	Copyright (c) 2010-2011
	Pattern Recognition Lab, 
    University Erlangen-Nuremberg, Germany
    All rights reserved.

	This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
	See RITKCopyright.txt for more information.

	http://www5.informatik.uni-erlangen.de/research/software/ritk

========================================================================================*/


#include "ritkLUTs.h"

#include <cstring>
#include <iostream>


namespace ritk
{


const float *GetLUT(const char *Name, unsigned int *NumElems)
{
	// Get pointer to the LUT
	if ( strcmp(Name, "GrayScale") == 0 )
	{
		*NumElems = 33;
		return LUT_GrayScale;
	}
	else if ( strcmp(Name,"ColdFusion") == 0 )
	{
		*NumElems = 7;
		return LUT_ColdFusion;
	}
	else if ( strcmp(Name,"FireStorm1") == 0 )
	{
		*NumElems = 7;
		return LUT_FireStorm1;
	}
	else if ( strcmp(Name,"FireStorm2") == 0 )
	{
		*NumElems = 7;
		return LUT_FireStorm2;
	}
	else if ( strcmp(Name,"HylaArborea") == 0 )
	{
		*NumElems = 7;
		return LUT_HylaArborea;
	}
	else if ( strcmp(Name,"Jet") == 0)
	{
		*NumElems = 200;
		return LUT_Jet;
	}
	else
	{
		std::cerr << "Invalid LUT: " << Name << std::endl;
		return NULL;
	}
}


} // ritk
