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:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-02-02 16:59:15 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-02-02 17:05:32 +0400
commita16998911b59956806000826c15a941c53bd33c1 (patch)
treebc61930d08a377a9e108913fa6242599fa8c1374
parent41d778fa5d160c32e0f917c5502b198878fa1c08 (diff)
Freestyle: Fix for iterations over 0D elements in the reversed order.
The revision is concerned with Interface0DIterator and StrokeVertexIterator. These iterators can be generated by Interface1D::vertices_end() and Stroke::stroke_vertices_end(), respectively. These methods return an iterator poinitng the next index of the last 0D element (i.e., iterator's is_end property is true). When the iterators created in this way are used with Python's iterator protocol (e.g., in a for-loop), iterations over 0D elements are automatically performed in the reversed order. This functionality was broken after recent revisions concerning Freestyle iterators. Also made minor code cleanup (white space).
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp1
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp10
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp12
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp10
4 files changed, 4 insertions, 29 deletions
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp
index 099968878c2..89a5c369cd4 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp
@@ -113,7 +113,6 @@ static PyObject *AdjacencyIterator_iternext(BPy_AdjacencyIterator *self)
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
-
if (self->at_start)
self->at_start = false;
else {
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
index c7c9e34eb1d..f85bcddf186 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
@@ -108,15 +108,7 @@ static PyObject *Interface0DIterator_iternext(BPy_Interface0DIterator *self)
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
- if (self->at_start)
- self->at_start = false;
- else {
- self->if0D_it->decrement();
- if (self->if0D_it->isBegin()) {
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- }
+ self->if0D_it->decrement();
}
else {
if (self->if0D_it->isEnd()) {
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
index f796c8e132c..3e5051049bd 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
@@ -96,15 +96,7 @@ static PyObject *StrokeVertexIterator_iternext(BPy_StrokeVertexIterator *self)
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
- if (self->at_start)
- self->at_start = false;
- else {
- self->sv_it->increment();
- if (self->sv_it->isBegin()){
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- }
+ self->sv_it->decrement();
}
else {
if (self->sv_it->isEnd()) {
@@ -119,7 +111,7 @@ static PyObject *StrokeVertexIterator_iternext(BPy_StrokeVertexIterator *self)
* exit the loop if it is. not doing so will result in a crash */
else {
self->sv_it->increment();
- if (self->sv_it->isEnd()){
+ if (self->sv_it->isEnd()) {
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp
index ec3e534977f..e4476cf9bcf 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp
@@ -88,15 +88,7 @@ static PyObject *orientedViewEdgeIterator_iternext(BPy_orientedViewEdgeIterator
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
- if (self->at_start)
- self->at_start = false;
- else {
- self->ove_it->decrement();
- if (self->ove_it->isBegin()) {
- PyErr_SetNone(PyExc_StopIteration);
- return NULL;
- }
- }
+ self->ove_it->decrement();
}
else {
if (self->ove_it->isEnd()) {