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

#ifndef NATIVE_EXTENSION_VTK_VTKCELLQUALITYWRAP_H
#define NATIVE_EXTENSION_VTK_VTKCELLQUALITYWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkCellQuality.h>

#include "vtkDataSetAlgorithmWrap.h"
#include "../../plus/plus.h"

class VtkCellQualityWrap : public VtkDataSetAlgorithmWrap
{
	public:
		using Nan::ObjectWrap::Wrap;
		static void Init(v8::Local<v8::Object> exports);
		static void InitPtpl();
		static void ConstructorGetter(
			v8::Local<v8::String> property,
			const Nan::PropertyCallbackInfo<v8::Value>& info);

		VtkCellQualityWrap(vtkSmartPointer<vtkCellQuality>);
		VtkCellQualityWrap();
		~VtkCellQualityWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void GetQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUndefinedQuality(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetUnsupportedGeometry(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PixelArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void PolygonArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToAspectBeta(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToAspectGamma(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToCollapseRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToDiagonal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToDimension(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToMaxAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToMaxAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToMaxEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToMedAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToOddy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToShear(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToShearAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToSkew(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToStretch(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToTaper(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQualityMeasureToWarpage(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUndefinedQuality(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetUnsupportedGeometry(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleStripArea(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKCELLQUALITYWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKCELLQUALITYWRAP_CLASSDEF
#endif
};

#endif
