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

#define VTK_WRAPPING_CXX
#define VTK_STREAMS_FWD_ONLY
#include <nan.h>

#include "vtkRenderViewWrap.h"
#include "vtkGraphLayoutViewWrap.h"
#include "vtkObjectWrap.h"
#include "vtkGraphLayoutStrategyWrap.h"
#include "vtkEdgeLayoutStrategyWrap.h"
#include "../../plus/plus.h"

using namespace v8;

extern Nan::Persistent<v8::Object> vtkNodeJsNoWrap;
Nan::Persistent<v8::FunctionTemplate> VtkGraphLayoutViewWrap::ptpl;

VtkGraphLayoutViewWrap::VtkGraphLayoutViewWrap()
{ }

VtkGraphLayoutViewWrap::VtkGraphLayoutViewWrap(vtkSmartPointer<vtkGraphLayoutView> _native)
{ native = _native; }

VtkGraphLayoutViewWrap::~VtkGraphLayoutViewWrap()
{ }

void VtkGraphLayoutViewWrap::Init(v8::Local<v8::Object> exports)
{
	Nan::SetAccessor(exports, Nan::New("vtkGraphLayoutView").ToLocalChecked(), ConstructorGetter);
	Nan::SetAccessor(exports, Nan::New("GraphLayoutView").ToLocalChecked(), ConstructorGetter);
}

void VtkGraphLayoutViewWrap::ConstructorGetter(
	v8::Local<v8::String> property,
	const Nan::PropertyCallbackInfo<v8::Value>& info)
{
	InitPtpl();
	info.GetReturnValue().Set(Nan::New(ptpl)->GetFunction());
}

