2008-07-30 01:51:40 +00:00
|
|
|
#ifndef FREESTYLE_PYTHON_DIRECTOR
|
|
|
|
|
# define FREESTYLE_PYTHON_DIRECTOR
|
|
|
|
|
|
2008-08-02 07:39:49 +00:00
|
|
|
#include "../geometry/Geom.h"
|
|
|
|
|
#include "../winged_edge/Nature.h"
|
|
|
|
|
|
|
|
|
|
class AdjacencyIterator;
|
|
|
|
|
class FEdge;
|
|
|
|
|
class Id;
|
2008-07-31 08:50:12 +00:00
|
|
|
class Interface0D;
|
|
|
|
|
class Interface1D;
|
|
|
|
|
class Interface0DIterator;
|
2008-08-02 07:39:49 +00:00
|
|
|
class NonTVertex;
|
2008-07-31 08:50:12 +00:00
|
|
|
class Stroke;
|
2008-08-02 07:39:49 +00:00
|
|
|
class SVertex;
|
|
|
|
|
class TVertex;
|
2008-07-31 08:50:12 +00:00
|
|
|
class ViewEdge;
|
2008-08-02 07:39:49 +00:00
|
|
|
class ViewVertex;
|
|
|
|
|
|
2008-07-30 01:51:40 +00:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include <Python.h>
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
2008-07-31 08:50:12 +00:00
|
|
|
// BinaryPredicate0D: __call__
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_BinaryPredicate0D___call__( PyObject *obj, Interface0D& i1, Interface0D& i2);
|
2008-07-31 08:50:12 +00:00
|
|
|
|
|
|
|
|
// BinaryPredicate1D: __call__
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_BinaryPredicate1D___call__( PyObject *obj, Interface1D& i1, Interface1D& i2);
|
2008-07-31 08:50:12 +00:00
|
|
|
|
2008-08-02 07:39:49 +00:00
|
|
|
// 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__
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_UnaryFunction0D___call__( void *uf0D, PyObject *obj, Interface0DIterator& if0D_it);
|
|
|
|
|
int Director_BPy_UnaryFunction1D___call__( void *uf1D, PyObject *obj, Interface1D& if1D);
|
2008-08-02 07:39:49 +00:00
|
|
|
|
2008-07-31 08:50:12 +00:00
|
|
|
// UnaryPredicate0D: __call__
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_UnaryPredicate0D___call__( PyObject *obj, Interface0DIterator& if0D_it);
|
2008-07-31 08:50:12 +00:00
|
|
|
|
|
|
|
|
// UnaryPredicate1D: __call__
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_UnaryPredicate1D___call__( PyObject *obj, Interface1D& if1D);
|
2008-07-31 08:50:12 +00:00
|
|
|
|
|
|
|
|
// StrokeShader: shade
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_StrokeShader_shade( PyObject *obj, Stroke& s);
|
2008-07-31 08:50:12 +00:00
|
|
|
|
2008-08-02 07:39:49 +00:00
|
|
|
// Iterator: increment, decrement, isBegin, isEnd
|
2008-08-01 02:15:25 +00:00
|
|
|
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 );
|
2008-07-30 01:51:40 +00:00
|
|
|
|
2008-08-02 07:39:49 +00:00
|
|
|
// ChainingIterator: init, traverse
|
2009-03-20 22:41:27 +00:00
|
|
|
int Director_BPy_ChainingIterator_init( PyObject *obj );
|
|
|
|
|
int Director_BPy_ChainingIterator_traverse( PyObject *obj, AdjacencyIterator& a_it, ViewEdge **ve );
|
2008-08-02 07:39:49 +00:00
|
|
|
|
|
|
|
|
|
2008-08-01 21:55:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-30 01:51:40 +00:00
|
|
|
#endif // FREESTYLE_PYTHON_DIRECTOR
|