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

#ifndef NATIVE_EXTENSION_VTK_VTKIMPLICITPLANEWIDGETWRAP_H
#define NATIVE_EXTENSION_VTK_VTKIMPLICITPLANEWIDGETWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkImplicitPlaneWidget.h>

#include "vtkPolyDataSourceWidgetWrap.h"
#include "../../plus/plus.h"

class VtkImplicitPlaneWidgetWrap : public VtkPolyDataSourceWidgetWrap
{
	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);

		VtkImplicitPlaneWidgetWrap(vtkSmartPointer<vtkImplicitPlaneWidget>);
		VtkImplicitPlaneWidgetWrap();
		~VtkImplicitPlaneWidgetWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void DrawPlaneOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void DrawPlaneOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDiagonalRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDiagonalRatioMaxValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDiagonalRatioMinValue(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDrawPlane(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetEdgesProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNormal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNormalProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNormalToXAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNormalToYAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNormalToZAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOrigin(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOriginTranslation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutlineProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutlineTranslation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetOutsideBounds(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPlane(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPlaneProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPolyData(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPolyDataAlgorithm(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetScaleEnabled(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSelectedNormalProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSelectedOutlineProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSelectedPlaneProperty(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTubing(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToXAxisOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToXAxisOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToYAxisOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToYAxisOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToZAxisOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NormalToZAxisOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OriginTranslationOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OriginTranslationOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OutlineTranslationOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OutlineTranslationOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OutsideBoundsOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void OutsideBoundsOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PlaceWidget(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ScaleEnabledOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ScaleEnabledOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetDiagonalRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetDrawPlane(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetEnabled(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNormal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNormalToXAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNormalToYAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetNormalToZAxis(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetOrigin(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetOriginTranslation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetOutlineTranslation(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetOutsideBounds(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetScaleEnabled(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTubing(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SizeHandles(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TubingOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TubingOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void UpdatePlacement(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKIMPLICITPLANEWIDGETWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKIMPLICITPLANEWIDGETWRAP_CLASSDEF
#endif
};

#endif
