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_ChainPredicateIterator.cpp')
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp186
1 files changed, 94 insertions, 92 deletions
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
index 1703fc2bddb..e4cd1cd073b 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
@@ -33,59 +33,56 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
-PyDoc_STRVAR(ChainPredicateIterator_doc,
-
- "Class hierarchy: :class:`freestyle.types.Iterator` >\n"
- ":class:`freestyle.types.ViewEdgeIterator` >\n"
- ":class:`freestyle.types.ChainingIterator` >\n"
- ":class:`ChainPredicateIterator`\n"
- "\n"
- "A \"generic\" user-controlled ViewEdge iterator. This iterator is in\n"
- "particular built from a unary predicate and a binary predicate.\n"
- "First, the unary predicate is evaluated for all potential next\n"
- "ViewEdges in order to only keep the ones respecting a certain\n"
- "constraint. Then, the binary predicate is evaluated on the current\n"
- "ViewEdge together with each ViewEdge of the previous selection. The\n"
- "first ViewEdge respecting both the unary predicate and the binary\n"
- "predicate is kept as the next one. If none of the potential next\n"
- "ViewEdge respects these two predicates, None is returned.\n"
- "\n"
- ".. method:: __init__(upred, bpred, restrict_to_selection=True, "
- "restrict_to_unvisited=True, begin=None, "
- "orientation=True)\n"
- "\n"
- " Builds a ChainPredicateIterator from a unary predicate, a binary\n"
- " predicate, a starting ViewEdge and its orientation.\n"
- "\n"
- " :arg upred: The unary predicate that the next ViewEdge must satisfy.\n"
- " :type upred: :class:`freestyle.types.UnaryPredicate1D`\n"
- " :arg bpred: The binary predicate that the next ViewEdge must\n"
- " satisfy together with the actual pointed ViewEdge.\n"
- " :type bpred: :class:`freestyle.types.BinaryPredicate1D`\n"
- " :arg restrict_to_selection: Indicates whether to force the chaining\n"
- " to stay within the set of selected ViewEdges or not.\n"
- " :type restrict_to_selection: bool\n"
- " :arg restrict_to_unvisited: Indicates whether a ViewEdge that has\n"
- " already been chained must be ignored ot not.\n"
- " :type restrict_to_unvisited: bool\n"
- " :arg begin: The ViewEdge from where to start the iteration.\n"
- " :type begin: :class:`freestyle.types.ViewEdge` or None\n"
- " :arg orientation: If true, we'll look for the next ViewEdge among\n"
- " the ViewEdges that surround the ending ViewVertex of begin. If\n"
- " false, we'll search over the ViewEdges surrounding the ending\n"
- " ViewVertex of begin.\n"
- " :type orientation: bool\n"
- "\n"
- ".. method:: __init__(brother)\n"
- "\n"
- " Copy constructor.\n"
- "\n"
- " :arg brother: A ChainPredicateIterator object.\n"
- " :type brother: :class:`ChainPredicateIterator`");
+PyDoc_STRVAR(
+ ChainPredicateIterator_doc,
+
+ "Class hierarchy: :class:`freestyle.types.Iterator` >\n"
+ ":class:`freestyle.types.ViewEdgeIterator` >\n"
+ ":class:`freestyle.types.ChainingIterator` >\n"
+ ":class:`ChainPredicateIterator`\n"
+ "\n"
+ "A \"generic\" user-controlled ViewEdge iterator. This iterator is in\n"
+ "particular built from a unary predicate and a binary predicate.\n"
+ "First, the unary predicate is evaluated for all potential next\n"
+ "ViewEdges in order to only keep the ones respecting a certain\n"
+ "constraint. Then, the binary predicate is evaluated on the current\n"
+ "ViewEdge together with each ViewEdge of the previous selection. The\n"
+ "first ViewEdge respecting both the unary predicate and the binary\n"
+ "predicate is kept as the next one. If none of the potential next\n"
+ "ViewEdge respects these two predicates, None is returned.\n"
+ "\n"
+ ".. method:: __init__(upred, bpred, restrict_to_selection=True, "
+ " restrict_to_unvisited=True, begin=None, "
+ " orientation=True)\n"
+ " __init__(brother)\n"
+ "\n"
+ " Builds a ChainPredicateIterator from a unary predicate, a binary\n"
+ " predicate, a starting ViewEdge and its orientation or using the copy constructor.\n"
+ "\n"
+ " :arg upred: The unary predicate that the next ViewEdge must satisfy.\n"
+ " :type upred: :class:`freestyle.types.UnaryPredicate1D`\n"
+ " :arg bpred: The binary predicate that the next ViewEdge must\n"
+ " satisfy together with the actual pointed ViewEdge.\n"
+ " :type bpred: :class:`freestyle.types.BinaryPredicate1D`\n"
+ " :arg restrict_to_selection: Indicates whether to force the chaining\n"
+ " to stay within the set of selected ViewEdges or not.\n"
+ " :type restrict_to_selection: bool\n"
+ " :arg restrict_to_unvisited: Indicates whether a ViewEdge that has\n"
+ " already been chained must be ignored ot not.\n"
+ " :type restrict_to_unvisited: bool\n"
+ " :arg begin: The ViewEdge from where to start the iteration.\n"
+ " :type begin: :class:`freestyle.types.ViewEdge` or None\n"
+ " :arg orientation: If true, we'll look for the next ViewEdge among\n"
+ " the ViewEdges that surround the ending ViewVertex of begin. If\n"
+ " false, we'll search over the ViewEdges surrounding the ending\n"
+ " ViewVertex of begin.\n"
+ " :type orientation: bool\n"
+ " :arg brother: A ChainPredicateIterator object.\n"
+ " :type brother: :class:`ChainPredicateIterator`");
static int check_begin(PyObject *obj, void *v)
{
- if (obj != NULL && obj != Py_None && !BPy_ViewEdge_Check(obj)) {
+ if (obj != nullptr && obj != Py_None && !BPy_ViewEdge_Check(obj)) {
return 0;
}
*((PyObject **)v) = obj;
@@ -96,15 +93,16 @@ static int ChainPredicateIterator_init(BPy_ChainPredicateIterator *self,
PyObject *args,
PyObject *kwds)
{
- static const char *kwlist_1[] = {"brother", NULL};
+ static const char *kwlist_1[] = {"brother", nullptr};
static const char *kwlist_2[] = {"upred",
"bpred",
"restrict_to_selection",
"restrict_to_unvisited",
"begin",
"orientation",
- NULL};
- PyObject *obj1 = 0, *obj2 = 0, *obj3 = 0, *obj4 = 0, *obj5 = 0, *obj6 = 0;
+ nullptr};
+ PyObject *obj1 = nullptr, *obj2 = nullptr, *obj3 = nullptr, *obj4 = nullptr, *obj5 = nullptr,
+ *obj6 = nullptr;
if (PyArg_ParseTupleAndKeywords(
args, kwds, "O!", (char **)kwlist_1, &ChainPredicateIterator_Type, &obj1)) {
@@ -115,7 +113,7 @@ static int ChainPredicateIterator_init(BPy_ChainPredicateIterator *self,
Py_INCREF(self->bpred);
}
else if ((void)PyErr_Clear(),
- (void)(obj3 = obj4 = obj5 = obj6 = 0),
+ (void)(obj3 = obj4 = obj5 = obj6 = nullptr),
PyArg_ParseTupleAndKeywords(args,
kwds,
"O!O!|O!O!O&O!",
@@ -136,7 +134,7 @@ static int ChainPredicateIterator_init(BPy_ChainPredicateIterator *self,
BinaryPredicate1D *bp1D = ((BPy_BinaryPredicate1D *)obj2)->bp1D;
bool restrict_to_selection = (!obj3) ? true : bool_from_PyBool(obj3);
bool restrict_to_unvisited = (!obj4) ? true : bool_from_PyBool(obj4);
- ViewEdge *begin = (!obj5 || obj5 == Py_None) ? NULL : ((BPy_ViewEdge *)obj5)->ve;
+ ViewEdge *begin = (!obj5 || obj5 == Py_None) ? nullptr : ((BPy_ViewEdge *)obj5)->ve;
bool orientation = (!obj6) ? true : bool_from_PyBool(obj6);
self->cp_it = new ChainPredicateIterator(
*up1D, *bp1D, restrict_to_selection, restrict_to_unvisited, begin, orientation);
@@ -165,43 +163,47 @@ static void ChainPredicateIterator_dealloc(BPy_ChainPredicateIterator *self)
/*-----------------------BPy_ChainPredicateIterator type definition ----------------------------*/
PyTypeObject ChainPredicateIterator_Type = {
- PyVarObject_HEAD_INIT(NULL, 0) "ChainPredicateIterator", /* tp_name */
- sizeof(BPy_ChainPredicateIterator), /* tp_basicsize */
- 0, /* tp_itemsize */
- (destructor)ChainPredicateIterator_dealloc, /* 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 */
- ChainPredicateIterator_doc, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- &ChainingIterator_Type, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)ChainPredicateIterator_init, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
+ PyVarObject_HEAD_INIT(nullptr, 0) "ChainPredicateIterator", /* tp_name */
+ sizeof(BPy_ChainPredicateIterator), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)ChainPredicateIterator_dealloc, /* tp_dealloc */
+#if PY_VERSION_HEX >= 0x03080000
+ 0, /* tp_vectorcall_offset */
+#else
+ nullptr, /* tp_print */
+#endif
+ nullptr, /* tp_getattr */
+ nullptr, /* tp_setattr */
+ nullptr, /* tp_reserved */
+ nullptr, /* tp_repr */
+ nullptr, /* tp_as_number */
+ nullptr, /* tp_as_sequence */
+ nullptr, /* tp_as_mapping */
+ nullptr, /* tp_hash */
+ nullptr, /* tp_call */
+ nullptr, /* tp_str */
+ nullptr, /* tp_getattro */
+ nullptr, /* tp_setattro */
+ nullptr, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ ChainPredicateIterator_doc, /* tp_doc */
+ nullptr, /* tp_traverse */
+ nullptr, /* tp_clear */
+ nullptr, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ nullptr, /* tp_iter */
+ nullptr, /* tp_iternext */
+ nullptr, /* tp_methods */
+ nullptr, /* tp_members */
+ nullptr, /* tp_getset */
+ &ChainingIterator_Type, /* tp_base */
+ nullptr, /* tp_dict */
+ nullptr, /* tp_descr_get */
+ nullptr, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)ChainPredicateIterator_init, /* tp_init */
+ nullptr, /* tp_alloc */
+ nullptr, /* tp_new */
};
///////////////////////////////////////////////////////////////////////////////////////////