// python wrapper for vtkGenericCutter // #define VTK_WRAPPING_CXX #define VTK_STREAMS_FWD_ONLY #include "vtkPythonArgs.h" #include "vtkPythonOverload.h" #include "vtkConfigure.h" #include #include #include "vtkVariant.h" #include "vtkIndent.h" #include "vtkGenericCutter.h" extern "C" { VTK_ABI_EXPORT void PyVTKAddFile_vtkGenericCutter(PyObject *); } extern "C" { VTK_ABI_EXPORT PyObject *PyvtkGenericCutter_ClassNew(); } #ifndef DECLARED_PyvtkPolyDataAlgorithm_ClassNew extern "C" { PyObject *PyvtkPolyDataAlgorithm_ClassNew(); } #define DECLARED_PyvtkPolyDataAlgorithm_ClassNew #endif static const char *PyvtkGenericCutter_Doc = "vtkGenericCutter - cut a vtkGenericDataSet with an implicit function\nor scalar data\n\n" "Superclass: vtkPolyDataAlgorithm\n\n" "vtkGenericCutter is a filter to cut through data using any subclass\n" "of vtkImplicitFunction. That is, a polygonal surface is created\n" "corresponding to the implicit function F(x,y,z) = value(s), where you\n" "can specify one or more values used to cut with.\n\n" "In VTK, cutting means reducing a cell of dimension N to a cut surface\n" "of dimension N-1. For example, a tetrahedron when cut by a plane\n" "(i.e., vtkPlane implicit function) will generate triangles. (In\n" "comparison, clipping takes a N dimensional cell and creates N\n" "dimension primitives.)\n\n" "vtkGenericCutter is generally used to \"slice-through\" a dataset,\n" "generating a surface that can be visualized. It is also possible to\n" "use vtkGenericCutter to do a form of volume rendering.\n" "vtkGenericCutter does this by generating multiple cut surfaces\n" "(usually planes) which are ordered (and rendered) from back-to-front.\n" "The surfaces are set translucent to give a volumetric rendering\n" "effect.\n\n" "This filter has been implemented to operate on generic datasets,\n" "rather than the typical vtkDataSet (and subclasses).\n" "vtkGenericDataSet is a more complex cousin of vtkDataSet, typically\n" "consisting of nonlinear, higher-order cells. To process this type of\n" "data, generic cells are automatically tessellated into linear cells\n" "prior to isocontouring.\n\n" "@sa\n" "vtkCutter vtkImplicitFunction vtkClipPolyData vtkGenericDataSet\n\n"; static PyObject * PyvtkGenericCutter_IsTypeOf(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "IsTypeOf"); char *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetValue(temp0)) { int tempr = vtkGenericCutter::IsTypeOf(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_IsA(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "IsA"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); char *temp0 = nullptr; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { int tempr = (ap.IsBound() ? op->IsA(temp0) : op->vtkGenericCutter::IsA(temp0)); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_SafeDownCast(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "SafeDownCast"); vtkObjectBase *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkObjectBase")) { vtkGenericCutter *tempr = vtkGenericCutter::SafeDownCast(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkGenericCutter_NewInstance(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "NewInstance"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkGenericCutter *tempr = (ap.IsBound() ? op->NewInstance() : op->vtkGenericCutter::NewInstance()); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); if (result && PyVTKObject_Check(result)) { PyVTKObject_GetObject(result)->UnRegister(0); PyVTKObject_SetFlag(result, VTK_PYTHON_IGNORE_UNREGISTER, 1); } } } return result; } static PyObject * PyvtkGenericCutter_SetValue(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetValue"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; double temp1; PyObject *result = nullptr; if (op && ap.CheckArgCount(2) && ap.GetValue(temp0) && ap.GetValue(temp1)) { if (ap.IsBound()) { op->SetValue(temp0, temp1); } else { op->vtkGenericCutter::SetValue(temp0, temp1); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetValue(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetValue"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { double tempr = (ap.IsBound() ? op->GetValue(temp0) : op->vtkGenericCutter::GetValue(temp0)); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_GetValues_s1(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetValues"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { double *tempr = (ap.IsBound() ? op->GetValues() : op->vtkGenericCutter::GetValues()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_GetValues_s2(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetValues"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int size0 = ap.GetArgSize(0); vtkPythonArgs::Array store0(2*size0); double *temp0 = store0.Data(); double *save0 = (size0 == 0 ? nullptr : temp0 + size0); PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetArray(temp0, size0)) { ap.SaveArray(temp0, save0, size0); if (ap.IsBound()) { op->GetValues(temp0); } else { op->vtkGenericCutter::GetValues(temp0); } if (ap.ArrayHasChanged(temp0, save0, size0) && !ap.ErrorOccurred()) { ap.SetArray(0, temp0, size0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetValues(PyObject *self, PyObject *args) { int nargs = vtkPythonArgs::GetArgCount(self, args); switch(nargs) { case 0: return PyvtkGenericCutter_GetValues_s1(self, args); case 1: return PyvtkGenericCutter_GetValues_s2(self, args); } vtkPythonArgs::ArgCountError(nargs, "GetValues"); return nullptr; } static PyObject * PyvtkGenericCutter_SetNumberOfContours(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetNumberOfContours"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { if (ap.IsBound()) { op->SetNumberOfContours(temp0); } else { op->vtkGenericCutter::SetNumberOfContours(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetNumberOfContours(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetNumberOfContours"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { int tempr = (ap.IsBound() ? op->GetNumberOfContours() : op->vtkGenericCutter::GetNumberOfContours()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_GenerateValues_s1(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GenerateValues"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; const int size1 = 2; double temp1[2]; double save1[2]; PyObject *result = nullptr; if (op && ap.CheckArgCount(2) && ap.GetValue(temp0) && ap.GetArray(temp1, size1)) { ap.SaveArray(temp1, save1, size1); if (ap.IsBound()) { op->GenerateValues(temp0, temp1); } else { op->vtkGenericCutter::GenerateValues(temp0, temp1); } if (ap.ArrayHasChanged(temp1, save1, size1) && !ap.ErrorOccurred()) { ap.SetArray(1, temp1, size1); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GenerateValues_s2(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GenerateValues"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; double temp1; double temp2; PyObject *result = nullptr; if (op && ap.CheckArgCount(3) && ap.GetValue(temp0) && ap.GetValue(temp1) && ap.GetValue(temp2)) { if (ap.IsBound()) { op->GenerateValues(temp0, temp1, temp2); } else { op->vtkGenericCutter::GenerateValues(temp0, temp1, temp2); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GenerateValues(PyObject *self, PyObject *args) { int nargs = vtkPythonArgs::GetArgCount(self, args); switch(nargs) { case 2: return PyvtkGenericCutter_GenerateValues_s1(self, args); case 3: return PyvtkGenericCutter_GenerateValues_s2(self, args); } vtkPythonArgs::ArgCountError(nargs, "GenerateValues"); return nullptr; } static PyObject * PyvtkGenericCutter_GetMTime(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetMTime"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { unsigned long tempr = (ap.IsBound() ? op->GetMTime() : op->vtkGenericCutter::GetMTime()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_SetCutFunction(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetCutFunction"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); vtkImplicitFunction *temp0 = nullptr; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkImplicitFunction")) { if (ap.IsBound()) { op->SetCutFunction(temp0); } else { op->vtkGenericCutter::SetCutFunction(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetCutFunction(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetCutFunction"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkImplicitFunction *tempr = (ap.IsBound() ? op->GetCutFunction() : op->vtkGenericCutter::GetCutFunction()); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkGenericCutter_SetGenerateCutScalars(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetGenerateCutScalars"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); int temp0; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { if (ap.IsBound()) { op->SetGenerateCutScalars(temp0); } else { op->vtkGenericCutter::SetGenerateCutScalars(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetGenerateCutScalars(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetGenerateCutScalars"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { int tempr = (ap.IsBound() ? op->GetGenerateCutScalars() : op->vtkGenericCutter::GetGenerateCutScalars()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkGenericCutter_GenerateCutScalarsOn(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GenerateCutScalarsOn"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { if (ap.IsBound()) { op->GenerateCutScalarsOn(); } else { op->vtkGenericCutter::GenerateCutScalarsOn(); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GenerateCutScalarsOff(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GenerateCutScalarsOff"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { if (ap.IsBound()) { op->GenerateCutScalarsOff(); } else { op->vtkGenericCutter::GenerateCutScalarsOff(); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_SetLocator(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetLocator"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); vtkIncrementalPointLocator *temp0 = nullptr; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkIncrementalPointLocator")) { if (ap.IsBound()) { op->SetLocator(temp0); } else { op->vtkGenericCutter::SetLocator(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkGenericCutter_GetLocator(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetLocator"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkIncrementalPointLocator *tempr = (ap.IsBound() ? op->GetLocator() : op->vtkGenericCutter::GetLocator()); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkGenericCutter_CreateDefaultLocator(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "CreateDefaultLocator"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkGenericCutter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { if (ap.IsBound()) { op->CreateDefaultLocator(); } else { op->vtkGenericCutter::CreateDefaultLocator(); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyMethodDef PyvtkGenericCutter_Methods[] = { {"IsTypeOf", PyvtkGenericCutter_IsTypeOf, METH_VARARGS, "V.IsTypeOf(string) -> int\nC++: static vtkTypeBool IsTypeOf(const char *type)\n\nReturn 1 if this class type is the same type of (or a subclass\nof) the named class. Returns 0 otherwise. This method works in\ncombination with vtkTypeMacro found in vtkSetGet.h.\n"}, {"IsA", PyvtkGenericCutter_IsA, METH_VARARGS, "V.IsA(string) -> int\nC++: vtkTypeBool IsA(const char *type) override;\n\nReturn 1 if this class is the same type of (or a subclass of) the\nnamed class. Returns 0 otherwise. This method works in\ncombination with vtkTypeMacro found in vtkSetGet.h.\n"}, {"SafeDownCast", PyvtkGenericCutter_SafeDownCast, METH_VARARGS, "V.SafeDownCast(vtkObjectBase) -> vtkGenericCutter\nC++: static vtkGenericCutter *SafeDownCast(vtkObjectBase *o)\n\n"}, {"NewInstance", PyvtkGenericCutter_NewInstance, METH_VARARGS, "V.NewInstance() -> vtkGenericCutter\nC++: vtkGenericCutter *NewInstance()\n\n"}, {"SetValue", PyvtkGenericCutter_SetValue, METH_VARARGS, "V.SetValue(int, float)\nC++: void SetValue(int i, double value)\n\nSet a particular contour value at contour number i. The index i\nranges between 0<=i float\nC++: double GetValue(int i)\n\nGet the ith contour value.\n"}, {"GetValues", PyvtkGenericCutter_GetValues, METH_VARARGS, "V.GetValues() -> (float, ...)\nC++: double *GetValues()\nV.GetValues([float, ...])\nC++: void GetValues(double *contourValues)\n\nGet a pointer to an array of contour values. There will be\nGetNumberOfContours() values in the list.\n"}, {"SetNumberOfContours", PyvtkGenericCutter_SetNumberOfContours, METH_VARARGS, "V.SetNumberOfContours(int)\nC++: void SetNumberOfContours(int number)\n\nSet the number of contours to place into the list. You only\nreally need to use this method to reduce list size. The method\nSetValue() will automatically increase list size as needed.\n"}, {"GetNumberOfContours", PyvtkGenericCutter_GetNumberOfContours, METH_VARARGS, "V.GetNumberOfContours() -> int\nC++: int GetNumberOfContours()\n\nGet the number of contours in the list of contour values.\n"}, {"GenerateValues", PyvtkGenericCutter_GenerateValues, METH_VARARGS, "V.GenerateValues(int, [float, float])\nC++: void GenerateValues(int numContours, double range[2])\nV.GenerateValues(int, float, float)\nC++: void GenerateValues(int numContours, double rangeStart,\n double rangeEnd)\n\nGenerate numContours equally spaced contour values between\nspecified range. Contour values will include min/max range\nvalues.\n"}, {"GetMTime", PyvtkGenericCutter_GetMTime, METH_VARARGS, "V.GetMTime() -> int\nC++: vtkMTimeType GetMTime() override;\n\nOverride GetMTime because we delegate to vtkContourValues and\nrefer to vtkImplicitFunction.\n"}, {"SetCutFunction", PyvtkGenericCutter_SetCutFunction, METH_VARARGS, "V.SetCutFunction(vtkImplicitFunction)\nC++: virtual void SetCutFunction(vtkImplicitFunction *)\n\nSpecify the implicit function to perform the cutting.\n"}, {"GetCutFunction", PyvtkGenericCutter_GetCutFunction, METH_VARARGS, "V.GetCutFunction() -> vtkImplicitFunction\nC++: virtual vtkImplicitFunction *GetCutFunction()\n\nSpecify the implicit function to perform the cutting.\n"}, {"SetGenerateCutScalars", PyvtkGenericCutter_SetGenerateCutScalars, METH_VARARGS, "V.SetGenerateCutScalars(int)\nC++: virtual void SetGenerateCutScalars(int _arg)\n\nIf this flag is enabled, then the output scalar values will be\ninterpolated from the implicit function values, and not the input\nscalar data.\n"}, {"GetGenerateCutScalars", PyvtkGenericCutter_GetGenerateCutScalars, METH_VARARGS, "V.GetGenerateCutScalars() -> int\nC++: virtual int GetGenerateCutScalars()\n\nIf this flag is enabled, then the output scalar values will be\ninterpolated from the implicit function values, and not the input\nscalar data.\n"}, {"GenerateCutScalarsOn", PyvtkGenericCutter_GenerateCutScalarsOn, METH_VARARGS, "V.GenerateCutScalarsOn()\nC++: virtual void GenerateCutScalarsOn()\n\nIf this flag is enabled, then the output scalar values will be\ninterpolated from the implicit function values, and not the input\nscalar data.\n"}, {"GenerateCutScalarsOff", PyvtkGenericCutter_GenerateCutScalarsOff, METH_VARARGS, "V.GenerateCutScalarsOff()\nC++: virtual void GenerateCutScalarsOff()\n\nIf this flag is enabled, then the output scalar values will be\ninterpolated from the implicit function values, and not the input\nscalar data.\n"}, {"SetLocator", PyvtkGenericCutter_SetLocator, METH_VARARGS, "V.SetLocator(vtkIncrementalPointLocator)\nC++: void SetLocator(vtkIncrementalPointLocator *locator)\n\nSpecify a spatial locator for merging points. By default, an\ninstance of vtkMergePoints is used.\n"}, {"GetLocator", PyvtkGenericCutter_GetLocator, METH_VARARGS, "V.GetLocator() -> vtkIncrementalPointLocator\nC++: virtual vtkIncrementalPointLocator *GetLocator()\n\nSpecify a spatial locator for merging points. By default, an\ninstance of vtkMergePoints is used.\n"}, {"CreateDefaultLocator", PyvtkGenericCutter_CreateDefaultLocator, METH_VARARGS, "V.CreateDefaultLocator()\nC++: void CreateDefaultLocator()\n\nCreate default locator. Used to create one when none is\nspecified. The locator is used to merge coincident points.\n"}, {nullptr, nullptr, 0, nullptr} }; static PyTypeObject PyvtkGenericCutter_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "vtkFiltersGenericPython.vtkGenericCutter", // tp_name sizeof(PyVTKObject), // tp_basicsize 0, // tp_itemsize PyVTKObject_Delete, // tp_dealloc 0, // tp_print nullptr, // tp_getattr nullptr, // tp_setattr nullptr, // tp_compare PyVTKObject_Repr, // tp_repr nullptr, // tp_as_number nullptr, // tp_as_sequence nullptr, // tp_as_mapping nullptr, // tp_hash nullptr, // tp_call PyVTKObject_String, // tp_str PyObject_GenericGetAttr, // tp_getattro PyObject_GenericSetAttr, // tp_setattro &PyVTKObject_AsBuffer, // tp_as_buffer Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_BASETYPE, // tp_flags PyvtkGenericCutter_Doc, // tp_doc PyVTKObject_Traverse, // tp_traverse nullptr, // tp_clear nullptr, // tp_richcompare offsetof(PyVTKObject, vtk_weakreflist), // tp_weaklistoffset nullptr, // tp_iter nullptr, // tp_iternext nullptr, // tp_methods nullptr, // tp_members PyVTKObject_GetSet, // tp_getset nullptr, // tp_base nullptr, // tp_dict nullptr, // tp_descr_get nullptr, // tp_descr_set offsetof(PyVTKObject, vtk_dict), // tp_dictoffset nullptr, // tp_init nullptr, // tp_alloc PyVTKObject_New, // tp_new PyObject_GC_Del, // tp_free nullptr, // tp_is_gc nullptr, // tp_bases nullptr, // tp_mro nullptr, // tp_cache nullptr, // tp_subclasses nullptr, // tp_weaklist VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED }; static vtkObjectBase *PyvtkGenericCutter_StaticNew() { return vtkGenericCutter::New(); } PyObject *PyvtkGenericCutter_ClassNew() { PyVTKClass_Add( &PyvtkGenericCutter_Type, PyvtkGenericCutter_Methods, "vtkGenericCutter", &PyvtkGenericCutter_StaticNew); PyTypeObject *pytype = &PyvtkGenericCutter_Type; if ((pytype->tp_flags & Py_TPFLAGS_READY) != 0) { return (PyObject *)pytype; } #if !defined(VTK_PY3K) && PY_VERSION_HEX >= 0x02060000 pytype->tp_flags |= Py_TPFLAGS_HAVE_NEWBUFFER; #endif pytype->tp_base = (PyTypeObject *)PyvtkPolyDataAlgorithm_ClassNew(); PyType_Ready(pytype); return (PyObject *)pytype; } void PyVTKAddFile_vtkGenericCutter( PyObject *dict) { PyObject *o; o = PyvtkGenericCutter_ClassNew(); if (o && PyDict_SetItemString(dict, "vtkGenericCutter", o) != 0) { Py_DECREF(o); } }