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).
This commit is contained in:
Tamito Kajiyama 2014-02-02 21:59:15 +09:00
parent 41d778fa5d
commit a16998911b
4 changed files with 4 additions and 29 deletions

View File

@ -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 {

View File

@ -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()) {

View File

@ -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;
}

View File

@ -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()) {