28 "Class hierarchy: :class:`Iterator` > :class:`SVertexIterator`\n"
30 "Class representing an iterator over :class:`SVertex` of a\n"
31 ":class:`ViewEdge`. An instance of an SVertexIterator can be obtained\n"
32 "from a ViewEdge by calling verticesBegin() or verticesEnd().\n"
34 ".. method:: __init__()\n"
35 " __init__(brother)\n"
36 " __init__(vertex, begin, previous_edge, next_edge, t)"
38 " Build an SVertexIterator using either the default constructor, copy constructor,\n"
39 " or the overloaded constructor that starts iteration from an SVertex object vertex.\n"
41 " :arg brother: An SVertexIterator object.\n"
42 " :type brother: :class:`SVertexIterator`\n"
43 " :arg vertex: The SVertex from which the iterator starts iteration.\n"
44 " :type vertex: :class:`SVertex`\n"
45 " :arg begin: The first SVertex of a ViewEdge.\n"
46 " :type begin: :class:`SVertex`\n"
47 " :arg previous_edge: The previous FEdge coming to vertex.\n"
48 " :type previous_edge: :class:`FEdge`\n"
49 " :arg next_edge: The next FEdge going out from vertex.\n"
50 " :type next_edge: :class:`FEdge`\n"
51 " :arg t: The curvilinear abscissa at vertex.\n"
56 static const char *kwlist_1[] = {
"brother",
nullptr};
57 static const char *kwlist_2[] = {
"vertex",
"begin",
"previous_edge",
"next_edge",
"t",
nullptr};
58 PyObject *obj1 =
nullptr, *obj2 =
nullptr, *obj3 =
nullptr, *obj4 =
nullptr;
61 if (PyArg_ParseTupleAndKeywords(
71 else if ((
void)PyErr_Clear(),
72 PyArg_ParseTupleAndKeywords(args,
93 PyErr_SetString(PyExc_TypeError,
"invalid argument(s)");
104 SVertexIterator_object_doc,
105 "The SVertex object currently pointed by this iterator.\n"
107 ":type: :class:`SVertex`");
111 if (
self->sv_it->isEnd()) {
112 PyErr_SetString(PyExc_RuntimeError,
"iteration has stopped");
124 SVertexIterator_t_doc,
125 "The curvilinear abscissa of the current point.\n"
131 return PyFloat_FromDouble(
self->sv_it->t());
136 SVertexIterator_u_doc,
137 "The point parameter at the current point in the 1D element (0 <= u <= 1).\n"
143 return PyFloat_FromDouble(
self->sv_it->u());
150 SVertexIterator_object_doc,
154 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
160 PyVarObject_HEAD_INIT(
nullptr, 0)
179 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * BPy_SVertex_from_SVertex(SVertex &sv)
PyTypeObject Iterator_Type
static PyObject * SVertexIterator_object_get(BPy_SVertexIterator *self, void *)
static PyGetSetDef BPy_SVertexIterator_getseters[]
static PyObject * SVertexIterator_u_get(BPy_SVertexIterator *self, void *)
PyTypeObject SVertexIterator_Type
PyDoc_STRVAR(SVertexIterator_doc, "Class hierarchy: :class:`Iterator` > :class:`SVertexIterator`\n" "\n" "Class representing an iterator over :class:`SVertex` of a\n" ":class:`ViewEdge`. An instance of an SVertexIterator can be obtained\n" "from a ViewEdge by calling verticesBegin() or verticesEnd().\n" "\n" ".. method:: __init__()\n" " __init__(brother)\n" " __init__(vertex, begin, previous_edge, next_edge, t)" "\n" " Build an SVertexIterator using either the default constructor, copy constructor,\n" " or the overloaded constructor that starts iteration from an SVertex object vertex.\n" "\n" " :arg brother: An SVertexIterator object.\n" " :type brother: :class:`SVertexIterator`\n" " :arg vertex: The SVertex from which the iterator starts iteration.\n" " :type vertex: :class:`SVertex`\n" " :arg begin: The first SVertex of a ViewEdge.\n" " :type begin: :class:`SVertex`\n" " :arg previous_edge: The previous FEdge coming to vertex.\n" " :type previous_edge: :class:`FEdge`\n" " :arg next_edge: The next FEdge going out from vertex.\n" " :type next_edge: :class:`FEdge`\n" " :arg t: The curvilinear abscissa at vertex.\n" " :type t: float")
static int SVertexIterator_init(BPy_SVertexIterator *self, PyObject *args, PyObject *kwds)
static PyObject * SVertexIterator_t_get(BPy_SVertexIterator *self, void *)
PyTypeObject SVertex_Type