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

#ifndef NATIVE_EXTENSION_VTK_VTKINTERSECTIONPOLYDATAFILTERWRAP_H
#define NATIVE_EXTENSION_VTK_VTKINTERSECTIONPOLYDATAFILTERWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkIntersectionPolyDataFilter.h>

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

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

		VtkIntersectionPolyDataFilterWrap(vtkSmartPointer<vtkIntersectionPolyDataFilter>);
		VtkIntersectionPolyDataFilterWrap();
		~VtkIntersectionPolyDataFilterWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void CheckInputOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CheckInputOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CheckMeshOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CheckMeshOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CleanAndCheckInput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CleanAndCheckSurface(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeIntersectionPointArrayOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ComputeIntersectionPointArrayOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCheckInput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCheckMesh(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetComputeIntersectionPointArray(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfIntersectionLines(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfIntersectionPoints(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetRelativeSubtriangleArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSplitFirstOutput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSplitSecondOutput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetStatus(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTolerance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetToleranceMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetToleranceMinValue(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 SetCheckInput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetCheckMesh(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetComputeIntersectionPointArray(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetRelativeSubtriangleArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSplitFirstOutput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSplitSecondOutput(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTolerance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplitFirstOutputOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplitFirstOutputOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplitSecondOutputOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SplitSecondOutputOn(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKINTERSECTIONPOLYDATAFILTERWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKINTERSECTIONPOLYDATAFILTERWRAP_CLASSDEF
#endif
};

#endif
