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

	Program:		Range Imaging Toolkit (RITK)
	Module:			OpenGLFloatVolumeRayCastControlUnit.h
	Version:		$Revision: 2457 $
	Date:			$Date: 2012-01-24 14:12:33 +0100 (Di, 24 Jan 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 RITKOPENGLFLOATVOLUMERAYCASTCONTROLUNIT_H__
#define RITKOPENGLFLOATVOLUMERAYCASTCONTROLUNIT_H__

#include "ritkVisualization.h"

#include <QMutex>

#include "ui_ritkOpenGLFloatVolumeRayCastControlUnit.h"

#include "ritkRImage.h"
#include "ritkImagePayloadVisualizationConfig.h"

namespace ritk
{

/**	@ingroup	Visualization
 *	@class		OpenGLFloatVolumeRayCastControlUnit
 *	@author		Jakob Wasza
 *	@brief		A controller for float volume raycasting
 *
 *	@details
 */
class VISUALIZATION_EXPORT OpenGLFloatVolumeRayCastControlUnit : public QDockWidget, public Ui_OpenGLFloatVolumeRayCastControlUnit
{
	Q_OBJECT

public:
	/// Constructor
	OpenGLFloatVolumeRayCastControlUnit( QWidget * parent = 0, Qt::WindowFlags flags = 0 );
	/// Destructor
	~OpenGLFloatVolumeRayCastControlUnit();
};

} // ritk

#endif // RITKOPENGLFLOATVOLUMERAYCASTCONTROLUNIT_H__
