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

#ifndef NATIVE_EXTENSION_VTK_VTKSPLINEFILTERWRAP_H
#define NATIVE_EXTENSION_VTK_VTKSPLINEFILTERWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkSplineFilter.h>

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

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

		VtkSplineFilterWrap(vtkSmartPointer<vtkSplineFilter>);
		VtkSplineFilterWrap();
		~VtkSplineFilterWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void GetGenerateTCoords(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetGenerateTCoordsAsString(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetGenerateTCoordsMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetGenerateTCoordsMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetLengthMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetLengthMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetMaximumNumberOfSubdivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetMaximumNumberOfSubdivisionsMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetMaximumNumberOfSubdivisionsMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfSubdivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfSubdivisionsMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfSubdivisionsMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSpline(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSubdivide(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSubdivideAsString(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSubdivideMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSubdivideMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTextureLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTextureLengthMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTextureLengthMinValue(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 SetGenerateTCoords(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetGenerateTCoordsToNormalizedLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetGenerateTCoordsToOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetGenerateTCoordsToUseLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetGenerateTCoordsToUseScalars(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetMaximumNumberOfSubdivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNumberOfSubdivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSpline(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSubdivide(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSubdivideToLength(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSubdivideToSpecified(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTextureLength(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKSPLINEFILTERWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKSPLINEFILTERWRAP_CLASSDEF
#endif
};

#endif
