Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp')
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp333
1 files changed, 175 insertions, 158 deletions
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
index 6e3606c0041..6218541df9b 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
@@ -32,210 +32,227 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
PyDoc_STRVAR(Interface0DIterator_doc,
-"Class hierarchy: :class:`Iterator` > :class:`Interface0DIterator`\n"
-"\n"
-"Class defining an iterator over Interface0D elements. An instance of\n"
-"this iterator is always obtained from a 1D element.\n"
-"\n"
-".. method:: __init__(brother)\n"
-"\n"
-" Copy constructor.\n"
-"\n"
-" :arg brother: An Interface0DIterator object.\n"
-" :type brother: :class:`Interface0DIterator`\n"
-"\n"
-".. method:: __init__(it)\n"
-"\n"
-" Construct a nested Interface0DIterator that can be the argument of\n"
-" a Function0D.\n"
-"\n"
-" :arg it: An iterator object to be nested.\n"
-" :type it: :class:`SVertexIterator`, :class:`CurvePointIterator`, or\n"
-" :class:`StrokeVertexIterator`");
+ "Class hierarchy: :class:`Iterator` > :class:`Interface0DIterator`\n"
+ "\n"
+ "Class defining an iterator over Interface0D elements. An instance of\n"
+ "this iterator is always obtained from a 1D element.\n"
+ "\n"
+ ".. method:: __init__(brother)\n"
+ "\n"
+ " Copy constructor.\n"
+ "\n"
+ " :arg brother: An Interface0DIterator object.\n"
+ " :type brother: :class:`Interface0DIterator`\n"
+ "\n"
+ ".. method:: __init__(it)\n"
+ "\n"
+ " Construct a nested Interface0DIterator that can be the argument of\n"
+ " a Function0D.\n"
+ "\n"
+ " :arg it: An iterator object to be nested.\n"
+ " :type it: :class:`SVertexIterator`, :class:`CurvePointIterator`, or\n"
+ " :class:`StrokeVertexIterator`");
static int convert_nested_it(PyObject *obj, void *v)
{
- if (!obj || !BPy_Iterator_Check(obj))
- return 0;
- Interface0DIteratorNested *nested_it = dynamic_cast<Interface0DIteratorNested *>(((BPy_Iterator *)obj)->it);
- if (!nested_it)
- return 0;
- *((Interface0DIteratorNested **)v) = nested_it;
- return 1;
+ if (!obj || !BPy_Iterator_Check(obj))
+ return 0;
+ Interface0DIteratorNested *nested_it = dynamic_cast<Interface0DIteratorNested *>(
+ ((BPy_Iterator *)obj)->it);
+ if (!nested_it)
+ return 0;
+ *((Interface0DIteratorNested **)v) = nested_it;
+ return 1;
}
static int Interface0DIterator_init(BPy_Interface0DIterator *self, PyObject *args, PyObject *kwds)
{
- static const char *kwlist_1[] = {"it", NULL};
- static const char *kwlist_2[] = {"inter", NULL};
- static const char *kwlist_3[] = {"brother", NULL};
- Interface0DIteratorNested *nested_it;
- PyObject *brother, *inter;
-
- if (PyArg_ParseTupleAndKeywords(args, kwds, "O&", (char **)kwlist_1, convert_nested_it, &nested_it)) {
- self->if0D_it = new Interface0DIterator(nested_it->copy());
- self->at_start = true;
- self->reversed = false;
- }
- else if (PyErr_Clear(),
- PyArg_ParseTupleAndKeywords(args, kwds, "O!", (char **)kwlist_2, &Interface1D_Type, &inter))
- {
- self->if0D_it = new Interface0DIterator(((BPy_Interface1D *)inter)->if1D->verticesBegin());
- self->at_start = true;
- self->reversed = false;
- }
- else if (PyErr_Clear(),
- PyArg_ParseTupleAndKeywords(args, kwds, "O!", (char **)kwlist_3, &Interface0DIterator_Type, &brother))
- {
- self->if0D_it = new Interface0DIterator(*(((BPy_Interface0DIterator *)brother)->if0D_it));
- self->at_start = ((BPy_Interface0DIterator *)brother)->at_start;
- self->reversed = ((BPy_Interface0DIterator *)brother)->reversed;
- }
- else {
- PyErr_SetString(PyExc_TypeError, "invalid argument(s)");
- return -1;
- }
- self->py_it.it = self->if0D_it;
- return 0;
+ static const char *kwlist_1[] = {"it", NULL};
+ static const char *kwlist_2[] = {"inter", NULL};
+ static const char *kwlist_3[] = {"brother", NULL};
+ Interface0DIteratorNested *nested_it;
+ PyObject *brother, *inter;
+
+ if (PyArg_ParseTupleAndKeywords(
+ args, kwds, "O&", (char **)kwlist_1, convert_nested_it, &nested_it)) {
+ self->if0D_it = new Interface0DIterator(nested_it->copy());
+ self->at_start = true;
+ self->reversed = false;
+ }
+ else if (PyErr_Clear(),
+ PyArg_ParseTupleAndKeywords(
+ args, kwds, "O!", (char **)kwlist_2, &Interface1D_Type, &inter)) {
+ self->if0D_it = new Interface0DIterator(((BPy_Interface1D *)inter)->if1D->verticesBegin());
+ self->at_start = true;
+ self->reversed = false;
+ }
+ else if (PyErr_Clear(),
+ PyArg_ParseTupleAndKeywords(
+ args, kwds, "O!", (char **)kwlist_3, &Interface0DIterator_Type, &brother)) {
+ self->if0D_it = new Interface0DIterator(*(((BPy_Interface0DIterator *)brother)->if0D_it));
+ self->at_start = ((BPy_Interface0DIterator *)brother)->at_start;
+ self->reversed = ((BPy_Interface0DIterator *)brother)->reversed;
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError, "invalid argument(s)");
+ return -1;
+ }
+ self->py_it.it = self->if0D_it;
+ return 0;
}
static PyObject *Interface0DIterator_iter(BPy_Interface0DIterator *self)
{
- Py_INCREF(self);
- self->at_start = true;
- return (PyObject *) self;
+ Py_INCREF(self);
+ self->at_start = true;
+ return (PyObject *)self;
}
static PyObject *Interface0DIterator_iternext(BPy_Interface0DIterator *self)
{
- if (self->reversed) {
- if (self->if0D_it->isBegin()) {
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- self->if0D_it->decrement();
- }
- else {
- if (self->if0D_it->isEnd()) {
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- else if (self->at_start) {
- self->at_start = false;
- }
- else if (self->if0D_it->atLast()) {
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- else {
- self->if0D_it->increment();
- }
- }
- Interface0D *if0D = self->if0D_it->operator->();
- return Any_BPy_Interface0D_from_Interface0D(*if0D);
+ if (self->reversed) {
+ if (self->if0D_it->isBegin()) {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ self->if0D_it->decrement();
+ }
+ else {
+ if (self->if0D_it->isEnd()) {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ else if (self->at_start) {
+ self->at_start = false;
+ }
+ else if (self->if0D_it->atLast()) {
+ PyErr_SetNone(PyExc_StopIteration);
+ return NULL;
+ }
+ else {
+ self->if0D_it->increment();
+ }
+ }
+ Interface0D *if0D = self->if0D_it->operator->();
+ return Any_BPy_Interface0D_from_Interface0D(*if0D);
}
/*----------------------Interface0DIterator get/setters ----------------------------*/
PyDoc_STRVAR(Interface0DIterator_object_doc,
-"The 0D object currently pointed to by this iterator. Note that the object\n"
-"may be an instance of an Interface0D subclass. For example if the iterator\n"
-"has been created from the `vertices_begin()` method of the :class:`Stroke`\n"
-"class, the .object property refers to a :class:`StrokeVertex` object.\n"
-"\n"
-":type: :class:`Interface0D` or one of its subclasses.");
-
-static PyObject *Interface0DIterator_object_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
+ "The 0D object currently pointed to by this iterator. Note that the object\n"
+ "may be an instance of an Interface0D subclass. For example if the iterator\n"
+ "has been created from the `vertices_begin()` method of the :class:`Stroke`\n"
+ "class, the .object property refers to a :class:`StrokeVertex` object.\n"
+ "\n"
+ ":type: :class:`Interface0D` or one of its subclasses.");
+
+static PyObject *Interface0DIterator_object_get(BPy_Interface0DIterator *self,
+ void *UNUSED(closure))
{
- if (self->if0D_it->isEnd()) {
- PyErr_SetString(PyExc_RuntimeError, "iteration has stopped");
- return NULL;
- }
- return Any_BPy_Interface0D_from_Interface0D(self->if0D_it->operator*());
+ if (self->if0D_it->isEnd()) {
+ PyErr_SetString(PyExc_RuntimeError, "iteration has stopped");
+ return NULL;
+ }
+ return Any_BPy_Interface0D_from_Interface0D(self->if0D_it->operator*());
}
PyDoc_STRVAR(Interface0DIterator_t_doc,
-"The curvilinear abscissa of the current point.\n"
-"\n"
-":type: float");
+ "The curvilinear abscissa of the current point.\n"
+ "\n"
+ ":type: float");
static PyObject *Interface0DIterator_t_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
{
- return PyFloat_FromDouble(self->if0D_it->t());
+ return PyFloat_FromDouble(self->if0D_it->t());
}
PyDoc_STRVAR(Interface0DIterator_u_doc,
-"The point parameter at the current point in the 1D element (0 <= u <= 1).\n"
-"\n"
-":type: float");
+ "The point parameter at the current point in the 1D element (0 <= u <= 1).\n"
+ "\n"
+ ":type: float");
static PyObject *Interface0DIterator_u_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
{
- return PyFloat_FromDouble(self->if0D_it->u());
+ return PyFloat_FromDouble(self->if0D_it->u());
}
PyDoc_STRVAR(Interface0DIterator_at_last_doc,
-"True if the interator points to the last valid element.\n"
-"For its counterpart (pointing to the first valid element), use it.is_begin.\n"
-"\n"
-":type: bool");
+ "True if the interator points to the last valid element.\n"
+ "For its counterpart (pointing to the first valid element), use it.is_begin.\n"
+ "\n"
+ ":type: bool");
-static PyObject *Interface0DIterator_at_last_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
+static PyObject *Interface0DIterator_at_last_get(BPy_Interface0DIterator *self,
+ void *UNUSED(closure))
{
- return PyBool_from_bool(self->if0D_it->atLast());
+ return PyBool_from_bool(self->if0D_it->atLast());
}
static PyGetSetDef BPy_Interface0DIterator_getseters[] = {
- {(char *)"object", (getter)Interface0DIterator_object_get, (setter)NULL,
- (char *)Interface0DIterator_object_doc, NULL},
- {(char *)"t", (getter)Interface0DIterator_t_get, (setter)NULL, (char *)Interface0DIterator_t_doc, NULL},
- {(char *)"u", (getter)Interface0DIterator_u_get, (setter)NULL, (char *)Interface0DIterator_u_doc, NULL},
- {(char *)"at_last", (getter)Interface0DIterator_at_last_get, (setter)NULL,
- (char *)Interface0DIterator_at_last_doc, NULL},
- {NULL, NULL, NULL, NULL, NULL} /* Sentinel */
+ {(char *)"object",
+ (getter)Interface0DIterator_object_get,
+ (setter)NULL,
+ (char *)Interface0DIterator_object_doc,
+ NULL},
+ {(char *)"t",
+ (getter)Interface0DIterator_t_get,
+ (setter)NULL,
+ (char *)Interface0DIterator_t_doc,
+ NULL},
+ {(char *)"u",
+ (getter)Interface0DIterator_u_get,
+ (setter)NULL,
+ (char *)Interface0DIterator_u_doc,
+ NULL},
+ {(char *)"at_last",
+ (getter)Interface0DIterator_at_last_get,
+ (setter)NULL,
+ (char *)Interface0DIterator_at_last_doc,
+ NULL},
+ {NULL, NULL, NULL, NULL, NULL} /* Sentinel */
};
/*-----------------------BPy_Interface0DIterator type definition ------------------------------*/
PyTypeObject Interface0DIterator_Type = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "Interface0DIterator", /* tp_name */
- sizeof(BPy_Interface0DIterator), /* tp_basicsize */
- 0, /* tp_itemsize */
- 0, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
- Interface0DIterator_doc, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- (getiterfunc)Interface0DIterator_iter, /* tp_iter */
- (iternextfunc)Interface0DIterator_iternext, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- BPy_Interface0DIterator_getseters, /* tp_getset */
- &Iterator_Type, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)Interface0DIterator_init, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
+ PyVarObject_HEAD_INIT(NULL, 0) "Interface0DIterator", /* tp_name */
+ sizeof(BPy_Interface0DIterator), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ 0, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ Interface0DIterator_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ (getiterfunc)Interface0DIterator_iter, /* tp_iter */
+ (iternextfunc)Interface0DIterator_iternext, /* tp_iternext */
+ 0, /* tp_methods */
+ 0, /* tp_members */
+ BPy_Interface0DIterator_getseters, /* tp_getset */
+ &Iterator_Type, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)Interface0DIterator_init, /* tp_init */
+ 0, /* tp_alloc */
+ 0, /* tp_new */
};
///////////////////////////////////////////////////////////////////////////////////////////