void VtkGraphLayoutViewWrap::InitPtpl()
{
	if (!ptpl.IsEmpty()) return;
	v8::Local<v8::FunctionTemplate> tpl = Nan::New<v8::FunctionTemplate>(New);
	VtkRenderViewWrap::InitPtpl( );
	tpl->Inherit(Nan::New<FunctionTemplate>(VtkRenderViewWrap::ptpl));
	tpl->SetClassName(Nan::New("VtkGraphLayoutViewWrap").ToLocalChecked());
	tpl->InstanceTemplate()->SetInternalFieldCount(1);

	Nan::SetPrototypeMethod(tpl, "AddIconType", AddIconType);
	Nan::SetPrototypeMethod(tpl, "addIconType", AddIconType);

	Nan::SetPrototypeMethod(tpl, "ClearIconTypes", ClearIconTypes);
	Nan::SetPrototypeMethod(tpl, "clearIconTypes", ClearIconTypes);

	Nan::SetPrototypeMethod(tpl, "ColorEdgesOff", ColorEdgesOff);
	Nan::SetPrototypeMethod(tpl, "colorEdgesOff", ColorEdgesOff);

	Nan::SetPrototypeMethod(tpl, "ColorEdgesOn", ColorEdgesOn);
	Nan::SetPrototypeMethod(tpl, "colorEdgesOn", ColorEdgesOn);

	Nan::SetPrototypeMethod(tpl, "ColorVerticesOff", ColorVerticesOff);
	Nan::SetPrototypeMethod(tpl, "colorVerticesOff", ColorVerticesOff);

	Nan::SetPrototypeMethod(tpl, "ColorVerticesOn", ColorVerticesOn);
	Nan::SetPrototypeMethod(tpl, "colorVerticesOn", ColorVerticesOn);

	Nan::SetPrototypeMethod(tpl, "EdgeLabelVisibilityOff", EdgeLabelVisibilityOff);
	Nan::SetPrototypeMethod(tpl, "edgeLabelVisibilityOff", EdgeLabelVisibilityOff);

	Nan::SetPrototypeMethod(tpl, "EdgeLabelVisibilityOn", EdgeLabelVisibilityOn);
	Nan::SetPrototypeMethod(tpl, "edgeLabelVisibilityOn", EdgeLabelVisibilityOn);

	Nan::SetPrototypeMethod(tpl, "EdgeSelectionOff", EdgeSelectionOff);
	Nan::SetPrototypeMethod(tpl, "edgeSelectionOff", EdgeSelectionOff);

	Nan::SetPrototypeMethod(tpl, "EdgeSelectionOn", EdgeSelectionOn);
	Nan::SetPrototypeMethod(tpl, "edgeSelectionOn", EdgeSelectionOn);

	Nan::SetPrototypeMethod(tpl, "EdgeVisibilityOff", EdgeVisibilityOff);
	Nan::SetPrototypeMethod(tpl, "edgeVisibilityOff", EdgeVisibilityOff);

	Nan::SetPrototypeMethod(tpl, "EdgeVisibilityOn", EdgeVisibilityOn);
	Nan::SetPrototypeMethod(tpl, "edgeVisibilityOn", EdgeVisibilityOn);

	Nan::SetPrototypeMethod(tpl, "GetClassName", GetClassName);
	Nan::SetPrototypeMethod(tpl, "getClassName", GetClassName);

	Nan::SetPrototypeMethod(tpl, "GetColorEdges", GetColorEdges);
	Nan::SetPrototypeMethod(tpl, "getColorEdges", GetColorEdges);

	Nan::SetPrototypeMethod(tpl, "GetColorVertices", GetColorVertices);
	Nan::SetPrototypeMethod(tpl, "getColorVertices", GetColorVertices);

	Nan::SetPrototypeMethod(tpl, "GetEdgeColorArrayName", GetEdgeColorArrayName);
	Nan::SetPrototypeMethod(tpl, "getEdgeColorArrayName", GetEdgeColorArrayName);

	Nan::SetPrototypeMethod(tpl, "GetEdgeLabelArrayName", GetEdgeLabelArrayName);
	Nan::SetPrototypeMethod(tpl, "getEdgeLabelArrayName", GetEdgeLabelArrayName);

	Nan::SetPrototypeMethod(tpl, "GetEdgeLabelFontSize", GetEdgeLabelFontSize);
	Nan::SetPrototypeMethod(tpl, "getEdgeLabelFontSize", GetEdgeLabelFontSize);

	Nan::SetPrototypeMethod(tpl, "GetEdgeLabelVisibility", GetEdgeLabelVisibility);
	Nan::SetPrototypeMethod(tpl, "getEdgeLabelVisibility", GetEdgeLabelVisibility);

	Nan::SetPrototypeMethod(tpl, "GetEdgeLayoutStrategy", GetEdgeLayoutStrategy);
	Nan::SetPrototypeMethod(tpl, "getEdgeLayoutStrategy", GetEdgeLayoutStrategy);

	Nan::SetPrototypeMethod(tpl, "GetEdgeLayoutStrategyName", GetEdgeLayoutStrategyName);
	Nan::SetPrototypeMethod(tpl, "getEdgeLayoutStrategyName", GetEdgeLayoutStrategyName);

	Nan::SetPrototypeMethod(tpl, "GetEdgeScalarBarVisibility", GetEdgeScalarBarVisibility);
	Nan::SetPrototypeMethod(tpl, "getEdgeScalarBarVisibility", GetEdgeScalarBarVisibility);

	Nan::SetPrototypeMethod(tpl, "GetEdgeSelection", GetEdgeSelection);
	Nan::SetPrototypeMethod(tpl, "getEdgeSelection", GetEdgeSelection);

	Nan::SetPrototypeMethod(tpl, "GetEdgeVisibility", GetEdgeVisibility);
	Nan::SetPrototypeMethod(tpl, "getEdgeVisibility", GetEdgeVisibility);

	Nan::SetPrototypeMethod(tpl, "GetEnableEdgesByArray", GetEnableEdgesByArray);
	Nan::SetPrototypeMethod(tpl, "getEnableEdgesByArray", GetEnableEdgesByArray);

	Nan::SetPrototypeMethod(tpl, "GetEnableVerticesByArray", GetEnableVerticesByArray);
	Nan::SetPrototypeMethod(tpl, "getEnableVerticesByArray", GetEnableVerticesByArray);

	Nan::SetPrototypeMethod(tpl, "GetEnabledEdgesArrayName", GetEnabledEdgesArrayName);
	Nan::SetPrototypeMethod(tpl, "getEnabledEdgesArrayName", GetEnabledEdgesArrayName);

	Nan::SetPrototypeMethod(tpl, "GetEnabledVerticesArrayName", GetEnabledVerticesArrayName);
	Nan::SetPrototypeMethod(tpl, "getEnabledVerticesArrayName", GetEnabledVerticesArrayName);

	Nan::SetPrototypeMethod(tpl, "GetGlyphType", GetGlyphType);
	Nan::SetPrototypeMethod(tpl, "getGlyphType", GetGlyphType);

	Nan::SetPrototypeMethod(tpl, "GetHideEdgeLabelsOnInteraction", GetHideEdgeLabelsOnInteraction);
	Nan::SetPrototypeMethod(tpl, "getHideEdgeLabelsOnInteraction", GetHideEdgeLabelsOnInteraction);

	Nan::SetPrototypeMethod(tpl, "GetHideVertexLabelsOnInteraction", GetHideVertexLabelsOnInteraction);
	Nan::SetPrototypeMethod(tpl, "getHideVertexLabelsOnInteraction", GetHideVertexLabelsOnInteraction);

	Nan::SetPrototypeMethod(tpl, "GetIconArrayName", GetIconArrayName);
	Nan::SetPrototypeMethod(tpl, "getIconArrayName", GetIconArrayName);

	Nan::SetPrototypeMethod(tpl, "GetIconVisibility", GetIconVisibility);
	Nan::SetPrototypeMethod(tpl, "getIconVisibility", GetIconVisibility);

	Nan::SetPrototypeMethod(tpl, "GetLayoutStrategy", GetLayoutStrategy);
	Nan::SetPrototypeMethod(tpl, "getLayoutStrategy", GetLayoutStrategy);

	Nan::SetPrototypeMethod(tpl, "GetLayoutStrategyName", GetLayoutStrategyName);
	Nan::SetPrototypeMethod(tpl, "getLayoutStrategyName", GetLayoutStrategyName);

	Nan::SetPrototypeMethod(tpl, "GetScaledGlyphs", GetScaledGlyphs);
	Nan::SetPrototypeMethod(tpl, "getScaledGlyphs", GetScaledGlyphs);

	Nan::SetPrototypeMethod(tpl, "GetScalingArrayName", GetScalingArrayName);
	Nan::SetPrototypeMethod(tpl, "getScalingArrayName", GetScalingArrayName);

	Nan::SetPrototypeMethod(tpl, "GetVertexColorArrayName", GetVertexColorArrayName);
	Nan::SetPrototypeMethod(tpl, "getVertexColorArrayName", GetVertexColorArrayName);

	Nan::SetPrototypeMethod(tpl, "GetVertexLabelArrayName", GetVertexLabelArrayName);
	Nan::SetPrototypeMethod(tpl, "getVertexLabelArrayName", GetVertexLabelArrayName);

	Nan::SetPrototypeMethod(tpl, "GetVertexLabelFontSize", GetVertexLabelFontSize);
	Nan::SetPrototypeMethod(tpl, "getVertexLabelFontSize", GetVertexLabelFontSize);

	Nan::SetPrototypeMethod(tpl, "GetVertexLabelVisibility", GetVertexLabelVisibility);
	Nan::SetPrototypeMethod(tpl, "getVertexLabelVisibility", GetVertexLabelVisibility);

	Nan::SetPrototypeMethod(tpl, "GetVertexScalarBarVisibility", GetVertexScalarBarVisibility);
	Nan::SetPrototypeMethod(tpl, "getVertexScalarBarVisibility", GetVertexScalarBarVisibility);

	Nan::SetPrototypeMethod(tpl, "HideEdgeLabelsOnInteractionOff", HideEdgeLabelsOnInteractionOff);
	Nan::SetPrototypeMethod(tpl, "hideEdgeLabelsOnInteractionOff", HideEdgeLabelsOnInteractionOff);

	Nan::SetPrototypeMethod(tpl, "HideEdgeLabelsOnInteractionOn", HideEdgeLabelsOnInteractionOn);
	Nan::SetPrototypeMethod(tpl, "hideEdgeLabelsOnInteractionOn", HideEdgeLabelsOnInteractionOn);

	Nan::SetPrototypeMethod(tpl, "HideVertexLabelsOnInteractionOff", HideVertexLabelsOnInteractionOff);
	Nan::SetPrototypeMethod(tpl, "hideVertexLabelsOnInteractionOff", HideVertexLabelsOnInteractionOff);

	Nan::SetPrototypeMethod(tpl, "HideVertexLabelsOnInteractionOn", HideVertexLabelsOnInteractionOn);
	Nan::SetPrototypeMethod(tpl, "hideVertexLabelsOnInteractionOn", HideVertexLabelsOnInteractionOn);

	Nan::SetPrototypeMethod(tpl, "IconVisibilityOff", IconVisibilityOff);
	Nan::SetPrototypeMethod(tpl, "iconVisibilityOff", IconVisibilityOff);

	Nan::SetPrototypeMethod(tpl, "IconVisibilityOn", IconVisibilityOn);
	Nan::SetPrototypeMethod(tpl, "iconVisibilityOn", IconVisibilityOn);

	Nan::SetPrototypeMethod(tpl, "IsA", IsA);
	Nan::SetPrototypeMethod(tpl, "isA", IsA);

	Nan::SetPrototypeMethod(tpl, "IsLayoutComplete", IsLayoutComplete);
	Nan::SetPrototypeMethod(tpl, "isLayoutComplete", IsLayoutComplete);

	Nan::SetPrototypeMethod(tpl, "NewInstance", NewInstance);
	Nan::SetPrototypeMethod(tpl, "newInstance", NewInstance);

	Nan::SetPrototypeMethod(tpl, "SafeDownCast", SafeDownCast);
	Nan::SetPrototypeMethod(tpl, "safeDownCast", SafeDownCast);

	Nan::SetPrototypeMethod(tpl, "ScaledGlyphsOff", ScaledGlyphsOff);
	Nan::SetPrototypeMethod(tpl, "scaledGlyphsOff", ScaledGlyphsOff);

	Nan::SetPrototypeMethod(tpl, "ScaledGlyphsOn", ScaledGlyphsOn);
	Nan::SetPrototypeMethod(tpl, "scaledGlyphsOn", ScaledGlyphsOn);

	Nan::SetPrototypeMethod(tpl, "SetColorEdges", SetColorEdges);
	Nan::SetPrototypeMethod(tpl, "setColorEdges", SetColorEdges);

	Nan::SetPrototypeMethod(tpl, "SetColorVertices", SetColorVertices);
	Nan::SetPrototypeMethod(tpl, "setColorVertices", SetColorVertices);

	Nan::SetPrototypeMethod(tpl, "SetEdgeColorArrayName", SetEdgeColorArrayName);
	Nan::SetPrototypeMethod(tpl, "setEdgeColorArrayName", SetEdgeColorArrayName);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLabelArrayName", SetEdgeLabelArrayName);
	Nan::SetPrototypeMethod(tpl, "setEdgeLabelArrayName", SetEdgeLabelArrayName);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLabelFontSize", SetEdgeLabelFontSize);
	Nan::SetPrototypeMethod(tpl, "setEdgeLabelFontSize", SetEdgeLabelFontSize);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLabelVisibility", SetEdgeLabelVisibility);
	Nan::SetPrototypeMethod(tpl, "setEdgeLabelVisibility", SetEdgeLabelVisibility);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLayoutStrategy", SetEdgeLayoutStrategy);
	Nan::SetPrototypeMethod(tpl, "setEdgeLayoutStrategy", SetEdgeLayoutStrategy);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLayoutStrategyToArcParallel", SetEdgeLayoutStrategyToArcParallel);
	Nan::SetPrototypeMethod(tpl, "setEdgeLayoutStrategyToArcParallel", SetEdgeLayoutStrategyToArcParallel);

	Nan::SetPrototypeMethod(tpl, "SetEdgeLayoutStrategyToPassThrough", SetEdgeLayoutStrategyToPassThrough);
	Nan::SetPrototypeMethod(tpl, "setEdgeLayoutStrategyToPassThrough", SetEdgeLayoutStrategyToPassThrough);

	Nan::SetPrototypeMethod(tpl, "SetEdgeScalarBarVisibility", SetEdgeScalarBarVisibility);
	Nan::SetPrototypeMethod(tpl, "setEdgeScalarBarVisibility", SetEdgeScalarBarVisibility);

	Nan::SetPrototypeMethod(tpl, "SetEdgeSelection", SetEdgeSelection);
	Nan::SetPrototypeMethod(tpl, "setEdgeSelection", SetEdgeSelection);

	Nan::SetPrototypeMethod(tpl, "SetEdgeVisibility", SetEdgeVisibility);
	Nan::SetPrototypeMethod(tpl, "setEdgeVisibility", SetEdgeVisibility);

	Nan::SetPrototypeMethod(tpl, "SetEnableEdgesByArray", SetEnableEdgesByArray);
	Nan::SetPrototypeMethod(tpl, "setEnableEdgesByArray", SetEnableEdgesByArray);

	Nan::SetPrototypeMethod(tpl, "SetEnableVerticesByArray", SetEnableVerticesByArray);
	Nan::SetPrototypeMethod(tpl, "setEnableVerticesByArray", SetEnableVerticesByArray);

	Nan::SetPrototypeMethod(tpl, "SetEnabledEdgesArrayName", SetEnabledEdgesArrayName);
	Nan::SetPrototypeMethod(tpl, "setEnabledEdgesArrayName", SetEnabledEdgesArrayName);

	Nan::SetPrototypeMethod(tpl, "SetEnabledVerticesArrayName", SetEnabledVerticesArrayName);
	Nan::SetPrototypeMethod(tpl, "setEnabledVerticesArrayName", SetEnabledVerticesArrayName);

	Nan::SetPrototypeMethod(tpl, "SetGlyphType", SetGlyphType);
	Nan::SetPrototypeMethod(tpl, "setGlyphType", SetGlyphType);

	Nan::SetPrototypeMethod(tpl, "SetHideEdgeLabelsOnInteraction", SetHideEdgeLabelsOnInteraction);
	Nan::SetPrototypeMethod(tpl, "setHideEdgeLabelsOnInteraction", SetHideEdgeLabelsOnInteraction);

	Nan::SetPrototypeMethod(tpl, "SetHideVertexLabelsOnInteraction", SetHideVertexLabelsOnInteraction);
	Nan::SetPrototypeMethod(tpl, "setHideVertexLabelsOnInteraction", SetHideVertexLabelsOnInteraction);

	Nan::SetPrototypeMethod(tpl, "SetIconAlignment", SetIconAlignment);
	Nan::SetPrototypeMethod(tpl, "setIconAlignment", SetIconAlignment);

	Nan::SetPrototypeMethod(tpl, "SetIconArrayName", SetIconArrayName);
	Nan::SetPrototypeMethod(tpl, "setIconArrayName", SetIconArrayName);

	Nan::SetPrototypeMethod(tpl, "SetIconVisibility", SetIconVisibility);
	Nan::SetPrototypeMethod(tpl, "setIconVisibility", SetIconVisibility);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategy", SetLayoutStrategy);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategy", SetLayoutStrategy);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToCircular", SetLayoutStrategyToCircular);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToCircular", SetLayoutStrategyToCircular);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToClustering2D", SetLayoutStrategyToClustering2D);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToClustering2D", SetLayoutStrategyToClustering2D);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToCommunity2D", SetLayoutStrategyToCommunity2D);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToCommunity2D", SetLayoutStrategyToCommunity2D);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToCone", SetLayoutStrategyToCone);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToCone", SetLayoutStrategyToCone);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToCosmicTree", SetLayoutStrategyToCosmicTree);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToCosmicTree", SetLayoutStrategyToCosmicTree);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToFast2D", SetLayoutStrategyToFast2D);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToFast2D", SetLayoutStrategyToFast2D);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToForceDirected", SetLayoutStrategyToForceDirected);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToForceDirected", SetLayoutStrategyToForceDirected);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToPassThrough", SetLayoutStrategyToPassThrough);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToPassThrough", SetLayoutStrategyToPassThrough);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToRandom", SetLayoutStrategyToRandom);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToRandom", SetLayoutStrategyToRandom);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToSimple2D", SetLayoutStrategyToSimple2D);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToSimple2D", SetLayoutStrategyToSimple2D);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToSpanTree", SetLayoutStrategyToSpanTree);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToSpanTree", SetLayoutStrategyToSpanTree);

	Nan::SetPrototypeMethod(tpl, "SetLayoutStrategyToTree", SetLayoutStrategyToTree);
	Nan::SetPrototypeMethod(tpl, "setLayoutStrategyToTree", SetLayoutStrategyToTree);

	Nan::SetPrototypeMethod(tpl, "SetScaledGlyphs", SetScaledGlyphs);
	Nan::SetPrototypeMethod(tpl, "setScaledGlyphs", SetScaledGlyphs);

	Nan::SetPrototypeMethod(tpl, "SetScalingArrayName", SetScalingArrayName);
	Nan::SetPrototypeMethod(tpl, "setScalingArrayName", SetScalingArrayName);

	Nan::SetPrototypeMethod(tpl, "SetVertexColorArrayName", SetVertexColorArrayName);
	Nan::SetPrototypeMethod(tpl, "setVertexColorArrayName", SetVertexColorArrayName);

	Nan::SetPrototypeMethod(tpl, "SetVertexLabelArrayName", SetVertexLabelArrayName);
	Nan::SetPrototypeMethod(tpl, "setVertexLabelArrayName", SetVertexLabelArrayName);

	Nan::SetPrototypeMethod(tpl, "SetVertexLabelFontSize", SetVertexLabelFontSize);
	Nan::SetPrototypeMethod(tpl, "setVertexLabelFontSize", SetVertexLabelFontSize);

	Nan::SetPrototypeMethod(tpl, "SetVertexLabelVisibility", SetVertexLabelVisibility);
	Nan::SetPrototypeMethod(tpl, "setVertexLabelVisibility", SetVertexLabelVisibility);

	Nan::SetPrototypeMethod(tpl, "SetVertexScalarBarVisibility", SetVertexScalarBarVisibility);
	Nan::SetPrototypeMethod(tpl, "setVertexScalarBarVisibility", SetVertexScalarBarVisibility);

	Nan::SetPrototypeMethod(tpl, "UpdateLayout", UpdateLayout);
	Nan::SetPrototypeMethod(tpl, "updateLayout", UpdateLayout);

	Nan::SetPrototypeMethod(tpl, "VertexLabelVisibilityOff", VertexLabelVisibilityOff);
	Nan::SetPrototypeMethod(tpl, "vertexLabelVisibilityOff", VertexLabelVisibilityOff);

	Nan::SetPrototypeMethod(tpl, "VertexLabelVisibilityOn", VertexLabelVisibilityOn);
	Nan::SetPrototypeMethod(tpl, "vertexLabelVisibilityOn", VertexLabelVisibilityOn);

	Nan::SetPrototypeMethod(tpl, "ZoomToSelection", ZoomToSelection);
	Nan::SetPrototypeMethod(tpl, "zoomToSelection", ZoomToSelection);

