// python wrapper for vtkWriter // #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 "vtkWriter.h" extern "C" { VTK_ABI_EXPORT void PyVTKAddFile_vtkWriter(PyObject *); } extern "C" { VTK_ABI_EXPORT PyObject *PyvtkWriter_ClassNew(); } #ifndef DECLARED_PyvtkAlgorithm_ClassNew extern "C" { PyObject *PyvtkAlgorithm_ClassNew(); } #define DECLARED_PyvtkAlgorithm_ClassNew #endif static const char *PyvtkWriter_Doc = "vtkWriter - abstract class to write data to file(s)\n\n" "Superclass: vtkAlgorithm\n\n" "vtkWriter is an abstract class for mapper objects that write their\n" "data to disk (or into a communications port). All writers respond to\n" "Write() method. This method insures that there is input and input is\n" "up to date.\n\n" "@warning\n" "Every subclass of vtkWriter must implement a WriteData() method. Most\n" "likely will have to create SetInput() method as well.\n\n" "@sa\n" "vtkXMLDataSetWriter vtkDataSetWriter vtkImageWriter vtkMCubesWriter\n\n"; static PyObject * PyvtkWriter_IsTypeOf(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "IsTypeOf"); char *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetValue(temp0)) { int tempr = vtkWriter::IsTypeOf(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkWriter_IsA(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "IsA"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *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->vtkWriter::IsA(temp0)); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkWriter_SafeDownCast(PyObject *, PyObject *args) { vtkPythonArgs ap(args, "SafeDownCast"); vtkObjectBase *temp0 = nullptr; PyObject *result = nullptr; if (ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkObjectBase")) { vtkWriter *tempr = vtkWriter::SafeDownCast(temp0); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkWriter_NewInstance(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "NewInstance"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkWriter *tempr = (ap.IsBound() ? op->NewInstance() : op->vtkWriter::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 * PyvtkWriter_Write(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "Write"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { int tempr = (ap.IsBound() ? op->Write() : op->vtkWriter::Write()); if (!ap.ErrorOccurred()) { result = ap.BuildValue(tempr); } } return result; } static PyObject * PyvtkWriter_EncodeString(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "EncodeString"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); char *temp0 = nullptr; char *temp1 = nullptr; bool temp2 = false; PyObject *result = nullptr; if (op && ap.CheckArgCount(3) && ap.GetValue(temp0) && ap.GetValue(temp1) && ap.GetValue(temp2)) { if (ap.IsBound()) { op->EncodeString(temp0, temp1, temp2); } else { op->vtkWriter::EncodeString(temp0, temp1, temp2); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkWriter_SetInputData_s1(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetInputData"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); vtkDataObject *temp0 = nullptr; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetVTKObject(temp0, "vtkDataObject")) { if (ap.IsBound()) { op->SetInputData(temp0); } else { op->vtkWriter::SetInputData(temp0); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkWriter_SetInputData_s2(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "SetInputData"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); int temp0; vtkDataObject *temp1 = nullptr; PyObject *result = nullptr; if (op && ap.CheckArgCount(2) && ap.GetValue(temp0) && ap.GetVTKObject(temp1, "vtkDataObject")) { if (ap.IsBound()) { op->SetInputData(temp0, temp1); } else { op->vtkWriter::SetInputData(temp0, temp1); } if (!ap.ErrorOccurred()) { result = ap.BuildNone(); } } return result; } static PyObject * PyvtkWriter_SetInputData(PyObject *self, PyObject *args) { int nargs = vtkPythonArgs::GetArgCount(self, args); switch(nargs) { case 1: return PyvtkWriter_SetInputData_s1(self, args); case 2: return PyvtkWriter_SetInputData_s2(self, args); } vtkPythonArgs::ArgCountError(nargs, "SetInputData"); return nullptr; } static PyObject * PyvtkWriter_GetInput_s1(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetInput"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); PyObject *result = nullptr; if (op && ap.CheckArgCount(0)) { vtkDataObject *tempr = (ap.IsBound() ? op->GetInput() : op->vtkWriter::GetInput()); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkWriter_GetInput_s2(PyObject *self, PyObject *args) { vtkPythonArgs ap(self, args, "GetInput"); vtkObjectBase *vp = ap.GetSelfPointer(self, args); vtkWriter *op = static_cast(vp); int temp0; PyObject *result = nullptr; if (op && ap.CheckArgCount(1) && ap.GetValue(temp0)) { vtkDataObject *tempr = (ap.IsBound() ? op->GetInput(temp0) : op->vtkWriter::GetInput(temp0)); if (!ap.ErrorOccurred()) { result = ap.BuildVTKObject(tempr); } } return result; } static PyObject * PyvtkWriter_GetInput(PyObject *self, PyObject *args) { int nargs = vtkPythonArgs::GetArgCount(self, args); switch(nargs) { case 0: return PyvtkWriter_GetInput_s1(self, args); case 1: return PyvtkWriter_GetInput_s2(self, args); } vtkPythonArgs::ArgCountError(nargs, "GetInput"); return nullptr; } static PyMethodDef PyvtkWriter_Methods[] = { {"IsTypeOf", PyvtkWriter_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", PyvtkWriter_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", PyvtkWriter_SafeDownCast, METH_VARARGS, "V.SafeDownCast(vtkObjectBase) -> vtkWriter\nC++: static vtkWriter *SafeDownCast(vtkObjectBase *o)\n\n"}, {"NewInstance", PyvtkWriter_NewInstance, METH_VARARGS, "V.NewInstance() -> vtkWriter\nC++: vtkWriter *NewInstance()\n\n"}, {"Write", PyvtkWriter_Write, METH_VARARGS, "V.Write() -> int\nC++: virtual int Write()\n\nWrite data to output. Method executes subclasses WriteData()\nmethod, as well as StartMethod() and EndMethod() methods. Returns\n1 on success and 0 on failure.\n"}, {"EncodeString", PyvtkWriter_EncodeString, METH_VARARGS, "V.EncodeString(string, string, bool)\nC++: void EncodeString(char *resname, const char *name,\n bool doublePercent)\n\nEncode the string so that the reader will not have problems. The\nresulting string is up to three times the size of the input\nstring. doublePercent indicates whether to output a double '%'\nbefore escaped characters so the string may be used as a printf\nformat string.\n"}, {"SetInputData", PyvtkWriter_SetInputData, METH_VARARGS, "V.SetInputData(vtkDataObject)\nC++: void SetInputData(vtkDataObject *input)\nV.SetInputData(int, vtkDataObject)\nC++: void SetInputData(int index, vtkDataObject *input)\n\nSet/get the input to this writer.\n"}, {"GetInput", PyvtkWriter_GetInput, METH_VARARGS, "V.GetInput() -> vtkDataObject\nC++: vtkDataObject *GetInput()\nV.GetInput(int) -> vtkDataObject\nC++: vtkDataObject *GetInput(int port)\n\n"}, {nullptr, nullptr, 0, nullptr} }; static PyTypeObject PyvtkWriter_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "vtkIOCorePython.vtkWriter", // 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 PyvtkWriter_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 }; PyObject *PyvtkWriter_ClassNew() { PyVTKClass_Add( &PyvtkWriter_Type, PyvtkWriter_Methods, "vtkWriter", nullptr); PyTypeObject *pytype = &PyvtkWriter_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 *)PyvtkAlgorithm_ClassNew(); PyType_Ready(pytype); return (PyObject *)pytype; } void PyVTKAddFile_vtkWriter( PyObject *dict) { PyObject *o; o = PyvtkWriter_ClassNew(); if (o && PyDict_SetItemString(dict, "vtkWriter", o) != 0) { Py_DECREF(o); } for (int c = 0; c < 2; c++) { static const struct { const char *name; int value; } constants[2] = { { "VTK_ASCII", 1 }, { "VTK_BINARY", 2 }, }; o = PyInt_FromLong(constants[c].value); if (o) { PyDict_SetItemString(dict, constants[c].name, o); Py_DECREF(o); } } }