// python wrapper for vtkParametricKuen // #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 "vtkParametricKuen.h" extern "C" { VTK_ABI_EXPORT void PyVTKAddFile_vtkParametricKuen(PyObject *); } extern "C" { VTK_ABI_EXPORT PyObject *PyvtkParametricKuen_ClassNew(); } #ifndef DECLARED_PyvtkParametricFunction_ClassNew extern "C" { PyObject *PyvtkParametricFunction_ClassNew(); } #define DECLARED_PyvtkParametricFunction_ClassNew #endif static const char *PyvtkParametricKuen_Doc = "vtkParametricKuen - Generate Kuens' surface.\n\n" "Superclass: vtkParametricFunction\n\n" "vtkParametricKuen generates Kuens' surface. This surface has a\n" "constant negative gaussian curvature. For more information about this\n" "surface, see Dr. O'Niell's page at the UCLA Mathematics\n" "Department.@par Thanks: Tim Meehan\n\n"; static PyObject * PyvtkParametricKuen_IsTypeOf(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "IsTypeOf"); char *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetValue(temp0)) { int tempr = vtkParametricKuen::IsTypeOf(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkParametricKuen_IsA(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "IsA"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *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->vtkParametricKuen::IsA(temp0)); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkParametricKuen_SafeDownCast(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "SafeDownCast"); vtkObjectBase *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkObjectBase")) { vtkParametricKuen *tempr = vtkParametricKuen::SafeDownCast(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkParametricKuen_NewInstance(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "NewInstance"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkParametricKuen *tempr = (ap.IsBound() ? op->NewInstance() : op->vtkParametricKuen::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 * PyvtkParametricKuen_GetDimension(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetDimension"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { int tempr = (ap.IsBound() ? op->GetDimension() : op->vtkParametricKuen::GetDimension()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkParametricKuen_SetDeltaV0(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetDeltaV0"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); double temp0; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { if (ap.IsBound()) { op->SetDeltaV0(temp0); } else { op->vtkParametricKuen::SetDeltaV0(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkParametricKuen_GetDeltaV0(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetDeltaV0"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { double tempr = (ap.IsBound() ? op->GetDeltaV0() : op->vtkParametricKuen::GetDeltaV0()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkParametricKuen_Evaluate(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "Evaluate"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); const int size0 = 3; double temp0[3]; double save0[3]; const int size1 = 3; double temp1[3]; double save1[3]; const int size2 = 9; double temp2[9]; double save2[9]; PyObject *result = nullptr; if (op && ap.CheckArgCount(3) && ap.GetArray(temp0, size0) && ap.GetArray(temp1, size1) && ap.GetArray(temp2, size2)) { ap.SaveArray(temp0, save0, size0); ap.SaveArray(temp1, save1, size1); ap.SaveArray(temp2, save2, size2); if (ap.IsBound()) { op->Evaluate(temp0, temp1, temp2); } else { op->vtkParametricKuen::Evaluate(temp0, temp1, temp2); } if (ap.ArrayHasChanged(temp0, save0, size0) && !ap.ErrorOccurred()) { ap.SetArray(0, temp0, size0); } if (ap.ArrayHasChanged(temp1, save1, size1) && !ap.ErrorOccurred()) { ap.SetArray(1, temp1, size1); } if (ap.ArrayHasChanged(temp2, save2, size2) && !ap.ErrorOccurred()) { ap.SetArray(2, temp2, size2); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkParametricKuen_EvaluateScalar(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "EvaluateScalar"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkParametricKuen *op = static_cast(vp); const int size0 = 3; double temp0[3]; double save0[3]; const int size1 = 3; double temp1[3]; double save1[3]; const int size2 = 9; double temp2[9]; double save2[9]; PyObject *result = nullptr; if (op && ap.CheckArgCount(3) && ap.GetArray(temp0, size0) && ap.GetArray(temp1, size1) && ap.GetArray(temp2, size2)) { ap.SaveArray(temp0, save0, size0); ap.SaveArray(temp1, save1, size1); ap.SaveArray(temp2, save2, size2); double tempr = (ap.IsBound() ? op->EvaluateScalar(temp0, temp1, temp2) : op->vtkParametricKuen::EvaluateScalar(temp0, temp1, temp2)); if (ap.ArrayHasChanged(temp0, save0, size0) && !ap.ErrorOccurred()) { ap.SetArray(0, temp0, size0); } if (ap.ArrayHasChanged(temp1, save1, size1) && !ap.ErrorOccurred()) { ap.SetArray(1, temp1, size1); } if (ap.ArrayHasChanged(temp2, save2, size2) && !ap.ErrorOccurred()) { ap.SetArray(2, temp2, size2); } if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyMethodDef PyvtkParametricKuen_Methods[] = { {"IsTypeOf", PyvtkParametricKuen_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", PyvtkParametricKuen_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", PyvtkParametricKuen_SafeDownCast, METH_VARARGS, "V.SafeDownCast(vtkObjectBase) -> vtkParametricKuen\nC++: static vtkParametricKuen *SafeDownCast(vtkObjectBase *o)\n\n"}, {"NewInstance", PyvtkParametricKuen_NewInstance, METH_VARARGS, "V.NewInstance() -> vtkParametricKuen\nC++: vtkParametricKuen *NewInstance()\n\n"}, {"GetDimension", PyvtkParametricKuen_GetDimension, METH_VARARGS, "V.GetDimension() -> int\nC++: int GetDimension() override;\n\nReturn the parametric dimension of the class.\n"}, {"SetDeltaV0", PyvtkParametricKuen_SetDeltaV0, METH_VARARGS, "V.SetDeltaV0(float)\nC++: virtual void SetDeltaV0(double _arg)\n\nSet/Get the value to use when V == 0. Default is 0.05, giving the\nbest appearance with the default settings. Setting it to a value\nless than 0.05 extrapolates the surface towards a pole in the -z\ndirection. Setting it to 0 retains the pole whose z-value is\n-inf.\n"}, {"GetDeltaV0", PyvtkParametricKuen_GetDeltaV0, METH_VARARGS, "V.GetDeltaV0() -> float\nC++: virtual double GetDeltaV0()\n\nSet/Get the value to use when V == 0. Default is 0.05, giving the\nbest appearance with the default settings. Setting it to a value\nless than 0.05 extrapolates the surface towards a pole in the -z\ndirection. Setting it to 0 retains the pole whose z-value is\n-inf.\n"}, {"Evaluate", PyvtkParametricKuen_Evaluate, METH_VARARGS, "V.Evaluate([float, float, float], [float, float, float], [float,\n float, float, float, float, float, float, float, float])\nC++: void Evaluate(double uvw[3], double Pt[3], double Duvw[9])\n override;\n\nKuen's surface.\n\n* This function performs the mapping $f(u,v) \\rightarrow (x,y,x)\n $, returning it\n* as Pt. It also returns the partial derivatives Du and Dv.\n* $Pt = (x, y, z), D_u\\vec{f} = (dx/du, dy/du, dz/du), D_v\\vec{f}\n= (dx/dv, dy/dv, dz/dv) $ .\n* Then the normal is $N = D_u\\vec{f} \\times D_v\\vec{f} $ .\n"}, {"EvaluateScalar", PyvtkParametricKuen_EvaluateScalar, METH_VARARGS, "V.EvaluateScalar([float, float, float], [float, float, float],\n [float, float, float, float, float, float, float, float,\n float]) -> float\nC++: double EvaluateScalar(double uvw[3], double Pt[3],\n double Duvw[9]) override;\n\nCalculate a user defined scalar using one or all of uvw, Pt,\nDuvw. This method simply returns 0.\n"}, {nullptr, nullptr, 0, nullptr} }; static PyTypeObject PyvtkParametricKuen_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "vtkCommonComputationalGeometryPython.vtkParametricKuen", // 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 PyvtkParametricKuen_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 *PyvtkParametricKuen_StaticNew() { return vtkParametricKuen::New(); } PyObject *PyvtkParametricKuen_ClassNew() { PyVTKClass_Add( &PyvtkParametricKuen_Type, PyvtkParametricKuen_Methods, "vtkParametricKuen", &PyvtkParametricKuen_StaticNew); PyTypeObject *pytype = &PyvtkParametricKuen_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 *)PyvtkParametricFunction_ClassNew(); PyType_Ready(pytype); return (PyObject *)pytype; } void PyVTKAddFile_vtkParametricKuen( PyObject *dict) { PyObject *o; o = PyvtkParametricKuen_ClassNew(); if (o && PyDict_SetItemString(dict, "vtkParametricKuen", o) != 0) { Py_DECREF(o); } }