/* this file has been autogenerated by vtkNodeJsWrap */
/* editing this might proof futile */

#ifndef NATIVE_EXTENSION_VTK_VTKGREEDYTERRAINDECIMATIONWRAP_H
#define NATIVE_EXTENSION_VTK_VTKGREEDYTERRAINDECIMATIONWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkGreedyTerrainDecimation.h>

#include "vtkPolyDataAlgorithmWrap.h"
#include "../../plus/plus.h"

class VtkGreedyTerrainDecimationWrap : public VtkPolyDataAlgorithmWrap
{
	public:
		using Nan::ObjectWrap::Wrap;
		static void Init(v8::Local<v8::Object> exports);
		static void InitPtpl();
		static void ConstructorGetter(
			v8::Local<v8::String> property,
			const Nan::PropertyCallbackInfo<v8::Value>& info);

		VtkGreedyTerrainDecimationWrap(vtkSmartPointer<vtkGreedyTerrainDecimation>);
		VtkGreedyTerrainDecimationWrap();
		~VtkGreedyTerrainDecimationWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

	private:
		static void New(const Nan::FunctionCallbackInfo<v8::Value>& info);

		static void BoundaryVertexDeletionOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void BoundaryVertexDeletionOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeNormalsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeNormalsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetAbsoluteError(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetAbsoluteErrorMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetAbsoluteErrorMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetBoundaryVertexDeletion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetErrorMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetErrorMeasureMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetErrorMeasureMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReduction(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReductionMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReductionMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetRelativeError(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetRelativeErrorMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetRelativeErrorMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetAbsoluteError(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetBoundaryVertexDeletion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetErrorMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetErrorMeasureToAbsoluteError(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetErrorMeasureToNumberOfTriangles(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetErrorMeasureToRelativeError(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetErrorMeasureToSpecifiedReduction(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetReduction(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetRelativeError(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKGREEDYTERRAINDECIMATIONWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKGREEDYTERRAINDECIMATIONWRAP_CLASSDEF
#endif
};

#endif
