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

	Program:		Range Imaging Toolkit (RITK)
	Module:			ritkTruncatedSignedDistanceFunctionRayCasterInterfaces.h
	Version:		$Revision: 2956 $
	Date:			$Date: 2012-04-09 19:44:46 +0200 (Mo, 09 Apr 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

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

#ifndef RITKTRUNCATEDSIGNEDDISTANCEFUNCTIONRAYCASTERINTERFACES_H__
#define RITKTRUNCATEDSIGNEDDISTANCEFUNCTIONRAYCASTERINTERFACES_H__

#include "ritkCuda.h"
#include "cuda_runtime.h"

#include "ritkCudaRayCasterInterfaces.h"

//----------------------------------------------------------------------------
/**	@brief	TSDF ray casting
 *	@param	VP	The TSDF volume
 *	@param	RIP	The parameters for the range image
 *	@param	NIP	The parameters for the normal image
 *	@param	PP	The projection parameters
 *	
 *	@details
 */
CUDA_EXPORT
void
ritkTSDFRayCaster(const ritkCudaRayCasterVolumeParameters &VP, const ritkCudaRayCasterProjectionImageParameters<float> &RIP, const ritkCudaRayCasterProjectionImageParameters<float3> &WIP, const ritkCudaRayCasterProjectionParameters &PP, float CutoffValue, float InvalidValue);

#endif // RITKTRUNCATEDSIGNEDDISTANCEFUNCTIONRAYCASTERINTERFACES_H__