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

#ifndef NATIVE_EXTENSION_VTK_VTKQUADRICCLUSTERINGWRAP_H
#define NATIVE_EXTENSION_VTK_VTKQUADRICCLUSTERINGWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkQuadricClustering.h>

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

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

		VtkQuadricClusteringWrap(vtkSmartPointer<vtkQuadricClustering>);
		VtkQuadricClusteringWrap();
		~VtkQuadricClusteringWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void Append(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AutoAdjustNumberOfDivisionsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AutoAdjustNumberOfDivisionsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CopyCellDataOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CopyCellDataOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void EndAppend(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetAutoAdjustNumberOfDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCopyCellData(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDivisionOrigin(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDivisionSpacing(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeatureEdges(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeaturePointsAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeaturePointsAngleMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeaturePointsAngleMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfXDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfYDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfZDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPreventDuplicateCells(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUseFeatureEdges(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUseFeaturePoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUseInputPoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUseInternalTriangles(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PreventDuplicateCellsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PreventDuplicateCellsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetAutoAdjustNumberOfDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetCopyCellData(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetDivisionOrigin(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetDivisionSpacing(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetFeaturePointsAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNumberOfDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNumberOfXDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNumberOfYDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNumberOfZDivisions(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetPreventDuplicateCells(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUseFeatureEdges(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUseFeaturePoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUseInputPoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUseInternalTriangles(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void StartAppend(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseFeatureEdgesOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseFeatureEdgesOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseFeaturePointsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseFeaturePointsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseInputPointsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseInputPointsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseInternalTrianglesOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UseInternalTrianglesOn(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKQUADRICCLUSTERINGWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKQUADRICCLUSTERINGWRAP_CLASSDEF
#endif
};

#endif
