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

#ifndef NATIVE_EXTENSION_VTK_VTKMESHQUALITYWRAP_H
#define NATIVE_EXTENSION_VTK_VTKMESHQUALITYWRAP_H

#include <nan.h>

#include <vtkSmartPointer.h>
#include <vtkMeshQuality.h>

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

class VtkMeshQualityWrap : 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);

		VtkMeshQualityWrap(vtkSmartPointer<vtkMeshQuality>);
		VtkMeshQualityWrap();
		~VtkMeshQualityWrap( );
		static Nan::Persistent<v8::FunctionTemplate> ptpl;

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

		static void CompatibilityModeOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void CompatibilityModeOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetClassName(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetCompatibilityMode(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetHexQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetQuadQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetSaveCellQuality(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTetQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetTriangleQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void GetVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexDiagonal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexDimension(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexMaxAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexMaxEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexMedAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexOddy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexShear(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexShearAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexSkew(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexStretch(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexTaper(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void HexVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void IsA(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void NewInstance(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadMaxAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadMaxAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadMaxEdgeRatios(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadMedAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadOddy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadShear(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadShearAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadSkew(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadStretch(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadTaper(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void QuadWarpage(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void RatioOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void RatioOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SafeDownCast(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SaveCellQualityOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SaveCellQualityOn(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetCompatibilityMode(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToDiagonal(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToDimension(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToMaxAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToMaxEdgeRatios(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToMedAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToOddy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToShear(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToShearAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToSkew(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToStretch(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToTaper(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetHexQualityMeasureToVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToMaxAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToMaxAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToMaxEdgeRatios(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToMedAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToOddy(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToShear(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToShearAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToSkew(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToStretch(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToTaper(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetQuadQualityMeasureToWarpage(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetSaveCellQuality(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToAspectBeta(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToAspectGamma(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToCollapseRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTetQualityMeasureToVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasure(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToMaxAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetTriangleQualityMeasureToShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void SetVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetAspectBeta(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetAspectGamma(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetCollapseRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetShapeandSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TetVolume(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleArea(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleAspectFrobenius(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleAspectRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleCondition(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleDistortion(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleEdgeRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleMaxAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleMinAngle(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleRadiusRatio(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleRelativeSizeSquared(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleScaledJacobian(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleShape(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void TriangleShapeAndSize(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void VolumeOff(const Nan::FunctionCallbackInfo<v8::Value>& info);
		static void VolumeOn(const Nan::FunctionCallbackInfo<v8::Value>& info);

#ifdef VTK_NODE_PLUS_VTKMESHQUALITYWRAP_CLASSDEF
		VTK_NODE_PLUS_VTKMESHQUALITYWRAP_CLASSDEF
#endif
};

#endif
