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

#ifndef NATIVE_EXTENSION_VTK_VTKPOLYDATANORMALSWRAP_H
#define NATIVE_EXTENSION_VTK_VTKPOLYDATANORMALSWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkPolyDataNormals.h>

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

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

		VtkPolyDataNormalsWrap(vtkSmartPointer<vtkPolyDataNormals>);
		VtkPolyDataNormalsWrap();
		~VtkPolyDataNormalsWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void AutoOrientNormalsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void AutoOrientNormalsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeCellNormalsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeCellNormalsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputePointNormalsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputePointNormalsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ConsistencyOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ConsistencyOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void FlipNormalsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void FlipNormalsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetAutoOrientNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeCellNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputePointNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetConsistency(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeatureAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeatureAngleMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFeatureAngleMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetFlipNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNonManifoldTraversal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutputPointsPrecision(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutputPointsPrecisionMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutputPointsPrecisionMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSplitting(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NonManifoldTraversalOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NonManifoldTraversalOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetAutoOrientNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeCellNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputePointNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetConsistency(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetFeatureAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetFlipNormals(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNonManifoldTraversal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetOutputPointsPrecision(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSplitting(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplittingOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplittingOn(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKPOLYDATANORMALSWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKPOLYDATANORMALSWRAP_CLASSDEF
#endif
};

#endif
