28 "Class hierarchy: :class:`Interface0D` > :class:`ViewVertex`\n"
30 "Class to define a view vertex. A view vertex is a feature vertex\n"
31 "corresponding to a point of the image graph, where the characteristics\n"
32 "of an edge (e.g., nature and visibility) might change. A\n"
33 ":class:`ViewVertex` can be of two kinds: A :class:`TVertex` when it\n"
34 "corresponds to the intersection between two ViewEdges or a\n"
35 ":class:`NonTVertex` when it corresponds to a vertex of the initial\n"
36 "input mesh (it is the case for vertices such as corners for example).\n"
37 "Thus, this class can be specialized into two classes, the\n"
38 ":class:`TVertex` class and the :class:`NonTVertex` class.");
42 PyErr_SetString(PyExc_TypeError,
"cannot instantiate abstract class");
48 ViewVertex_edges_begin_doc,
49 ".. method:: edges_begin()\n"
51 " Returns an iterator over the ViewEdges that goes to or comes from\n"
52 " this ViewVertex pointing to the first ViewEdge of the list. The\n"
53 " orientedViewEdgeIterator allows to iterate in CCW order over these\n"
54 " ViewEdges and to get the orientation for each ViewEdge\n"
55 " (incoming/outgoing).\n"
57 " :return: An orientedViewEdgeIterator pointing to the first ViewEdge.\n"
58 " :rtype: :class:`orientedViewEdgeIterator`");
68 ViewVertex_edges_end_doc,
69 ".. method:: edges_end()\n"
71 " Returns an orientedViewEdgeIterator over the ViewEdges around this\n"
72 " ViewVertex, pointing after the last ViewEdge.\n"
74 " :return: An orientedViewEdgeIterator pointing after the last ViewEdge.\n"
75 " :rtype: :class:`orientedViewEdgeIterator`");
83 PyErr_SetString(PyExc_NotImplementedError,
"edges_end method currently disabled");
90 ViewVertex_edges_iterator_doc,
91 ".. method:: edges_iterator(edge)\n"
93 " Returns an orientedViewEdgeIterator pointing to the ViewEdge given\n"
96 " :arg edge: A ViewEdge object.\n"
97 " :type edge: :class:`ViewEdge`\n"
98 " :return: An orientedViewEdgeIterator pointing to the given ViewEdge.\n"
99 " :rtype: :class:`orientedViewEdgeIterator`");
103 static const char *kwlist[] = {
"edge",
nullptr};
106 if (PyArg_ParseTupleAndKeywords(args, kwds,
"O!", (
char **)kwlist, &
ViewEdge_Type, &py_ve)) {
119 METH_VARARGS | METH_KEYWORDS,
120 ViewVertex_edges_iterator_doc},
121 {
nullptr,
nullptr, 0,
nullptr},
128 ViewVertex_nature_doc,
129 "The nature of this ViewVertex.\n"
131 ":type: :class:`Nature`");
136 if (PyErr_Occurred()) {
145 PyErr_SetString(PyExc_TypeError,
"value must be a Nature");
148 self->vv->setNature(PyLong_AsLong((PyObject *)&((
BPy_Nature *)value)->i));
156 ViewVertex_nature_doc,
158 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
164 PyVarObject_HEAD_INIT(
nullptr, 0)
183 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * BPy_orientedViewEdgeIterator_from_orientedViewEdgeIterator(ViewVertexInternal::orientedViewEdgeIterator &ove_it, bool reversed)
PyObject * BPy_Nature_from_Nature(ushort n)
PyTypeObject Interface0D_Type
#define BPy_Nature_Check(v)
PyTypeObject ViewEdge_Type
static PyMethodDef BPy_ViewVertex_methods[]
static PyObject * ViewVertex_edges_end(BPy_ViewVertex *)
static int ViewVertex_init(BPy_ViewVertex *, PyObject *, PyObject *)
PyTypeObject ViewVertex_Type
static PyGetSetDef BPy_ViewVertex_getseters[]
static PyObject * ViewVertex_nature_get(BPy_ViewVertex *self, void *)
static int ViewVertex_nature_set(BPy_ViewVertex *self, PyObject *value, void *)
static PyObject * ViewVertex_edges_begin(BPy_ViewVertex *self)
static PyObject * ViewVertex_edges_iterator(BPy_ViewVertex *self, PyObject *args, PyObject *kwds)
PyDoc_STRVAR(ViewVertex_doc, "Class hierarchy: :class:`Interface0D` > :class:`ViewVertex`\n" "\n" "Class to define a view vertex. A view vertex is a feature vertex\n" "corresponding to a point of the image graph, where the characteristics\n" "of an edge (e.g., nature and visibility) might change. A\n" ":class:`ViewVertex` can be of two kinds: A :class:`TVertex` when it\n" "corresponds to the intersection between two ViewEdges or a\n" ":class:`NonTVertex` when it corresponds to a vertex of the initial\n" "input mesh (it is the case for vertices such as corners for example).\n" "Thus, this class can be specialized into two classes, the\n" ":class:`TVertex` class and the :class:`NonTVertex` class.")