Quite a few modifications were made to finish the API: - Freestyle's SConscript was modified to catch all files within the intern/python directory, allowing integration of future shaders implemented in C++. - the Operators class was ported, with a special care of making its methods static (using the METH_STATIC flag in the tp_methods method definitions) - all of the type-checking functions [ BPy_[class name]_Check(obj) ] were changed to allow subclasses to be seen as that type too: instead on looking at the ob_type value, the PyObject_IsInstance function is used. - all of the iterators can now retrieve the object pointed to by the operator, using the getObject() method. A directedViewEdge pair is returned as a list of the two elements in the pair. - all of the style modules were copied to a style_modules_blender/ folder and were modified to use Freestyle as a Blender's submodule. IntegrationType and MediumType was also integrated (for example, changing MEAN to IntegrationType.MEAN). Testing now begins. If everything works correctly, I'll move on to lib3ds removal right away.
36 lines
842 B
C++
36 lines
842 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_IsInstance( (PyObject *) v, (PyObject *) &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 */
|