#ifndef VTKDataProcessingWIDGET_H__
#define VTKDataProcessingWIDGET_H__

#include <QWidget>
#include "Ui_VTKDataProcessingWidget.h"

#include "ritkRImage.h"

class VTKDataProcessingWidget : public QWidget, public Ui_VTKDataProcessingWidget
{
	Q_OBJECT

public:
	/// Constructor
	VTKDataProcessingWidget();
	/// Destructor
	~VTKDataProcessingWidget();


		/** @name Typedefs for the range image and components*/
	//@{
	typedef ritk::RImageF2 RImageType;
	typedef RImageType::Pointer RImagePointer;
	typedef RImageType::ConstPointer RImageConstPointer;
	//@}

signals:
  void PushButtonLoadRangeData();
	void PushButtonLoadVTKData();
	void PushButtonSaveData();
	void PushButtonPerformSegmentation();
	void PushButtonPerformTriangulation();
	void PushButtonPerformDecimation();

	void PushButtonSaveRangeData();
	void PushButtonSaveFlagData();

public slots:
	void UpdateGUI();

protected slots:
	void PushButtonLoadRangeDataClicked();
	void PushButtonLoadVTKDataClicked();
	void PushButtonSaveDataClicked();
	void PushButtonPerformSegmentationClicked();
	void PushButtonPerformTriangulationClicked();
	void PushButtonPerformDecimationClicked();

	void PushButtonSaveRangeDataClicked();
	void PushButtonSaveFlagDataClicked();
};

#endif // VTKDataProcessingWIDGET_H__

