diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2009-08-01 02:13:48 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2009-08-01 02:13:48 +0400 |
commit | ba9943e4a7a6c671e427c08fc11845168a30e86a (patch) | |
tree | 99310397139b528b4ba46012389aea490597a78f /source/blender/freestyle/intern/stroke/ChainingIterators.h | |
parent | 6134a41270ab7629bb6e09de5462ba386861ede3 (diff) |
* Implemented Python's iterator protocol in Interface0DIterator and
orientedViewEdgeIterator.
* Simplified Python-related error handling in C++ class definitions.
The definitions of the following C++ methods were simplified and most
code segments using the C/Python API were moved to Director.cpp.
ChainingIterator::init()
ChainingIterator::traverse()
UnaryPredicate0D::operator()()
UnaryPredicate1D::operator()()
BinaryPredicate0D::operator()()
BinaryPredicate1D::operator()()
UnaryFunction0D::operator()()
UnaryFunction1D::operator()()
StrokeShader.shade()
* Moved part of the introspection-based automatic type conversion code
from BPy_Interface0DIterator.cpp and Director.cpp to BPy_Convert.cpp
for the sake of better code organization.
* Fixed an uninitialized member in StrokeVertexIterator___init__().
Diffstat (limited to 'source/blender/freestyle/intern/stroke/ChainingIterators.h')
-rwxr-xr-x | source/blender/freestyle/intern/stroke/ChainingIterators.h | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/source/blender/freestyle/intern/stroke/ChainingIterators.h b/source/blender/freestyle/intern/stroke/ChainingIterators.h index fb04be93b4d..ec093888aea 100755 --- a/source/blender/freestyle/intern/stroke/ChainingIterators.h +++ b/source/blender/freestyle/intern/stroke/ChainingIterators.h @@ -186,16 +186,7 @@ public: * might want to keep. */ virtual int init() { - string name( py_c_it ? PyString_AsString(PyObject_CallMethod(py_c_it, "getExactTypeName", "")) : getExactTypeName() ); - - if( py_c_it && PyObject_HasAttrString(py_c_it, "init") ) { - if (Director_BPy_ChainingIterator_init( py_c_it ) < 0) { - return -1; - } - } else { - cerr << "Warning: " << name << " init() method not implemented" << endl; - } - return 0; + return Director_BPy_ChainingIterator_init( this ); } /*! This method iterates over the potential next @@ -210,16 +201,7 @@ public: * rules by only iterating over the valid ViewEdges. */ virtual int traverse(const AdjacencyIterator &it){ - string name( py_c_it ? PyString_AsString(PyObject_CallMethod(py_c_it, "getExactTypeName", "")) : getExactTypeName() ); - - if( py_c_it && PyObject_HasAttrString(py_c_it, "traverse") ) { - if (Director_BPy_ChainingIterator_traverse(py_c_it, const_cast<AdjacencyIterator &>(it), &result ) < 0) { - return -1; - } - } else { - cerr << "Warning: the " << name << " traverse() method not defined" << endl; - } - return 0; + return Director_BPy_ChainingIterator_traverse( this, const_cast<AdjacencyIterator &>(it) ); } /* accessors */ |