9 #include "../BPy_Convert.h"
22 "Class hierarchy: :class:`Iterator` > :class:`orientedViewEdgeIterator`\n"
24 "Class representing an iterator over oriented ViewEdges around a\n"
25 ":class:`ViewVertex`. This iterator allows a CCW iteration (in the image\n"
26 "plane). An instance of an orientedViewEdgeIterator can only be\n"
27 "obtained from a ViewVertex by calling edges_begin() or edges_end().\n"
29 ".. method:: __init__()\n"
30 " __init__(iBrother)\n"
32 " Creates an :class:`orientedViewEdgeIterator` using either the\n"
33 " default constructor or the copy constructor.\n"
35 " :arg iBrother: An orientedViewEdgeIterator object.\n"
36 " :type iBrother: :class:`orientedViewEdgeIterator`");
42 static const char *kwlist[] = {
"brother",
nullptr};
43 PyObject *brother =
nullptr;
45 if (!PyArg_ParseTupleAndKeywords(
51 self->at_start =
true;
52 self->reversed =
false;
60 self->py_it.it =
self->ove_it;
67 self->at_start =
true;
68 return (PyObject *)
self;
74 if (
self->ove_it->isBegin()) {
75 PyErr_SetNone(PyExc_StopIteration);
78 self->ove_it->decrement();
81 if (
self->ove_it->isEnd()) {
82 PyErr_SetNone(PyExc_StopIteration);
86 self->at_start =
false;
89 self->ove_it->increment();
90 if (
self->ove_it->isEnd()) {
91 PyErr_SetNone(PyExc_StopIteration);
103 "The oriented ViewEdge (i.e., a tuple of the pointed ViewEdge and a boolean\n"
104 "value) currently pointed to by this iterator. If the boolean value is true,\n"
105 "the ViewEdge is incoming.\n"
107 ":type: (:class:`ViewEdge`, bool)");
112 if (
self->ove_it->isEnd()) {
113 PyErr_SetString(PyExc_RuntimeError,
"iteration has stopped");
123 orientedViewEdgeIterator_object_doc,
125 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
131 PyVarObject_HEAD_INIT(
nullptr, 0)
"orientedViewEdgeIterator",
149 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
150 orientedViewEdgeIterator_doc,
PyObject * BPy_directedViewEdge_from_directedViewEdge(ViewVertex::directedViewEdge &dve)
PyTypeObject Iterator_Type
static int orientedViewEdgeIterator_init(BPy_orientedViewEdgeIterator *self, PyObject *args, PyObject *kwds)
static PyObject * orientedViewEdgeIterator_iternext(BPy_orientedViewEdgeIterator *self)
PyDoc_STRVAR(orientedViewEdgeIterator_doc, "Class hierarchy: :class:`Iterator` > :class:`orientedViewEdgeIterator`\n" "\n" "Class representing an iterator over oriented ViewEdges around a\n" ":class:`ViewVertex`. This iterator allows a CCW iteration (in the image\n" "plane). An instance of an orientedViewEdgeIterator can only be\n" "obtained from a ViewVertex by calling edges_begin() or edges_end().\n" "\n" ".. method:: __init__()\n" " __init__(iBrother)\n" "\n" " Creates an :class:`orientedViewEdgeIterator` using either the\n" " default constructor or the copy constructor.\n" "\n" " :arg iBrother: An orientedViewEdgeIterator object.\n" " :type iBrother: :class:`orientedViewEdgeIterator`")
static PyObject * orientedViewEdgeIterator_object_get(BPy_orientedViewEdgeIterator *self, void *UNUSED(closure))
static PyObject * orientedViewEdgeIterator_iter(BPy_orientedViewEdgeIterator *self)
PyTypeObject orientedViewEdgeIterator_Type
static PyGetSetDef BPy_orientedViewEdgeIterator_getseters[]
pair< ViewEdge *, bool > directedViewEdge