From e385d69580de32df6dcfd009853ddd4eb8a3191e Mon Sep 17 00:00:00 2001 From: Maxime Curioni Date: Sat, 2 Aug 2008 07:39:49 +0000 Subject: soc-2008-mxcurioni: Made crucial corrections to stabilize the system. Most of the original styles are supported: stroke attributes are correctly taken into account, Python shaders are supported. Added SamplingShader. --- source/blender/freestyle/intern/python/Director.h | 62 +++++++++++++++++------ 1 file changed, 47 insertions(+), 15 deletions(-) (limited to 'source/blender/freestyle/intern/python/Director.h') diff --git a/source/blender/freestyle/intern/python/Director.h b/source/blender/freestyle/intern/python/Director.h index 27afa3bbe3e..22bf80c5c14 100644 --- a/source/blender/freestyle/intern/python/Director.h +++ b/source/blender/freestyle/intern/python/Director.h @@ -1,12 +1,22 @@ #ifndef FREESTYLE_PYTHON_DIRECTOR # define FREESTYLE_PYTHON_DIRECTOR +#include "../geometry/Geom.h" +#include "../winged_edge/Nature.h" + +class AdjacencyIterator; +class FEdge; +class Id; class Interface0D; class Interface1D; class Interface0DIterator; +class NonTVertex; class Stroke; -class AdjacencyIterator; +class SVertex; +class TVertex; class ViewEdge; +class ViewVertex; + #ifdef __cplusplus extern "C" { @@ -24,6 +34,36 @@ bool Director_BPy_BinaryPredicate0D___call__( PyObject *obj, Interface0D& i1, In // BinaryPredicate1D: __call__ bool Director_BPy_BinaryPredicate1D___call__( PyObject *obj, Interface1D& i1, Interface1D& i2); +// Interface0D: getX, getY, getZ, getPoint3D, getProjectedX, getProjectedY, getProjectedZ, getPoint2D, getFEdge, getId, getNature, castToSVertex, castToViewVertex, castToNonTVertex, castToTVertex +double Director_BPy_Interface0D_getX( PyObject *obj ); +double Director_BPy_Interface0D_getY( PyObject *obj ); +double Director_BPy_Interface0D_getZ( PyObject *obj ); +Geometry::Vec3f Director_BPy_Interface0D_getPoint3D( PyObject *obj ); +double Director_BPy_Interface0D_getProjectedX( PyObject *obj ); +double Director_BPy_Interface0D_getProjectedY( PyObject *obj ); +double Director_BPy_Interface0D_getProjectedZ( PyObject *obj ); +Geometry::Vec2f Director_BPy_Interface0D_getPoint2D( PyObject *obj ); +FEdge * Director_BPy_Interface0D_getFEdge( PyObject *obj ); +Id Director_BPy_Interface0D_getId( PyObject *obj ); +Nature::EdgeNature Director_BPy_Interface0D_getNature( PyObject *obj ); +SVertex * Director_BPy_Interface0D_castToSVertex( PyObject *obj ); +ViewVertex * Director_BPy_Interface0D_castToViewVertex( PyObject *obj ); +NonTVertex * Director_BPy_Interface0D_castToNonTVertex( PyObject *obj ); +TVertex * Director_BPy_Interface0D_castToTVertex( PyObject *obj ); + +// Interface1D: verticesBegin, verticesEnd, pointsBegin, pointsEnd, getLength2D, getId, getNature +Interface0DIterator Director_BPy_Interface1D_verticesBegin( PyObject *obj ); +Interface0DIterator Director_BPy_Interface1D_verticesEnd( PyObject *obj ); +Interface0DIterator Director_BPy_Interface1D_pointsBegin( PyObject *obj ); +Interface0DIterator Director_BPy_Interface1D_pointsEnd( PyObject *obj ); +double Director_BPy_Interface1D_getLength2D( PyObject *obj ); +Id Director_BPy_Interface1D_getId( PyObject *obj ); +Nature::EdgeNature Director_BPy_Interface1D_getNature( PyObject *obj ); + +// UnaryFunction{0D,1D}: __call__ +void Director_BPy_UnaryFunction0D___call__( void *uf0D, PyObject *obj, Interface0DIterator& if0D_it); +void Director_BPy_UnaryFunction1D___call__( void *uf1D, PyObject *obj, Interface1D& if1D); + // UnaryPredicate0D: __call__ bool Director_BPy_UnaryPredicate0D___call__( PyObject *obj, Interface0DIterator& if0D_it); @@ -33,25 +73,17 @@ bool Director_BPy_UnaryPredicate1D___call__( PyObject *obj, Interface1D& if1D); // StrokeShader: shade void Director_BPy_StrokeShader_shade( PyObject *obj, Stroke& s); -// ChainingIterator: init, traverse -void Director_BPy_ChainingIterator_init( PyObject *obj ); -ViewEdge * Director_BPy_ChainingIterator_traverse( PyObject *obj, AdjacencyIterator& a_it ); - -// BPy_UnaryFunction{0D,1D}: __call__ -void Director_BPy_UnaryFunction0D___call__( void *uf0D, PyObject *obj, Interface0DIterator& if0D_it); -void Director_BPy_UnaryFunction1D___call__( void *uf1D, PyObject *obj, Interface1D& if1D); - -// BPy_Iterator: increment, decrement, isBegin, isEnd +// Iterator: increment, decrement, isBegin, isEnd void Director_BPy_Iterator_increment( PyObject *obj ); void Director_BPy_Iterator_decrement( PyObject *obj ); bool Director_BPy_Iterator_isBegin( PyObject *obj ); bool Director_BPy_Iterator_isEnd( PyObject *obj ); -// BPy_Interface1D: verticesBegin, verticesEnd, pointsBegin, pointsEnd -Interface0DIterator Director_BPy_Interface1D_verticesBegin( PyObject *obj ); -Interface0DIterator Director_BPy_Interface1D_verticesEnd( PyObject *obj ); -Interface0DIterator Director_BPy_Interface1D_pointsBegin( PyObject *obj ); -Interface0DIterator Director_BPy_Interface1D_pointsEnd( PyObject *obj ); +// ChainingIterator: init, traverse +void Director_BPy_ChainingIterator_init( PyObject *obj ); +ViewEdge * Director_BPy_ChainingIterator_traverse( PyObject *obj, AdjacencyIterator& a_it ); + + -- cgit v1.2.3