/* 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 "vtkActor2DWrap.h"
#include "vtkCaptionActor2DWrap.h"
#include "vtkObjectBaseWrap.h"
#include "vtkCoordinateWrap.h"
#include "vtkPolyDataWrap.h"
#include "vtkAlgorithmOutputWrap.h"
#include "vtkTextActorWrap.h"
#include "vtkTextPropertyWrap.h"
#include "vtkPropWrap.h"
#include "vtkWindowWrap.h"
#include "vtkViewportWrap.h"
#include "../../plus/plus.h"

using namespace v8;

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

VtkCaptionActor2DWrap::VtkCaptionActor2DWrap()
{ }

VtkCaptionActor2DWrap::VtkCaptionActor2DWrap(vtkSmartPointer<vtkCaptionActor2D> _native)
{ native = _native; }

VtkCaptionActor2DWrap::~VtkCaptionActor2DWrap()
{ }

void VtkCaptionActor2DWrap::Init(v8::Local<v8::Object> exports)
{
	Nan::SetAccessor(exports, Nan::New("vtkCaptionActor2D").ToLocalChecked(), ConstructorGetter);
	Nan::SetAccessor(exports, Nan::New("CaptionActor2D").ToLocalChecked(), ConstructorGetter);
}

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

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

	Nan::SetPrototypeMethod(tpl, "AttachEdgeOnlyOff", AttachEdgeOnlyOff);
	Nan::SetPrototypeMethod(tpl, "attachEdgeOnlyOff", AttachEdgeOnlyOff);

	Nan::SetPrototypeMethod(tpl, "AttachEdgeOnlyOn", AttachEdgeOnlyOn);
	Nan::SetPrototypeMethod(tpl, "attachEdgeOnlyOn", AttachEdgeOnlyOn);

	Nan::SetPrototypeMethod(tpl, "BorderOff", BorderOff);
	Nan::SetPrototypeMethod(tpl, "borderOff", BorderOff);

	Nan::SetPrototypeMethod(tpl, "BorderOn", BorderOn);
	Nan::SetPrototypeMethod(tpl, "borderOn", BorderOn);

	Nan::SetPrototypeMethod(tpl, "GetAttachEdgeOnly", GetAttachEdgeOnly);
	Nan::SetPrototypeMethod(tpl, "getAttachEdgeOnly", GetAttachEdgeOnly);

	Nan::SetPrototypeMethod(tpl, "GetAttachmentPoint", GetAttachmentPoint);
	Nan::SetPrototypeMethod(tpl, "getAttachmentPoint", GetAttachmentPoint);

	Nan::SetPrototypeMethod(tpl, "GetAttachmentPointCoordinate", GetAttachmentPointCoordinate);
	Nan::SetPrototypeMethod(tpl, "getAttachmentPointCoordinate", GetAttachmentPointCoordinate);

	Nan::SetPrototypeMethod(tpl, "GetBorder", GetBorder);
	Nan::SetPrototypeMethod(tpl, "getBorder", GetBorder);

	Nan::SetPrototypeMethod(tpl, "GetCaption", GetCaption);
	Nan::SetPrototypeMethod(tpl, "getCaption", GetCaption);

	Nan::SetPrototypeMethod(tpl, "GetCaptionTextProperty", GetCaptionTextProperty);
	Nan::SetPrototypeMethod(tpl, "getCaptionTextProperty", GetCaptionTextProperty);

	Nan::SetPrototypeMethod(tpl, "GetLeader", GetLeader);
	Nan::SetPrototypeMethod(tpl, "getLeader", GetLeader);

	Nan::SetPrototypeMethod(tpl, "GetLeaderGlyph", GetLeaderGlyph);
	Nan::SetPrototypeMethod(tpl, "getLeaderGlyph", GetLeaderGlyph);

	Nan::SetPrototypeMethod(tpl, "GetLeaderGlyphSize", GetLeaderGlyphSize);
	Nan::SetPrototypeMethod(tpl, "getLeaderGlyphSize", GetLeaderGlyphSize);

	Nan::SetPrototypeMethod(tpl, "GetLeaderGlyphSizeMaxValue", GetLeaderGlyphSizeMaxValue);
	Nan::SetPrototypeMethod(tpl, "getLeaderGlyphSizeMaxValue", GetLeaderGlyphSizeMaxValue);

	Nan::SetPrototypeMethod(tpl, "GetLeaderGlyphSizeMinValue", GetLeaderGlyphSizeMinValue);
	Nan::SetPrototypeMethod(tpl, "getLeaderGlyphSizeMinValue", GetLeaderGlyphSizeMinValue);

	Nan::SetPrototypeMethod(tpl, "GetMaximumLeaderGlyphSize", GetMaximumLeaderGlyphSize);
	Nan::SetPrototypeMethod(tpl, "getMaximumLeaderGlyphSize", GetMaximumLeaderGlyphSize);

	Nan::SetPrototypeMethod(tpl, "GetMaximumLeaderGlyphSizeMaxValue", GetMaximumLeaderGlyphSizeMaxValue);
	Nan::SetPrototypeMethod(tpl, "getMaximumLeaderGlyphSizeMaxValue", GetMaximumLeaderGlyphSizeMaxValue);

	Nan::SetPrototypeMethod(tpl, "GetMaximumLeaderGlyphSizeMinValue", GetMaximumLeaderGlyphSizeMinValue);
	Nan::SetPrototypeMethod(tpl, "getMaximumLeaderGlyphSizeMinValue", GetMaximumLeaderGlyphSizeMinValue);

	Nan::SetPrototypeMethod(tpl, "GetPadding", GetPadding);
	Nan::SetPrototypeMethod(tpl, "getPadding", GetPadding);

	Nan::SetPrototypeMethod(tpl, "GetPaddingMaxValue", GetPaddingMaxValue);
	Nan::SetPrototypeMethod(tpl, "getPaddingMaxValue", GetPaddingMaxValue);

	Nan::SetPrototypeMethod(tpl, "GetPaddingMinValue", GetPaddingMinValue);
	Nan::SetPrototypeMethod(tpl, "getPaddingMinValue", GetPaddingMinValue);

	Nan::SetPrototypeMethod(tpl, "GetTextActor", GetTextActor);
	Nan::SetPrototypeMethod(tpl, "getTextActor", GetTextActor);

	Nan::SetPrototypeMethod(tpl, "GetThreeDimensionalLeader", GetThreeDimensionalLeader);
	Nan::SetPrototypeMethod(tpl, "getThreeDimensionalLeader", GetThreeDimensionalLeader);

	Nan::SetPrototypeMethod(tpl, "HasTranslucentPolygonalGeometry", HasTranslucentPolygonalGeometry);
	Nan::SetPrototypeMethod(tpl, "hasTranslucentPolygonalGeometry", HasTranslucentPolygonalGeometry);

	Nan::SetPrototypeMethod(tpl, "LeaderOff", LeaderOff);
	Nan::SetPrototypeMethod(tpl, "leaderOff", LeaderOff);

	Nan::SetPrototypeMethod(tpl, "LeaderOn", LeaderOn);
	Nan::SetPrototypeMethod(tpl, "leaderOn", LeaderOn);

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

	Nan::SetPrototypeMethod(tpl, "ReleaseGraphicsResources", ReleaseGraphicsResources);
	Nan::SetPrototypeMethod(tpl, "releaseGraphicsResources", ReleaseGraphicsResources);

	Nan::SetPrototypeMethod(tpl, "RenderOpaqueGeometry", RenderOpaqueGeometry);
	Nan::SetPrototypeMethod(tpl, "renderOpaqueGeometry", RenderOpaqueGeometry);

	Nan::SetPrototypeMethod(tpl, "RenderOverlay", RenderOverlay);
	Nan::SetPrototypeMethod(tpl, "renderOverlay", RenderOverlay);

	Nan::SetPrototypeMethod(tpl, "RenderTranslucentPolygonalGeometry", RenderTranslucentPolygonalGeometry);
	Nan::SetPrototypeMethod(tpl, "renderTranslucentPolygonalGeometry", RenderTranslucentPolygonalGeometry);

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

	Nan::SetPrototypeMethod(tpl, "SetAttachEdgeOnly", SetAttachEdgeOnly);
	Nan::SetPrototypeMethod(tpl, "setAttachEdgeOnly", SetAttachEdgeOnly);

	Nan::SetPrototypeMethod(tpl, "SetAttachmentPoint", SetAttachmentPoint);
	Nan::SetPrototypeMethod(tpl, "setAttachmentPoint", SetAttachmentPoint);

	Nan::SetPrototypeMethod(tpl, "SetBorder", SetBorder);
	Nan::SetPrototypeMethod(tpl, "setBorder", SetBorder);

	Nan::SetPrototypeMethod(tpl, "SetCaption", SetCaption);
	Nan::SetPrototypeMethod(tpl, "setCaption", SetCaption);

	Nan::SetPrototypeMethod(tpl, "SetCaptionTextProperty", SetCaptionTextProperty);
	Nan::SetPrototypeMethod(tpl, "setCaptionTextProperty", SetCaptionTextProperty);

	Nan::SetPrototypeMethod(tpl, "SetLeader", SetLeader);
	Nan::SetPrototypeMethod(tpl, "setLeader", SetLeader);

	Nan::SetPrototypeMethod(tpl, "SetLeaderGlyphConnection", SetLeaderGlyphConnection);
	Nan::SetPrototypeMethod(tpl, "setLeaderGlyphConnection", SetLeaderGlyphConnection);

	Nan::SetPrototypeMethod(tpl, "SetLeaderGlyphData", SetLeaderGlyphData);
	Nan::SetPrototypeMethod(tpl, "setLeaderGlyphData", SetLeaderGlyphData);

	Nan::SetPrototypeMethod(tpl, "SetLeaderGlyphSize", SetLeaderGlyphSize);
	Nan::SetPrototypeMethod(tpl, "setLeaderGlyphSize", SetLeaderGlyphSize);

	Nan::SetPrototypeMethod(tpl, "SetMaximumLeaderGlyphSize", SetMaximumLeaderGlyphSize);
	Nan::SetPrototypeMethod(tpl, "setMaximumLeaderGlyphSize", SetMaximumLeaderGlyphSize);

	Nan::SetPrototypeMethod(tpl, "SetPadding", SetPadding);
	Nan::SetPrototypeMethod(tpl, "setPadding", SetPadding);

	Nan::SetPrototypeMethod(tpl, "SetThreeDimensionalLeader", SetThreeDimensionalLeader);
	Nan::SetPrototypeMethod(tpl, "setThreeDimensionalLeader", SetThreeDimensionalLeader);

	Nan::SetPrototypeMethod(tpl, "ShallowCopy", ShallowCopy);
	Nan::SetPrototypeMethod(tpl, "shallowCopy", ShallowCopy);

	Nan::SetPrototypeMethod(tpl, "ThreeDimensionalLeaderOff", ThreeDimensionalLeaderOff);
	Nan::SetPrototypeMethod(tpl, "threeDimensionalLeaderOff", ThreeDimensionalLeaderOff);

	Nan::SetPrototypeMethod(tpl, "ThreeDimensionalLeaderOn", ThreeDimensionalLeaderOn);
	Nan::SetPrototypeMethod(tpl, "threeDimensionalLeaderOn", ThreeDimensionalLeaderOn);

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

void VtkCaptionActor2DWrap::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<vtkCaptionActor2D> native = vtkSmartPointer<vtkCaptionActor2D>::New();
		VtkCaptionActor2DWrap* obj = new VtkCaptionActor2DWrap(native);
		obj->Wrap(info.This());
	}
	else
	{
		if(info[0]->ToObject() != vtkNodeJsNoWrap )
		{
			Nan::ThrowError("Parameter Error");
			return;
		}
	}

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

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

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

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

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

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

void VtkCaptionActor2DWrap::GetAttachmentPoint(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	double const * r;
	if(info.Length() != 0)
	{
		Nan::ThrowError("Too many parameters.");
		return;
	}
	r = native->GetAttachmentPoint();
	Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New(v8::Isolate::GetCurrent(), 3 * sizeof(double));
	Local<v8::Float64Array> at = v8::Float64Array::New(ab, 0, 3);
	memcpy(ab->GetContents().Data(), r, 3 * sizeof(double));
	info.GetReturnValue().Set(at);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void VtkCaptionActor2DWrap::ReleaseGraphicsResources(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkWindowWrap::ptpl))->HasInstance(info[0]))
	{
		VtkWindowWrap *a0 = ObjectWrap::Unwrap<VtkWindowWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->ReleaseGraphicsResources(
			(vtkWindow *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkCaptionActor2DWrap::RenderOpaqueGeometry(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkViewportWrap::ptpl))->HasInstance(info[0]))
	{
		VtkViewportWrap *a0 = ObjectWrap::Unwrap<VtkViewportWrap>(info[0]->ToObject());
		int r;
		if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		r = native->RenderOpaqueGeometry(
			(vtkViewport *) a0->native.GetPointer()
		);
		info.GetReturnValue().Set(Nan::New(r));
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkCaptionActor2DWrap::RenderOverlay(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkViewportWrap::ptpl))->HasInstance(info[0]))
	{
		VtkViewportWrap *a0 = ObjectWrap::Unwrap<VtkViewportWrap>(info[0]->ToObject());
		int r;
		if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		r = native->RenderOverlay(
			(vtkViewport *) a0->native.GetPointer()
		);
		info.GetReturnValue().Set(Nan::New(r));
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkCaptionActor2DWrap::RenderTranslucentPolygonalGeometry(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkViewportWrap::ptpl))->HasInstance(info[0]))
	{
		VtkViewportWrap *a0 = ObjectWrap::Unwrap<VtkViewportWrap>(info[0]->ToObject());
		int r;
		if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		r = native->RenderTranslucentPolygonalGeometry(
			(vtkViewport *) a0->native.GetPointer()
		);
		info.GetReturnValue().Set(Nan::New(r));
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

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

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

void VtkCaptionActor2DWrap::SetAttachmentPoint(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	size_t i;
	if(info.Length() > 0 && info[0]->IsFloat64Array())
	{
		v8::Local<v8::Float64Array>a0(v8::Local<v8::Float64Array>::Cast(info[0]->ToObject()));
		if( a0->Length() < 3 )
		{
			Nan::ThrowError("Array too short.");
			return;
		}

				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetAttachmentPoint(
			(double *)(a0->Buffer()->GetContents().Data())
		);
		return;
	}
	else if(info.Length() > 0 && info[0]->IsArray())
	{
		v8::Local<v8::Array>a0(v8::Local<v8::Array>::Cast(info[0]->ToObject()));
		double b0[3];
		if( a0->Length() < 3 )
		{
			Nan::ThrowError("Array too short.");
			return;
		}

		for( i = 0; i < 3; i++ )
		{
			if( !a0->Get(i)->IsNumber() )
			{
				Nan::ThrowError("Array contents invalid.");
				return;
			}
			b0[i] = a0->Get(i)->NumberValue();
		}
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetAttachmentPoint(
			b0
		);
		return;
	}
	else if(info.Length() > 0 && info[0]->IsNumber())
	{
		if(info.Length() > 1 && info[1]->IsNumber())
		{
			if(info.Length() > 2 && info[2]->IsNumber())
			{
								if(info.Length() != 3)
				{
					Nan::ThrowError("Too many parameters.");
					return;
				}
				native->SetAttachmentPoint(
					info[0]->NumberValue(),
					info[1]->NumberValue(),
					info[2]->NumberValue()
				);
				return;
			}
		}
	}
	Nan::ThrowError("Parameter mismatch");
}

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

void VtkCaptionActor2DWrap::SetCaption(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)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->SetCaption(
			*a0
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkCaptionActor2DWrap::SetCaptionTextProperty(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkTextPropertyWrap::ptpl))->HasInstance(info[0]))
	{
		VtkTextPropertyWrap *a0 = ObjectWrap::Unwrap<VtkTextPropertyWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetCaptionTextProperty(
			(vtkTextProperty *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

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

void VtkCaptionActor2DWrap::SetLeaderGlyphConnection(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkAlgorithmOutputWrap::ptpl))->HasInstance(info[0]))
	{
		VtkAlgorithmOutputWrap *a0 = ObjectWrap::Unwrap<VtkAlgorithmOutputWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetLeaderGlyphConnection(
			(vtkAlgorithmOutput *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

void VtkCaptionActor2DWrap::SetLeaderGlyphData(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkPolyDataWrap::ptpl))->HasInstance(info[0]))
	{
		VtkPolyDataWrap *a0 = ObjectWrap::Unwrap<VtkPolyDataWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->SetLeaderGlyphData(
			(vtkPolyData *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

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

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

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

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

void VtkCaptionActor2DWrap::ShallowCopy(const Nan::FunctionCallbackInfo<v8::Value>& info)
{
	VtkCaptionActor2DWrap *wrapper = ObjectWrap::Unwrap<VtkCaptionActor2DWrap>(info.Holder());
	vtkCaptionActor2D *native = (vtkCaptionActor2D *)wrapper->native.GetPointer();
	if(info.Length() > 0 && info[0]->IsObject() && (Nan::New(VtkPropWrap::ptpl))->HasInstance(info[0]))
	{
		VtkPropWrap *a0 = ObjectWrap::Unwrap<VtkPropWrap>(info[0]->ToObject());
				if(info.Length() != 1)
		{
			Nan::ThrowError("Too many parameters.");
			return;
		}
		native->ShallowCopy(
			(vtkProp *) a0->native.GetPointer()
		);
		return;
	}
	Nan::ThrowError("Parameter mismatch");
}

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

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

