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

#ifndef NATIVE_EXTENSION_VTK_VTKHYPERTREEGRIDCURSORWRAP_H
#define NATIVE_EXTENSION_VTK_VTKHYPERTREEGRIDCURSORWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkHyperTreeGridCursor.h>

#include "vtkHyperTreeCursorWrap.h"
#include "../../plus/plus.h"

class VtkHyperTreeGridCursorWrap : public VtkHyperTreeCursorWrap
{
	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);

		VtkHyperTreeGridCursorWrap(vtkSmartPointer<vtkHyperTreeGridCursor>);
		VtkHyperTreeGridCursorWrap();
		~VtkHyperTreeGridCursorWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void Clone(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetBounds(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetChildIndex(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCornerCursors(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCursor(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetDimension(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetGrid(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetLevel(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfChildren(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetNumberOfCursors(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetPoint(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTree(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void IsEqual(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void IsLeaf(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void IsRoot(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 SameTree(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetGrid(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTree(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ToChild(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ToParent(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ToRoot(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void ToSameVertex(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKHYPERTREEGRIDCURSORWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKHYPERTREEGRIDCURSORWRAP_CLASSDEF
#endif
};

#endif
