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

#ifndef NATIVE_EXTENSION_VTK_VTKSPHINTERPOLATORWRAP_H
#define NATIVE_EXTENSION_VTK_VTKSPHINTERPOLATORWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkSPHInterpolator.h>

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

class VtkSPHInterpolatorWrap : 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);

		VtkSPHInterpolatorWrap(vtkSmartPointer<vtkSPHInterpolator>);
		VtkSPHInterpolatorWrap();
		~VtkSPHInterpolatorWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void ClearDerivativeArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ClearExcludedArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeShepardSumOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeShepardSumOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeShepardSum(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDerivativeArray(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetExcludedArray(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetKernel(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetLocator(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNullPointsStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNullValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfDerivativeArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfExcludedArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPassCellArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPassFieldArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPassPointArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPromoteOutputArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSource(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassCellArraysOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassCellArraysOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassFieldArraysOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassFieldArraysOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassPointArraysOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PassPointArraysOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PromoteOutputArraysOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PromoteOutputArraysOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeShepardSum(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetKernel(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetLocator(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNullPointsStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNullPointsStrategyToMaskPoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNullPointsStrategyToNullValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNullValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetPassCellArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetPassFieldArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetPassPointArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetPromoteOutputArrays(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSourceConnection(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSourceData(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKSPHINTERPOLATORWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKSPHINTERPOLATORWRAP_CLASSDEF
#endif
};

#endif