#ifdef VTK_NODE_PLUS_VTKGRAPHLAYOUTVIEWWRAP_INITPTPL
	VTK_NODE_PLUS_VTKGRAPHLAYOUTVIEWWRAP_INITPTPL
#endif
	ptpl.Reset( tpl );
}

void VtkGraphLayoutViewWrap::New(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	if(!info.IsConstructCall())
	{
		Nan::ThrowError("Constructor not called in a construct call.");
		return;
	}

	if(info.Length() == 0)
	{
		vtkSmartPointer<vtkGraphLayoutView> native = vtkSmartPointer<vtkGraphLayoutView>::New();
		VtkGraphLayoutViewWrap* obj = new VtkGraphLayoutViewWrap(native);
		obj->Wrap(info.This());
	}
	else
	{
		if(info[0]->ToObject() != vtkNodeJsNoWrap )
		{
			Nan::ThrowError("Parameter Error");
			return;
		}
	}

	info.GetReturnValue().Set(info.This());
}

void VtkGraphLayoutViewWrap::AddIconType(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
		if(info.Length() > 1 && info[1]->IsInt32())
		{
						if(info.Length() != 2)
			{
				Nan::ThrowError("Too many parameters.");
				return;
			}
			native->AddIconType(
				*a0,
				info[1]->Int32Value()
			);
			return;
		}
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::ClearIconTypes(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ClearIconTypes();
}

void VtkGraphLayoutViewWrap::ColorEdgesOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ColorEdgesOff();
}

