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

#ifndef NATIVE_EXTENSION_VTK_VTKGRADIENTFILTERWRAP_H
#define NATIVE_EXTENSION_VTK_VTKGRADIENTFILTERWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkGradientFilter.h>

#include "vtkDataSetAlgorithmWrap.h"
#include "../../plus/plus.h"

class VtkGradientFilterWrap : public VtkDataSetAlgorithmWrap
{
	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);

		VtkGradientFilterWrap(vtkSmartPointer<vtkGradientFilter>);
		VtkGradientFilterWrap();
		~VtkGradientFilterWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void ComputeDivergenceOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeDivergenceOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeGradientOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeGradientOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeQCriterionOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeQCriterionOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeVorticityOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeVorticityOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void FasterApproximationOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void FasterApproximationOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeDivergence(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeGradient(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeQCriterion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeVorticity(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetContributingCellOption(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetContributingCellOptionMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetContributingCellOptionMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDivergenceArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFasterApproximation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetQCriterionArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReplacementValueOption(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReplacementValueOptionMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetReplacementValueOptionMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetResultArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetVorticityArrayName(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 SetComputeDivergence(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeGradient(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeQCriterion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeVorticity(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetContributingCellOption(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetDivergenceArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetFasterApproximation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetInputScalars(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQCriterionArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetReplacementValueOption(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetResultArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetVorticityArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKGRADIENTFILTERWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKGRADIENTFILTERWRAP_CLASSDEF
#endif
};

#endif
