This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/freestyle/intern/python/BPy_Iterator.h
Maxime Curioni d1b82d1f15 soc-2008-mxcurioni: added Iterator class, base class for all iterators in Freestyle (on the C++ side). Created the equivalent in Python BPy_Iterator with the simple interface:
- getExactTypeName()
- increment()
- decrement()
- isBegin()
- isEnd()

Contrary to previously stated, I am reverting back to implementing iterators in the (Python) API, for different reasons:
- it will make testing quicker to achieve, as I won't have to recode a big chunk of the original Python files
- it will be a base for API refactoring
- it won't prevent the use a list-based approach later (it is simple to get it from the Iterator)
2008-07-23 10:19:08 +00:00

36 lines
817 B
C++

#ifndef FREESTYLE_PYTHON_ITERATOR_H
#define FREESTYLE_PYTHON_ITERATOR_H
#include "../system/Iterator.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////////////////
#include <Python.h>
extern PyTypeObject Iterator_Type;
#define BPy_Iterator_Check(v) (( (PyObject *) v)->ob_type == &Iterator_Type)
/*---------------------------Python BPy_Iterator structure definition----------*/
typedef struct {
PyObject_HEAD
Iterator *it;
} BPy_Iterator;
/*---------------------------Python BPy_Iterator visible prototypes-----------*/
PyMODINIT_FUNC Iterator_Init( PyObject *module );
///////////////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#endif /* FREESTYLE_PYTHON_ITERATOR_H */