void VtkGraphLayoutViewWrap::ColorEdgesOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ColorEdgesOn();
}

void VtkGraphLayoutViewWrap::ColorVerticesOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ColorVerticesOff();
}

void VtkGraphLayoutViewWrap::ColorVerticesOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ColorVerticesOn();
}

void VtkGraphLayoutViewWrap::EdgeLabelVisibilityOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeLabelVisibilityOff();
}

void VtkGraphLayoutViewWrap::EdgeLabelVisibilityOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeLabelVisibilityOn();
}

void VtkGraphLayoutViewWrap::EdgeSelectionOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeSelectionOff();
}

void VtkGraphLayoutViewWrap::EdgeSelectionOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeSelectionOn();
}

void VtkGraphLayoutViewWrap::EdgeVisibilityOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeVisibilityOff();
}

void VtkGraphLayoutViewWrap::EdgeVisibilityOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->EdgeVisibilityOn();
}

void VtkGraphLayoutViewWrap::GetClassName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetClassName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetColorEdges(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetColorEdges();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetColorVertices(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetColorVertices();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEdgeColorArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeColorArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetEdgeLabelArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeLabelArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetEdgeLabelFontSize(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeLabelFontSize();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEdgeLabelVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeLabelVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEdgeLayoutStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	vtkEdgeLayoutStrategy * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeLayoutStrategy();
	VtkEdgeLayoutStrategyWrap::InitPtpl();
	v8::Local<v8::Value> argv[1] =
		{ Nan::New(vtkNodeJsNoWrap) };
	v8::Local<v8::Function> cons =
		Nan::New<v8::FunctionTemplate>(VtkEdgeLayoutStrategyWrap::ptpl)->GetFunction();
	v8::Local<v8::Object> wo = cons->NewInstance(1, argv);
	VtkEdgeLayoutStrategyWrap *w = new VtkEdgeLayoutStrategyWrap();
	w->native = r;
	w->Wrap(wo);
	info.GetReturnValue().Set(wo);
}

void VtkGraphLayoutViewWrap::GetEdgeLayoutStrategyName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeLayoutStrategyName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetEdgeScalarBarVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeScalarBarVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEdgeSelection(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeSelection();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEdgeVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEdgeVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEnableEdgesByArray(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEnableEdgesByArray();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEnableVerticesByArray(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEnableVerticesByArray();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetEnabledEdgesArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEnabledEdgesArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetEnabledVerticesArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetEnabledVerticesArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetGlyphType(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetGlyphType();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetHideEdgeLabelsOnInteraction(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetHideEdgeLabelsOnInteraction();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetHideVertexLabelsOnInteraction(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetHideVertexLabelsOnInteraction();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetIconArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetIconArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetIconVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetIconVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetLayoutStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	vtkGraphLayoutStrategy * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetLayoutStrategy();
	VtkGraphLayoutStrategyWrap::InitPtpl();
	v8::Local<v8::Value> argv[1] =
		{ Nan::New(vtkNodeJsNoWrap) };
	v8::Local<v8::Function> cons =
		Nan::New<v8::FunctionTemplate>(VtkGraphLayoutStrategyWrap::ptpl)->GetFunction();
	v8::Local<v8::Object> wo = cons->NewInstance(1, argv);
	VtkGraphLayoutStrategyWrap *w = new VtkGraphLayoutStrategyWrap();
	w->native = r;
	w->Wrap(wo);
	info.GetReturnValue().Set(wo);
}

void VtkGraphLayoutViewWrap::GetLayoutStrategyName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetLayoutStrategyName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetScaledGlyphs(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetScaledGlyphs();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetScalingArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetScalingArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetVertexColorArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetVertexColorArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetVertexLabelArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	char const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetVertexLabelArrayName();
	info.GetReturnValue().Set(Nan::New(r).ToLocalChecked());
}

void VtkGraphLayoutViewWrap::GetVertexLabelFontSize(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetVertexLabelFontSize();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetVertexLabelVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetVertexLabelVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::GetVertexScalarBarVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	bool r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetVertexScalarBarVisibility();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::HideEdgeLabelsOnInteractionOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->HideEdgeLabelsOnInteractionOff();
}

void VtkGraphLayoutViewWrap::HideEdgeLabelsOnInteractionOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->HideEdgeLabelsOnInteractionOn();
}

void VtkGraphLayoutViewWrap::HideVertexLabelsOnInteractionOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->HideVertexLabelsOnInteractionOff();
}

void VtkGraphLayoutViewWrap::HideVertexLabelsOnInteractionOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->HideVertexLabelsOnInteractionOn();
}

void VtkGraphLayoutViewWrap::IconVisibilityOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->IconVisibilityOff();
}

void VtkGraphLayoutViewWrap::IconVisibilityOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->IconVisibilityOn();
}

void VtkGraphLayoutViewWrap::IsA(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
		int r;
		if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		r = native->IsA(
			*a0
		);
		info.GetReturnValue().Set(Nan::New(r));
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::IsLayoutComplete(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	int r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->IsLayoutComplete();
	info.GetReturnValue().Set(Nan::New(r));
}

void VtkGraphLayoutViewWrap::NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	vtkGraphLayoutView * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->NewInstance();
	VtkGraphLayoutViewWrap::InitPtpl();
	v8::Local<v8::Value> argv[1] =
		{ Nan::New(vtkNodeJsNoWrap) };
	v8::Local<v8::Function> cons =
		Nan::New<v8::FunctionTemplate>(VtkGraphLayoutViewWrap::ptpl)->GetFunction();
	v8::Local<v8::Object> wo = cons->NewInstance(1, argv);
	VtkGraphLayoutViewWrap *w = new VtkGraphLayoutViewWrap();
	w->native = r;
	w->Wrap(wo);
	info.GetReturnValue().Set(wo);
}

void VtkGraphLayoutViewWrap::SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkObjectWrap::ptpl))->HasInstance(info[0]))
	{
		VtkObjectWrap *a0 = ObjectWrap::Unwrap<VtkObjectWrap>(info[0]->ToObject());
		vtkGraphLayoutView * r;
		if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		r = native->SafeDownCast(
			(vtkObject *) a0->native.GetPointer()
		);
		VtkGraphLayoutViewWrap::InitPtpl();
		v8::Local<v8::Value> argv[1] =
			{ Nan::New(vtkNodeJsNoWrap) };
		v8::Local<v8::Function> cons =
			Nan::New<v8::FunctionTemplate>(VtkGraphLayoutViewWrap::ptpl)->GetFunction();
		v8::Local<v8::Object> wo = cons->NewInstance(1, argv);
		VtkGraphLayoutViewWrap *w = new VtkGraphLayoutViewWrap();
		w->native = r;
		w->Wrap(wo);
		info.GetReturnValue().Set(wo);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::ScaledGlyphsOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ScaledGlyphsOff();
}

void VtkGraphLayoutViewWrap::ScaledGlyphsOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ScaledGlyphsOn();
}

void VtkGraphLayoutViewWrap::SetColorEdges(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetColorEdges(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetColorVertices(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetColorVertices(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeColorArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeColorArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeLabelArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeLabelArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeLabelFontSize(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsInt32())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeLabelFontSize(
			info[0]->Int32Value()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeLabelVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeLabelVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeLayoutStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeLayoutStrategy(
			*a0
		);
		return;
	}
	else if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkEdgeLayoutStrategyWrap::ptpl))->HasInstance(info[0]))
	{
		VtkEdgeLayoutStrategyWrap *a0 = ObjectWrap::Unwrap<VtkEdgeLayoutStrategyWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeLayoutStrategy(
			(vtkEdgeLayoutStrategy *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeLayoutStrategyToArcParallel(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetEdgeLayoutStrategyToArcParallel();
}

void VtkGraphLayoutViewWrap::SetEdgeLayoutStrategyToPassThrough(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetEdgeLayoutStrategyToPassThrough();
}

void VtkGraphLayoutViewWrap::SetEdgeScalarBarVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeScalarBarVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeSelection(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeSelection(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEdgeVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEdgeVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEnableEdgesByArray(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEnableEdgesByArray(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEnableVerticesByArray(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEnableVerticesByArray(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEnabledEdgesArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEnabledEdgesArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetEnabledVerticesArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetEnabledVerticesArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetGlyphType(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsInt32())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetGlyphType(
			info[0]->Int32Value()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetHideEdgeLabelsOnInteraction(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetHideEdgeLabelsOnInteraction(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetHideVertexLabelsOnInteraction(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetHideVertexLabelsOnInteraction(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetIconAlignment(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsInt32())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetIconAlignment(
			info[0]->Int32Value()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetIconArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetIconArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetIconVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetIconVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetLayoutStrategy(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetLayoutStrategy(
			*a0
		);
		return;
	}
	else if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkGraphLayoutStrategyWrap::ptpl))->HasInstance(info[0]))
	{
		VtkGraphLayoutStrategyWrap *a0 = ObjectWrap::Unwrap<VtkGraphLayoutStrategyWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetLayoutStrategy(
			(vtkGraphLayoutStrategy *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToCircular(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToCircular();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToClustering2D(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToClustering2D();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToCommunity2D(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToCommunity2D();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToCone(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToCone();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToCosmicTree(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToCosmicTree();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToFast2D(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToFast2D();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToForceDirected(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToForceDirected();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToPassThrough(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToPassThrough();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToRandom(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToRandom();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToSimple2D(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToSimple2D();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToSpanTree(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToSpanTree();
}

void VtkGraphLayoutViewWrap::SetLayoutStrategyToTree(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->SetLayoutStrategyToTree();
}

void VtkGraphLayoutViewWrap::SetScaledGlyphs(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetScaledGlyphs(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetScalingArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetScalingArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetVertexColorArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetVertexColorArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetVertexLabelArrayName(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsString())
	{
		Nan::Utf8String a0(info[0]);
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetVertexLabelArrayName(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetVertexLabelFontSize(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsInt32())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetVertexLabelFontSize(
			info[0]->Int32Value()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetVertexLabelVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetVertexLabelVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::SetVertexScalarBarVisibility(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsBoolean())
	{
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetVertexScalarBarVisibility(
			info[0]->BooleanValue()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkGraphLayoutViewWrap::UpdateLayout(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->UpdateLayout();
}

void VtkGraphLayoutViewWrap::VertexLabelVisibilityOff(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->VertexLabelVisibilityOff();
}

void VtkGraphLayoutViewWrap::VertexLabelVisibilityOn(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->VertexLabelVisibilityOn();
}

void VtkGraphLayoutViewWrap::ZoomToSelection(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkGraphLayoutViewWrap *wrapper = ObjectWrap::Unwrap<VtkGraphLayoutViewWrap>(info.Holder());
	vtkGraphLayoutView *native = (vtkGraphLayoutView *)wrapper->native.GetPointer();
		if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	native->ZoomToSelection();
}

