Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Curioni <maxime.curioni@gmail.com>2008-07-22 01:24:37 +0400
committerMaxime Curioni <maxime.curioni@gmail.com>2008-07-22 01:24:37 +0400
commit7426a3e35bb6ebc5c08eb307c0f9d30ef51ae570 (patch)
tree20ca168e42005a447ce4a89f37b3a238a92942cb /source/blender/freestyle/intern/python
parentab722884d3684808b17f76ae742ef59dccf4f8e2 (diff)
Added StrokeAttribute class. Beginning of StrokeVertex.
IMPORTANT: The setters functions' names were normalized due to constant confusion regarding capitalization. All the function names start with set... instead of Set.... This convention was changed all throughout Freestyle. To use Freestyle as an external renderer, the SWIG library MUST be regenerated.
Diffstat (limited to 'source/blender/freestyle/intern/python')
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate0D.h3
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D.h3
-rw-r--r--source/blender/freestyle/intern/python/Freestyle.cpp2
-rw-r--r--source/blender/freestyle/intern/python/Freestyle.h3
-rw-r--r--source/blender/freestyle/intern/python/Id.h3
-rw-r--r--source/blender/freestyle/intern/python/IntegrationType.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface0D.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/CurvePoint.cpp30
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/CurvePoint.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.cpp354
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.h31
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/SVertex.cpp30
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/SVertex.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/ViewVertex.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface1D.h3
-rw-r--r--source/blender/freestyle/intern/python/Interface1D/FEdge.cpp68
-rw-r--r--source/blender/freestyle/intern/python/Interface1D/FEdge.h3
-rw-r--r--source/blender/freestyle/intern/python/Nature.h3
-rw-r--r--source/blender/freestyle/intern/python/StrokeAttribute.cpp448
-rw-r--r--source/blender/freestyle/intern/python/StrokeAttribute.h34
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D.h3
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D.h3
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate0D.h3
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D.h3
24 files changed, 809 insertions, 236 deletions
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate0D.h b/source/blender/freestyle/intern/python/BinaryPredicate0D.h
index 6ad25ab2816..dd192877675 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate0D.h
+++ b/source/blender/freestyle/intern/python/BinaryPredicate0D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject BinaryPredicate0D_Type;
-#define BPy_BinaryPredicate0D_Check(v) \
- ((v)->ob_type == &BinaryPredicate0D_Type)
+#define BPy_BinaryPredicate0D_Check(v) (( (PyObject *) v)->ob_type == &BinaryPredicate0D_Type)
/*---------------------------Python BPy_BinaryPredicate0D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D.h b/source/blender/freestyle/intern/python/BinaryPredicate1D.h
index 2745ca6fc3f..035e2b6cb17 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D.h
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject BinaryPredicate1D_Type;
-#define BPy_BinaryPredicate1D_Check(v) \
- ((v)->ob_type == &BinaryPredicate1D_Type)
+#define BPy_BinaryPredicate1D_Check(v) (( (PyObject *) v)->ob_type == &BinaryPredicate1D_Type)
/*---------------------------Python BPy_BinaryPredicate1D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Freestyle.cpp b/source/blender/freestyle/intern/python/Freestyle.cpp
index 5f98f0f2a89..a5aada0c470 100644
--- a/source/blender/freestyle/intern/python/Freestyle.cpp
+++ b/source/blender/freestyle/intern/python/Freestyle.cpp
@@ -8,6 +8,7 @@
#include "Interface0D/CurvePoint.h"
#include "Interface1D.h"
#include "Nature.h"
+#include "StrokeAttribute.h"
#include "UnaryFunction0D.h"
#include "UnaryFunction1D.h"
#include "UnaryPredicate0D.h"
@@ -134,6 +135,7 @@ PyObject *Freestyle_Init( void )
Interface0D_Init( module );
Interface1D_Init( module );
Nature_Init( module );
+ StrokeAttribute_Init( module );
UnaryFunction0D_Init( module );
UnaryFunction1D_Init( module );
UnaryPredicate0D_Init( module );
diff --git a/source/blender/freestyle/intern/python/Freestyle.h b/source/blender/freestyle/intern/python/Freestyle.h
index 7e7ed56f5f2..9cdef4df2d2 100644
--- a/source/blender/freestyle/intern/python/Freestyle.h
+++ b/source/blender/freestyle/intern/python/Freestyle.h
@@ -11,8 +11,7 @@ extern "C" {
extern PyTypeObject Freestyle_Type;
-#define BPy_Freestyle_Check(v) \
- ((v)->ob_type == &Freestyle_Type)
+#define BPy_Freestyle_Check(v) (( (PyObject *) v)->ob_type == &Freestyle_Type)
/*---------------------------Python BPy_Freestyle structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Id.h b/source/blender/freestyle/intern/python/Id.h
index 608ff3eef99..d5e90a0a3e5 100644
--- a/source/blender/freestyle/intern/python/Id.h
+++ b/source/blender/freestyle/intern/python/Id.h
@@ -16,8 +16,7 @@ extern "C" {
extern PyTypeObject Id_Type;
-#define BPy_Id_Check(v) \
- ((v)->ob_type == &Id_Type)
+#define BPy_Id_Check(v) (( (PyObject *) v)->ob_type == &Id_Type)
/*---------------------------Python BPy_Id structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/IntegrationType.h b/source/blender/freestyle/intern/python/IntegrationType.h
index 2ac81fdddfb..ab212ac6560 100644
--- a/source/blender/freestyle/intern/python/IntegrationType.h
+++ b/source/blender/freestyle/intern/python/IntegrationType.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject IntegrationType_Type;
-#define BPy_IntegrationType_Check(v) \
- ((v)->ob_type == &IntegrationType_Type)
+#define BPy_IntegrationType_Check(v) (( (PyObject *) v)->ob_type == &IntegrationType_Type)
/*---------------------------Python BPy_IntegrationType structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface0D.h b/source/blender/freestyle/intern/python/Interface0D.h
index 10df1463da8..aaecc6dad94 100644
--- a/source/blender/freestyle/intern/python/Interface0D.h
+++ b/source/blender/freestyle/intern/python/Interface0D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject Interface0D_Type;
-#define BPy_Interface0D_Check(v) \
- ((v)->ob_type == &Interface0D_Type)
+#define BPy_Interface0D_Check(v) (( (PyObject *) v)->ob_type == &Interface0D_Type)
/*---------------------------Python BPy_Interface0D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface0D/CurvePoint.cpp b/source/blender/freestyle/intern/python/Interface0D/CurvePoint.cpp
index f76fc9c9931..e1cf63727e5 100644
--- a/source/blender/freestyle/intern/python/Interface0D/CurvePoint.cpp
+++ b/source/blender/freestyle/intern/python/Interface0D/CurvePoint.cpp
@@ -14,9 +14,9 @@ static PyObject * CurvePoint___copy__( BPy_CurvePoint *self );
static PyObject * CurvePoint_A( BPy_CurvePoint *self );
static PyObject * CurvePoint_B( BPy_CurvePoint *self );
static PyObject * CurvePoint_t2d( BPy_CurvePoint *self );
-static PyObject *CurvePoint_SetA( BPy_CurvePoint *self , PyObject *args);
-static PyObject *CurvePoint_SetB( BPy_CurvePoint *self , PyObject *args);
-static PyObject *CurvePoint_SetT2d( BPy_CurvePoint *self , PyObject *args);
+static PyObject *CurvePoint_setA( BPy_CurvePoint *self , PyObject *args);
+static PyObject *CurvePoint_setB( BPy_CurvePoint *self , PyObject *args);
+static PyObject *CurvePoint_setT2d( BPy_CurvePoint *self , PyObject *args);
static PyObject *CurvePoint_curvatureFredo( BPy_CurvePoint *self , PyObject *args);
/*----------------------CurvePoint instance definitions ----------------------------*/
@@ -25,9 +25,9 @@ static PyMethodDef BPy_CurvePoint_methods[] = {
{"A", ( PyCFunction ) CurvePoint_A, METH_NOARGS, "( )Returns the first SVertex upon which the CurvePoint is built."},
{"B", ( PyCFunction ) CurvePoint_B, METH_NOARGS, "( )Returns the second SVertex upon which the CurvePoint is built."},
{"t2d", ( PyCFunction ) CurvePoint_t2d, METH_NOARGS, "( )Returns the interpolation parameter."},
- {"SetA", ( PyCFunction ) CurvePoint_SetA, METH_VARARGS, "(SVertex sv )Sets the first SVertex upon which to build the CurvePoint."},
- {"SetB", ( PyCFunction ) CurvePoint_SetB, METH_VARARGS, "(SVertex sv )Sets the second SVertex upon which to build the CurvePoint."},
- {"SetT2d", ( PyCFunction ) CurvePoint_SetT2d, METH_VARARGS, "( )Sets the 2D interpolation parameter to use."},
+ {"setA", ( PyCFunction ) CurvePoint_setA, METH_VARARGS, "(SVertex sv )Sets the first SVertex upon which to build the CurvePoint."},
+ {"setB", ( PyCFunction ) CurvePoint_setB, METH_VARARGS, "(SVertex sv )Sets the second SVertex upon which to build the CurvePoint."},
+ {"setT2d", ( PyCFunction ) CurvePoint_setT2d, METH_VARARGS, "( )Sets the 2D interpolation parameter to use."},
{"curvatureFredo", ( PyCFunction ) CurvePoint_curvatureFredo, METH_NOARGS, "( )angle in radians."},
{NULL, NULL, 0, NULL}
};
@@ -182,41 +182,41 @@ PyObject * CurvePoint_t2d( BPy_CurvePoint *self ) {
return PyFloat_FromDouble( self->cp->t2d() );
}
-PyObject *CurvePoint_SetA( BPy_CurvePoint *self , PyObject *args) {
+PyObject *CurvePoint_setA( BPy_CurvePoint *self , PyObject *args) {
PyObject *py_sv;
if(!( PyArg_ParseTuple(args, "O", &py_sv) && BPy_SVertex_Check(py_sv) )) {
- cout << "ERROR: CurvePoint_SetA" << endl;
+ cout << "ERROR: CurvePoint_setA" << endl;
Py_RETURN_NONE;
}
- self->cp->SetA( ((BPy_SVertex *) py_sv)->sv );
+ self->cp->setA( ((BPy_SVertex *) py_sv)->sv );
Py_RETURN_NONE;
}
-PyObject *CurvePoint_SetB( BPy_CurvePoint *self , PyObject *args) {
+PyObject *CurvePoint_setB( BPy_CurvePoint *self , PyObject *args) {
PyObject *py_sv;
if(!( PyArg_ParseTuple(args, "O", &py_sv) && BPy_SVertex_Check(py_sv) )) {
- cout << "ERROR: CurvePoint_SetB" << endl;
+ cout << "ERROR: CurvePoint_setB" << endl;
Py_RETURN_NONE;
}
- self->cp->SetB( ((BPy_SVertex *) py_sv)->sv );
+ self->cp->setB( ((BPy_SVertex *) py_sv)->sv );
Py_RETURN_NONE;
}
-PyObject *CurvePoint_SetT2d( BPy_CurvePoint *self , PyObject *args) {
+PyObject *CurvePoint_setT2d( BPy_CurvePoint *self , PyObject *args) {
float t;
if( !PyArg_ParseTuple(args, "f", &t) ) {
- cout << "ERROR: CurvePoint_SetT2d" << endl;
+ cout << "ERROR: CurvePoint_setT2d" << endl;
Py_RETURN_NONE;
}
- self->cp->SetT2d( t );
+ self->cp->setT2d( t );
Py_RETURN_NONE;
}
diff --git a/source/blender/freestyle/intern/python/Interface0D/CurvePoint.h b/source/blender/freestyle/intern/python/Interface0D/CurvePoint.h
index ac30f74c4dd..e40f261504f 100644
--- a/source/blender/freestyle/intern/python/Interface0D/CurvePoint.h
+++ b/source/blender/freestyle/intern/python/Interface0D/CurvePoint.h
@@ -14,8 +14,7 @@ extern "C" {
extern PyTypeObject CurvePoint_Type;
-#define BPy_CurvePoint_Check(v) \
- ((v)->ob_type == &CurvePoint_Type)
+#define BPy_CurvePoint_Check(v) (( (PyObject *) v)->ob_type == &CurvePoint_Type)
/*---------------------------Python BPy_CurvePoint structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.cpp b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.cpp
index 7f2e364d0b4..69069a68f33 100644
--- a/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.cpp
+++ b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.cpp
@@ -1,104 +1,254 @@
- PyObject *_wrap_StrokeVertex_getExactTypeName(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_0(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_1(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_2(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_3(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_4(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex__SWIG_5(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_new_StrokeVertex(PyObject *self, PyObject *args) {
-}
-
-
- PyObject *_wrap_delete_StrokeVertex(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_x(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_y(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_getPoint(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_attribute__SWIG_0(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_attribute__SWIG_1(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_attribute(PyObject *self, PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_curvilinearAbscissa(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_strokeLength(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_u(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetX(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetY(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetPoint__SWIG_0(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetPoint__SWIG_1(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetPoint(PyObject *self, PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetAttribute(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetCurvilinearAbscissa(PyObject *self , PyObject *args) {
-}
-
-
- PyObject *_wrap_StrokeVertex_SetStrokeLength(PyObject *self , PyObject *args) {
-}
+#include "StrokeVertex.h"
+
+#include "../../Convert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+/*--------------- Python API function prototypes for StrokeVertex instance -----------*/
+static int StrokeVertex___init__(BPy_StrokeVertex *self, PyObject *args, PyObject *kwds);
+
+
+/*----------------------StrokeVertex instance definitions ----------------------------*/
+static PyMethodDef BPy_StrokeVertex_methods[] = {
+// {"__copy__", ( PyCFunction ) StrokeVertex___copy__, METH_NOARGS, "( )Cloning method."},
+ {NULL, NULL, 0, NULL}
+};
+
+/*-----------------------BPy_StrokeVertex type definition ------------------------------*/
+
+PyTypeObject StrokeVertex_Type = {
+ PyObject_HEAD_INIT( NULL )
+ 0, /* ob_size */
+ "StrokeVertex", /* tp_name */
+ sizeof( BPy_StrokeVertex ), /* tp_basicsize */
+ 0, /* tp_itemsize */
+
+ /* methods */
+ NULL, /* tp_dealloc */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */
+ NULL, /* tp_repr */
+
+ /* Method suites for standard classes */
+
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
+ /* Functions to access object as input/output buffer */
+ NULL, /* PyBufferProcs *tp_as_buffer; */
+
+ /*** Flags to define presence of optional/expanded features ***/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
+
+ NULL, /* char *tp_doc; Documentation string */
+ /*** Assigned meaning in release 2.0 ***/
+ /* call function for all accessible objects */
+ NULL, /* traverseproc tp_traverse; */
+
+ /* delete references to contained objects */
+ NULL, /* inquiry tp_clear; */
+
+ /*** Assigned meaning in release 2.1 ***/
+ /*** rich comparisons ***/
+ NULL, /* richcmpfunc tp_richcompare; */
+
+ /*** weak reference enabler ***/
+ 0, /* long tp_weaklistoffset; */
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+
+ /*** Attribute descriptor and subclassing stuff ***/
+ BPy_StrokeVertex_methods, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
+ &Interface0D_Type, /* struct _typeobject *tp_base; */
+ NULL, /* PyObject *tp_dict; */
+ NULL, /* descrgetfunc tp_descr_get; */
+ NULL, /* descrsetfunc tp_descr_set; */
+ 0, /* long tp_dictoffset; */
+ (initproc)StrokeVertex___init__, /* initproc tp_init; */
+ NULL, /* allocfunc tp_alloc; */
+ NULL, /* newfunc tp_new; */
+
+ /* Low-level free-memory routine */
+ NULL, /* freefunc tp_free; */
+
+ /* For PyObject_IS_GC */
+ NULL, /* inquiry tp_is_gc; */
+ NULL, /* PyObject *tp_bases; */
+
+ /* method resolution order */
+ NULL, /* PyObject *tp_mro; */
+ NULL, /* PyObject *tp_cache; */
+ NULL, /* PyObject *tp_subclasses; */
+ NULL, /* PyObject *tp_weaklist; */
+ NULL
+};
+
+//-------------------MODULE INITIALIZATION--------------------------------
+
+
+//------------------------INSTANCE METHODS ----------------------------------
+
+int StrokeVertex___init__(BPy_StrokeVertex *self, PyObject *args, PyObject *kwds)
+{
+
+ PyObject *obj1 = 0, *obj2 = 0 , *obj3 = 0;
+
+ if (! PyArg_ParseTuple(args, "|OOO", &obj1, &obj2, &obj3) )
+ return -1;
+
+ if( !obj1 && !obj2 && !obj3 ){
+ self->cp = new CurvePoint();
+ } else if( PyFloat_Check(obj3) ) {
+ if( BPy_SVertex_Check(obj1) && BPy_SVertex_Check(obj2) ) {
+ self->cp = new CurvePoint( ((BPy_SVertex *) obj1)->sv,
+ ((BPy_SVertex *) obj2)->sv,
+ PyFloat_AsDouble( obj3 ) );
+ } else if( BPy_CurvePoint_Check(obj1) && BPy_CurvePoint_Check(obj2) ) {
+ self->cp = new CurvePoint( ((BPy_CurvePoint *) obj1)->cp,
+ ((BPy_CurvePoint *) obj2)->cp,
+ PyFloat_AsDouble( obj3 ) );
+ } else {
+ return -1;
+ }
+ } else {
+ return -1;
+ }
+
+ self->py_if0D.if0D = self->cp;
+
+ return 0;
+}
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+#ifdef __cplusplus
+}
+#endif
+
+
+// PyObject *_wrap_StrokeVertex_getExactTypeName(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_0(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_1(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_2(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_3(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_4(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex__SWIG_5(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_new_StrokeVertex(PyObject *self, PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_delete_StrokeVertex(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_x(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_y(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_getPoint(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_attribute__SWIG_0(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_attribute__SWIG_1(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_attribute(PyObject *self, PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_curvilinearAbscissa(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_strokeLength(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_u(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetX(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetY(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetPoint__SWIG_0(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetPoint__SWIG_1(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetPoint(PyObject *self, PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetAttribute(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetCurvilinearAbscissa(PyObject *self , PyObject *args) {
+// }
+//
+//
+// PyObject *_wrap_StrokeVertex_SetStrokeLength(PyObject *self , PyObject *args) {
+// }
+//
diff --git a/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.h b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.h
new file mode 100644
index 00000000000..dccecb093f5
--- /dev/null
+++ b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/StrokeVertex.h
@@ -0,0 +1,31 @@
+#ifndef FREESTYLE_PYTHON_STROKEVERTEX_H
+#define FREESTYLE_PYTHON_STROKEVERTEX_H
+
+#include "../CurvePoint.h"
+#include "../../stroke/Stroke.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+#include <Python.h>
+
+extern PyTypeObject StrokeVertex_Type;
+
+#define BPy_StrokeVertex_Check(v) (( (PyObject *) v)->ob_type == &StrokeVertex_Type)
+
+/*---------------------------Python BPy_StrokeVertex structure definition----------*/
+typedef struct {
+ BPy_CurvePoint py_cp;
+ StrokeVertex *sv;
+} BPy_StrokeVertex;
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* FREESTYLE_PYTHON_STROKEVERTEX_H */
diff --git a/source/blender/freestyle/intern/python/Interface0D/SVertex.cpp b/source/blender/freestyle/intern/python/Interface0D/SVertex.cpp
index eb91d7daf10..d0c622d1df2 100644
--- a/source/blender/freestyle/intern/python/Interface0D/SVertex.cpp
+++ b/source/blender/freestyle/intern/python/Interface0D/SVertex.cpp
@@ -14,10 +14,10 @@ static int SVertex___init__(BPy_SVertex *self, PyObject *args, PyObject *kwds);
static PyObject * SVertex___copy__( BPy_SVertex *self );
static PyObject * SVertex_normals( BPy_SVertex *self );
static PyObject * SVertex_normalsSize( BPy_SVertex *self );
-static PyObject * SVertex_SetPoint3D( BPy_SVertex *self , PyObject *args);
-static PyObject * SVertex_SetPoint2D( BPy_SVertex *self , PyObject *args);
+static PyObject * SVertex_setPoint3D( BPy_SVertex *self , PyObject *args);
+static PyObject * SVertex_setPoint2D( BPy_SVertex *self , PyObject *args);
static PyObject * SVertex_AddNormal( BPy_SVertex *self , PyObject *args);
-static PyObject * SVertex_SetId( BPy_SVertex *self , PyObject *args);
+static PyObject * SVertex_setId( BPy_SVertex *self , PyObject *args);
static PyObject *SVertex_AddFEdge( BPy_SVertex *self , PyObject *args);
/*----------------------SVertex instance definitions ----------------------------*/
@@ -25,10 +25,10 @@ static PyMethodDef BPy_SVertex_methods[] = {
{"__copy__", ( PyCFunction ) SVertex___copy__, METH_NOARGS, "( )Cloning method."},
{"normals", ( PyCFunction ) SVertex_normals, METH_NOARGS, "Returns the normals for this Vertex as a list. In a smooth surface, a vertex has exactly one normal. In a sharp surface, a vertex can have any number of normals."},
{"normalsSize", ( PyCFunction ) SVertex_normalsSize, METH_NOARGS, "Returns the number of different normals for this vertex." },
- {"SetPoint3D", ( PyCFunction ) SVertex_SetPoint3D, METH_VARARGS, "Sets the 3D coordinates of the SVertex." },
- {"SetPoint2D", ( PyCFunction ) SVertex_SetPoint2D, METH_VARARGS, "Sets the 3D projected coordinates of the SVertex." },
+ {"setPoint3D", ( PyCFunction ) SVertex_setPoint3D, METH_VARARGS, "Sets the 3D coordinates of the SVertex." },
+ {"setPoint2D", ( PyCFunction ) SVertex_setPoint2D, METH_VARARGS, "Sets the 3D projected coordinates of the SVertex." },
{"AddNormal", ( PyCFunction ) SVertex_AddNormal, METH_VARARGS, "Adds a normal to the Svertex's set of normals. If the same normal is already in the set, nothing changes." },
- {"SetId", ( PyCFunction ) SVertex_SetId, METH_VARARGS, "Sets the Id." },
+ {"setId", ( PyCFunction ) SVertex_setId, METH_VARARGS, "Sets the Id." },
{"AddFEdge", ( PyCFunction ) SVertex_AddFEdge, METH_VARARGS, "Add an FEdge to the list of edges emanating from this SVertex." },
{NULL, NULL, 0, NULL}
};
@@ -177,36 +177,36 @@ PyObject * SVertex_normalsSize( BPy_SVertex *self ) {
return PyInt_FromLong( self->sv->normalsSize() );
}
-PyObject *SVertex_SetPoint3D( BPy_SVertex *self , PyObject *args) {
+PyObject *SVertex_setPoint3D( BPy_SVertex *self , PyObject *args) {
PyObject *py_point;
if(!( PyArg_ParseTuple(args, "O", &py_point)
&& PyList_Check(py_point) && PyList_Size(py_point) == 3 )) {
- cout << "ERROR: SVertex_SetPoint3D" << endl;
+ cout << "ERROR: SVertex_setPoint3D" << endl;
Py_RETURN_NONE;
}
Vec3r v( PyFloat_AsDouble( PyList_GetItem(py_point, 0) ),
PyFloat_AsDouble( PyList_GetItem(py_point, 1) ),
PyFloat_AsDouble( PyList_GetItem(py_point, 2) ) );
- self->sv->SetPoint3D( v );
+ self->sv->setPoint3D( v );
Py_RETURN_NONE;
}
-PyObject *SVertex_SetPoint2D( BPy_SVertex *self , PyObject *args) {
+PyObject *SVertex_setPoint2D( BPy_SVertex *self , PyObject *args) {
PyObject *py_point;
if(!( PyArg_ParseTuple(args, "O", &py_point)
&& PyList_Check(py_point) && PyList_Size(py_point) == 3 )) {
- cout << "ERROR: SVertex_SetPoint2D" << endl;
+ cout << "ERROR: SVertex_setPoint2D" << endl;
Py_RETURN_NONE;
}
Vec3r v( PyFloat_AsDouble( PyList_GetItem(py_point, 0) ),
PyFloat_AsDouble( PyList_GetItem(py_point, 1) ),
PyFloat_AsDouble( PyList_GetItem(py_point, 2) ) );
- self->sv->SetPoint2D( v );
+ self->sv->setPoint2D( v );
Py_RETURN_NONE;
}
@@ -228,15 +228,15 @@ PyObject *SVertex_AddNormal( BPy_SVertex *self , PyObject *args) {
Py_RETURN_NONE;
}
-PyObject *SVertex_SetId( BPy_SVertex *self , PyObject *args) {
+PyObject *SVertex_setId( BPy_SVertex *self , PyObject *args) {
BPy_Id *py_id;
if( !PyArg_ParseTuple(args, "O", &py_id) ) {
- cout << "ERROR: SVertex_SetId" << endl;
+ cout << "ERROR: SVertex_setId" << endl;
Py_RETURN_NONE;
}
- self->sv->SetId( *(py_id->id) );
+ self->sv->setId( *(py_id->id) );
Py_RETURN_NONE;
}
diff --git a/source/blender/freestyle/intern/python/Interface0D/SVertex.h b/source/blender/freestyle/intern/python/Interface0D/SVertex.h
index ac89133ab55..099417b5139 100644
--- a/source/blender/freestyle/intern/python/Interface0D/SVertex.h
+++ b/source/blender/freestyle/intern/python/Interface0D/SVertex.h
@@ -15,8 +15,7 @@ extern "C" {
extern PyTypeObject SVertex_Type;
-#define BPy_SVertex_Check(v) \
- ((v)->ob_type == &SVertex_Type)
+#define BPy_SVertex_Check(v) (( (PyObject *) v)->ob_type == &SVertex_Type)
/*---------------------------Python BPy_SVertex structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface0D/ViewVertex.h b/source/blender/freestyle/intern/python/Interface0D/ViewVertex.h
index 98eeb504a3d..98bcb9bac90 100644
--- a/source/blender/freestyle/intern/python/Interface0D/ViewVertex.h
+++ b/source/blender/freestyle/intern/python/Interface0D/ViewVertex.h
@@ -15,8 +15,7 @@ extern "C" {
extern PyTypeObject ViewVertex_Type;
-#define BPy_ViewVertex_Check(v) \
- ((v)->ob_type == &ViewVertex_Type)
+#define BPy_ViewVertex_Check(v) (( (PyObject *) v)->ob_type == &ViewVertex_Type)
/*---------------------------Python BPy_ViewVertex structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface1D.h b/source/blender/freestyle/intern/python/Interface1D.h
index f39203744e4..c49a8c130b0 100644
--- a/source/blender/freestyle/intern/python/Interface1D.h
+++ b/source/blender/freestyle/intern/python/Interface1D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject Interface1D_Type;
-#define BPy_Interface1D_Check(v) \
- ((v)->ob_type == &Interface1D_Type)
+#define BPy_Interface1D_Check(v) (( (PyObject *) v)->ob_type == &Interface1D_Type)
/*---------------------------Python BPy_Interface1D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Interface1D/FEdge.cpp b/source/blender/freestyle/intern/python/Interface1D/FEdge.cpp
index 6a00ad66123..0cdfb9f1e0d 100644
--- a/source/blender/freestyle/intern/python/Interface1D/FEdge.cpp
+++ b/source/blender/freestyle/intern/python/Interface1D/FEdge.cpp
@@ -20,13 +20,13 @@ static PyObject * FEdge_previousEdge( BPy_FEdge *self );
static PyObject * FEdge_getVertices( BPy_FEdge *self );
static PyObject * FEdge_getPoints( BPy_FEdge *self );
static PyObject * FEdge_isSmooth( BPy_FEdge *self );
-static PyObject * FEdge_SetVertexA( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetVertexB( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetId( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetNextEdge( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetPreviousEdge( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetSmooth( BPy_FEdge *self , PyObject *args);
-static PyObject * FEdge_SetNature( BPy_FEdge *self, PyObject *args );
+static PyObject * FEdge_setVertexA( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setVertexB( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setId( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setNextEdge( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setPreviousEdge( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setSmooth( BPy_FEdge *self , PyObject *args);
+static PyObject * FEdge_setNature( BPy_FEdge *self, PyObject *args );
/*----------------------FEdge instance definitions ----------------------------*/
static PyMethodDef BPy_FEdge_methods[] = {
@@ -39,13 +39,13 @@ static PyMethodDef BPy_FEdge_methods[] = {
{"getVertices", ( PyCFunction ) FEdge_getVertices, METH_NOARGS, "Returns the vertices"},
{"getPoints", ( PyCFunction ) FEdge_getPoints, METH_NOARGS, "Returns the points. The difference with getVertices() is that here we can iterate over points of the 1D element at any given sampling. At each call, a virtual point is created."},
{"isSmooth", ( PyCFunction ) FEdge_isSmooth, METH_NOARGS, "() Returns true if this FEdge is a smooth FEdge."},
- {"SetVertexA", ( PyCFunction ) FEdge_SetVertexA, METH_VARARGS, "(SVertex v) Sets the first SVertex. ."},
- {"SetVertexB", ( PyCFunction ) FEdge_SetVertexB, METH_VARARGS, "(SVertex v) Sets the second SVertex. "},
- {"SetId", ( PyCFunction ) FEdge_SetId, METH_VARARGS, "(Id id) Sets the FEdge Id ."},
- {"SetNextEdge", ( PyCFunction ) FEdge_SetNextEdge, METH_VARARGS, "(FEdge e) Sets the pointer to the next FEdge. "},
- {"SetPreviousEdge", ( PyCFunction ) FEdge_SetPreviousEdge, METH_VARARGS, "(FEdge e) Sets the pointer to the previous FEdge. "},
- {"SetSmooth", ( PyCFunction ) FEdge_SetSmooth, METH_VARARGS, "(bool b) Sets the flag telling whether this FEdge is smooth or sharp. true for Smooth, false for Sharp. "},
- {"SetNature", ( PyCFunction ) FEdge_SetNature, METH_VARARGS, "(Nature n) Sets the nature of this FEdge. "},
+ {"setVertexA", ( PyCFunction ) FEdge_setVertexA, METH_VARARGS, "(SVertex v) Sets the first SVertex. ."},
+ {"setVertexB", ( PyCFunction ) FEdge_setVertexB, METH_VARARGS, "(SVertex v) Sets the second SVertex. "},
+ {"setId", ( PyCFunction ) FEdge_setId, METH_VARARGS, "(Id id) Sets the FEdge Id ."},
+ {"setNextEdge", ( PyCFunction ) FEdge_setNextEdge, METH_VARARGS, "(FEdge e) Sets the pointer to the next FEdge. "},
+ {"setPreviousEdge", ( PyCFunction ) FEdge_setPreviousEdge, METH_VARARGS, "(FEdge e) Sets the pointer to the previous FEdge. "},
+ {"setSmooth", ( PyCFunction ) FEdge_setSmooth, METH_VARARGS, "(bool b) Sets the flag telling whether this FEdge is smooth or sharp. true for Smooth, false for Sharp. "},
+ {"setNature", ( PyCFunction ) FEdge_setNature, METH_VARARGS, "(Nature n) Sets the nature of this FEdge. "},
{NULL, NULL, 0, NULL}
};
@@ -221,86 +221,86 @@ PyObject * FEdge_isSmooth( BPy_FEdge *self ) {
return PyBool_from_bool( self->fe->isSmooth() );
}
-PyObject *FEdge_SetVertexA( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setVertexA( BPy_FEdge *self , PyObject *args) {
PyObject *py_sv;
if(!( PyArg_ParseTuple(args, "O", &py_sv) && BPy_SVertex_Check(py_sv) )) {
- cout << "ERROR: FEdge_SetVertexA" << endl;
+ cout << "ERROR: FEdge_setVertexA" << endl;
Py_RETURN_NONE;
}
- self->fe->SetVertexA( ((BPy_SVertex *) py_sv)->sv );
+ self->fe->setVertexA( ((BPy_SVertex *) py_sv)->sv );
Py_RETURN_NONE;
}
-PyObject *FEdge_SetVertexB( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setVertexB( BPy_FEdge *self , PyObject *args) {
PyObject *py_sv;
if(!( PyArg_ParseTuple(args, "O", &py_sv) && BPy_SVertex_Check(py_sv) )) {
- cout << "ERROR: FEdge_SetVertexB" << endl;
+ cout << "ERROR: FEdge_setVertexB" << endl;
Py_RETURN_NONE;
}
- self->fe->SetVertexB( ((BPy_SVertex *) py_sv)->sv );
+ self->fe->setVertexB( ((BPy_SVertex *) py_sv)->sv );
Py_RETURN_NONE;
}
-PyObject *FEdge_SetId( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setId( BPy_FEdge *self , PyObject *args) {
PyObject *py_id;
if(!( PyArg_ParseTuple(args, "O", &py_id) && BPy_Id_Check(py_id) )) {
- cout << "ERROR: FEdge_SetId" << endl;
+ cout << "ERROR: FEdge_setId" << endl;
Py_RETURN_NONE;
}
- self->fe->SetId(*( ((BPy_Id *) py_id)->id ));
+ self->fe->setId(*( ((BPy_Id *) py_id)->id ));
Py_RETURN_NONE;
}
-PyObject *FEdge_SetNextEdge( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setNextEdge( BPy_FEdge *self , PyObject *args) {
PyObject *py_fe;
if(!( PyArg_ParseTuple(args, "O", &py_fe) && BPy_FEdge_Check(py_fe) )) {
- cout << "ERROR: FEdge_SetNextEdge" << endl;
+ cout << "ERROR: FEdge_setNextEdge" << endl;
Py_RETURN_NONE;
}
- self->fe->SetNextEdge( ((BPy_FEdge *) py_fe)->fe );
+ self->fe->setNextEdge( ((BPy_FEdge *) py_fe)->fe );
Py_RETURN_NONE;
}
-PyObject *FEdge_SetPreviousEdge( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setPreviousEdge( BPy_FEdge *self , PyObject *args) {
PyObject *py_fe;
if(!( PyArg_ParseTuple(args, "O", &py_fe) && BPy_FEdge_Check(py_fe) )) {
- cout << "ERROR: FEdge_SetPreviousEdge" << endl;
+ cout << "ERROR: FEdge_setPreviousEdge" << endl;
Py_RETURN_NONE;
}
- self->fe->SetPreviousEdge( ((BPy_FEdge *) py_fe)->fe );
+ self->fe->setPreviousEdge( ((BPy_FEdge *) py_fe)->fe );
Py_RETURN_NONE;
}
-PyObject *FEdge_SetSmooth( BPy_FEdge *self , PyObject *args) {
+PyObject *FEdge_setSmooth( BPy_FEdge *self , PyObject *args) {
int b;
if(!( PyArg_ParseTuple(args, "i", &b) )) {
- cout << "ERROR: FEdge_SetSmooth" << endl;
+ cout << "ERROR: FEdge_setSmooth" << endl;
Py_RETURN_NONE;
}
- self->fe->SetSmooth( (bool) b );
+ self->fe->setSmooth( (bool) b );
Py_RETURN_NONE;
}
-PyObject * FEdge_SetNature( BPy_FEdge *self, PyObject *args ) {
+PyObject * FEdge_setNature( BPy_FEdge *self, PyObject *args ) {
PyObject *py_n;
if(!( PyArg_ParseTuple(args, "O", &py_n) && BPy_Nature_Check(py_n) )) {
@@ -309,7 +309,7 @@ PyObject * FEdge_SetNature( BPy_FEdge *self, PyObject *args ) {
}
PyObject *i = (PyObject *) &( ((BPy_Nature *) py_n)->i );
- ((FEdge *) self->py_if1D.if1D)->SetNature( PyInt_AsLong(i) );
+ ((FEdge *) self->py_if1D.if1D)->setNature( PyInt_AsLong(i) );
Py_RETURN_NONE;
}
diff --git a/source/blender/freestyle/intern/python/Interface1D/FEdge.h b/source/blender/freestyle/intern/python/Interface1D/FEdge.h
index 39c9c56e391..230a5f36954 100644
--- a/source/blender/freestyle/intern/python/Interface1D/FEdge.h
+++ b/source/blender/freestyle/intern/python/Interface1D/FEdge.h
@@ -14,8 +14,7 @@ extern "C" {
extern PyTypeObject FEdge_Type;
-#define BPy_FEdge_Check(v) \
- ((v)->ob_type == &FEdge_Type)
+#define BPy_FEdge_Check(v) (( (PyObject *) v)->ob_type == &FEdge_Type)
/*---------------------------Python BPy_FEdge structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/Nature.h b/source/blender/freestyle/intern/python/Nature.h
index d0bc4de6fc0..7473869158f 100644
--- a/source/blender/freestyle/intern/python/Nature.h
+++ b/source/blender/freestyle/intern/python/Nature.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject Nature_Type;
-#define BPy_Nature_Check(v) \
- ((v)->ob_type == &Nature_Type)
+#define BPy_Nature_Check(v) (( (PyObject *) v)->ob_type == &Nature_Type)
/*---------------------------Python BPy_Nature structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/StrokeAttribute.cpp b/source/blender/freestyle/intern/python/StrokeAttribute.cpp
index c54eca16e11..5f7814ff4dd 100644
--- a/source/blender/freestyle/intern/python/StrokeAttribute.cpp
+++ b/source/blender/freestyle/intern/python/StrokeAttribute.cpp
@@ -1,112 +1,484 @@
- PyObject *_wrap_StrokeAttribute_getColor(PyObject *self , PyObject *args) {
+#include "StrokeAttribute.h"
+
+#include "Convert.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+/*--------------- Python API function prototypes for StrokeAttribute instance -----------*/
+static int StrokeAttribute___init__(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds);
+static void StrokeAttribute___dealloc__(BPy_StrokeAttribute *self);
+static PyObject * StrokeAttribute___repr__(BPy_StrokeAttribute *self);
+
+static PyObject * StrokeAttribute_getColorR( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getColorG( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getColorB( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getColorRGB( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getAlpha( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getThicknessR( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getThicknessL( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getThicknessRL( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_isVisible( BPy_StrokeAttribute *self );
+static PyObject * StrokeAttribute_getAttributeReal( BPy_StrokeAttribute *self, PyObject *args );
+static PyObject * StrokeAttribute_getAttributeVec2f( BPy_StrokeAttribute *self, PyObject *args );
+static PyObject * StrokeAttribute_getAttributeVec3f( BPy_StrokeAttribute *self, PyObject *args );
+static PyObject * StrokeAttribute_isAttributeAvailableReal( BPy_StrokeAttribute *self, PyObject *args );
+static PyObject * StrokeAttribute_isAttributeAvailableVec2f( BPy_StrokeAttribute *self, PyObject *args );
+static PyObject * StrokeAttribute_isAttributeAvailableVec3f( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setColor( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setAlpha( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setThickness( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setVisible( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setAttributeReal( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setAttributeVec2f( BPy_StrokeAttribute *self, PyObject *args );
+static int StrokeAttribute_setAttributeVec3f( BPy_StrokeAttribute *self, PyObject *args );
+
+
+/*----------------------StrokeAttribute instance definitions ----------------------------*/
+static PyMethodDef BPy_StrokeAttribute_methods[] = {
+ {"getColorR", ( PyCFunction ) StrokeAttribute_getColorR, METH_NOARGS, "Returns the R color component. "},
+ {"getColorG", ( PyCFunction ) StrokeAttribute_getColorG, METH_NOARGS, "Returns the G color component. "},
+ {"getColorB", ( PyCFunction ) StrokeAttribute_getColorB, METH_NOARGS, "Returns the B color component. "},
+ {"getColorRGB", ( PyCFunction ) StrokeAttribute_getColorRGB, METH_NOARGS, "Returns the RGB color components."},
+ {"getAlpha", ( PyCFunction ) StrokeAttribute_getAlpha, METH_NOARGS, "Returns the alpha color component."},
+ {"getThicknessR", ( PyCFunction ) StrokeAttribute_getThicknessR, METH_NOARGS, "Returns the thickness on the right of the vertex when following the stroke. "},
+ {"getThicknessL", ( PyCFunction ) StrokeAttribute_getThicknessL, METH_NOARGS, "Returns the thickness on the left of the vertex when following the stroke."},
+ {"getThicknessRL", ( PyCFunction ) StrokeAttribute_getThicknessRL, METH_NOARGS, "Returns the thickness on the right and on the left of the vertex when following the stroke. "},
+ {"isVisible", ( PyCFunction ) StrokeAttribute_isVisible, METH_NOARGS, "Returns true if the strokevertex is visible, false otherwise"},
+ {"getAttributeReal", ( PyCFunction ) StrokeAttribute_getAttributeReal, METH_VARARGS, "(name) Returns an attribute of type real specified by name."},
+ {"getAttributeVec2f", ( PyCFunction ) StrokeAttribute_getAttributeVec2f, METH_VARARGS, "(name) Returns an attribute of type Vec2f specified by name."},
+ {"getAttributeVec3f", ( PyCFunction ) StrokeAttribute_getAttributeVec3f, METH_VARARGS, "(name) Returns an attribute of type Vec3f specified by name."},
+ {"isAttributeAvailableReal", ( PyCFunction ) StrokeAttribute_isAttributeAvailableReal, METH_VARARGS, "(name) Checks whether the real attribute specified by name is available"},
+ {"isAttributeAvailableVec2f", ( PyCFunction ) StrokeAttribute_isAttributeAvailableVec2f, METH_VARARGS, "(name) Checks whether the Vec2f attribute specified by name is available"},
+ {"isAttributeAvailableVec3f", ( PyCFunction ) StrokeAttribute_isAttributeAvailableVec3f, METH_VARARGS, "(name) Checks whether the Vec3f attribute specified by name is available"},
+ {"setColor", ( PyCFunction ) StrokeAttribute_setColor, METH_VARARGS, "(float a)Sets the attribute's alpha value. "},
+ {"setAlpha", ( PyCFunction ) StrokeAttribute_setAlpha, METH_VARARGS, "(float a) Sets the attribute's alpha value."},
+ {"setThickness", ( PyCFunction ) StrokeAttribute_setThickness, METH_VARARGS, ""},
+ {"setVisible", ( PyCFunction ) StrokeAttribute_setVisible, METH_VARARGS, ""},
+ {"setAttributeReal", ( PyCFunction ) StrokeAttribute_setAttributeReal, METH_VARARGS, "(name, float att) Adds a user defined attribute of type real. If there is no attribute of specified by name, it is added. Otherwise, the new value replaces the old one."},
+ {"setAttributeVec2f", ( PyCFunction ) StrokeAttribute_setAttributeVec2f, METH_VARARGS, "(name, float att) Adds a user defined attribute of type Vec2f. If there is no attribute of specified by name, it is added. Otherwise, the new value replaces the old one."},
+ {"setAttributeVec3f", ( PyCFunction ) StrokeAttribute_setAttributeVec3f, METH_VARARGS, "(name, float att) Adds a user defined attribute of type Vec4f. If there is no attribute of specified by name, it is added. Otherwise, the new value replaces the old one."},
+ {NULL, NULL, 0, NULL}
+};
+
+/*-----------------------BPy_StrokeAttribute type definition ------------------------------*/
+
+PyTypeObject StrokeAttribute_Type = {
+ PyObject_HEAD_INIT( NULL )
+ 0, /* ob_size */
+ "StrokeAttribute", /* tp_name */
+ sizeof( BPy_StrokeAttribute ), /* tp_basicsize */
+ 0, /* tp_itemsize */
+
+ /* methods */
+ (destructor)StrokeAttribute___dealloc__, /* tp_dealloc */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */
+ (reprfunc)StrokeAttribute___repr__, /* tp_repr */
+
+ /* Method suites for standard classes */
+
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
+
+ /* Functions to access object as input/output buffer */
+ NULL, /* PyBufferProcs *tp_as_buffer; */
+
+ /*** Flags to define presence of optional/expanded features ***/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
+
+ NULL, /* char *tp_doc; Documentation string */
+ /*** Assigned meaning in release 2.0 ***/
+ /* call function for all accessible objects */
+ NULL, /* traverseproc tp_traverse; */
+
+ /* delete references to contained objects */
+ NULL, /* inquiry tp_clear; */
+
+ /*** Assigned meaning in release 2.1 ***/
+ /*** rich comparisons ***/
+ NULL, /* richcmpfunc tp_richcompare; */
+
+ /*** weak reference enabler ***/
+ 0, /* long tp_weaklistoffset; */
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+
+ /*** Attribute descriptor and subclassing stuff ***/
+ BPy_StrokeAttribute_methods, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct _typeobject *tp_base; */
+ NULL, /* PyObject *tp_dict; */
+ NULL, /* descrgetfunc tp_descr_get; */
+ NULL, /* descrsetfunc tp_descr_set; */
+ 0, /* long tp_dictoffset; */
+ (initproc)StrokeAttribute___init__, /* initproc tp_init; */
+ NULL, /* allocfunc tp_alloc; */
+ PyType_GenericNew, /* newfunc tp_new; */
+
+ /* Low-level free-memory routine */
+ NULL, /* freefunc tp_free; */
+
+ /* For PyObject_IS_GC */
+ NULL, /* inquiry tp_is_gc; */
+ NULL, /* PyObject *tp_bases; */
+
+ /* method resolution order */
+ NULL, /* PyObject *tp_mro; */
+ NULL, /* PyObject *tp_cache; */
+ NULL, /* PyObject *tp_subclasses; */
+ NULL, /* PyObject *tp_weaklist; */
+ NULL
+};
+
+//-------------------MODULE INITIALIZATION--------------------------------
+PyMODINIT_FUNC StrokeAttribute_Init( PyObject *module )
+{
+ if( module == NULL )
+ return;
+
+ if( PyType_Ready( &StrokeAttribute_Type ) < 0 )
+ return;
+ Py_INCREF( &StrokeAttribute_Type );
+ PyModule_AddObject(module, "StrokeAttribute", (PyObject *)&StrokeAttribute_Type);
+
}
+//------------------------INSTANCE METHODS ----------------------------------
+
+int StrokeAttribute___init__(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
+{
+
+ PyObject *obj1 = 0, *obj2 = 0 , *obj3 = 0, *obj4 = 0, *obj5 = 0 , *obj6 = 0;
+
+ if (! PyArg_ParseTuple(args, "|OOOOOO", &obj1, &obj2, &obj3, &obj4, &obj5, &obj6) )
+ return -1;
+
+ if( !obj1 || !obj2 || !obj3 ){
+
+ self->sa = new StrokeAttribute();
+
+ } else if( BPy_StrokeAttribute_Check(obj1) &&
+ BPy_StrokeAttribute_Check(obj2) &&
+ PyFloat_Check(obj3) ) {
+
+ self->sa = new StrokeAttribute( *( ((BPy_StrokeAttribute *) obj1)->sa ),
+ *( ((BPy_StrokeAttribute *) obj2)->sa ),
+ PyFloat_AsDouble( obj3 ) );
+
+ } else if( obj4 && obj5 && obj6 &&
+ PyFloat_Check(obj1) && PyFloat_Check(obj2) && PyFloat_Check(obj2) &&
+ PyFloat_Check(obj4) && PyFloat_Check(obj5) && PyFloat_Check(obj6) ) {
+
+ self->sa = new StrokeAttribute( PyFloat_AsDouble( obj1 ),
+ PyFloat_AsDouble( obj2 ),
+ PyFloat_AsDouble( obj3 ),
+ PyFloat_AsDouble( obj4 ),
+ PyFloat_AsDouble( obj5 ),
+ PyFloat_AsDouble( obj6 ) );
+
+ } else {
+ return -1;
+ }
+
+
+ return 0;
- PyObject *_wrap_StrokeAttribute_getColorR(PyObject *self , PyObject *args) {
}
-
- PyObject *_wrap_StrokeAttribute_getColorG(PyObject *self , PyObject *args) {
+void StrokeAttribute___dealloc__(BPy_StrokeAttribute* self)
+{
+ delete self->sa;
+ self->ob_type->tp_free((PyObject*)self);
}
-
- PyObject *_wrap_StrokeAttribute_getColorB(PyObject *self , PyObject *args) {
+PyObject * StrokeAttribute___repr__(BPy_StrokeAttribute* self)
+{
+ return PyString_FromFormat("StrokeAttribute: r:%f g:%f b:%f a:%f - R:%f L:%f",
+ self->sa->getColorR(), self->sa->getColorG(), self->sa->getColorB(), self->sa->getAlpha(),
+ self->sa->getThicknessR(), self->sa->getThicknessL() );
}
- PyObject *_wrap_StrokeAttribute_getColorRGB(PyObject *self , PyObject *args) {
+// PyObject *StrokeAttribute_getColor( BPy_StrokeAttribute *self ) {
+// float *c = self->sa->getColor();
+// Vec3f v( c[0], c[1], c[2]);
+// return Vector_from_Vec3f( v );
+// }
+
+PyObject *StrokeAttribute_getColorR( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getColorR() );
}
+PyObject *StrokeAttribute_getColorG( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getColorG() );
+}
- PyObject *_wrap_StrokeAttribute_getAlpha(PyObject *self , PyObject *args) {
+PyObject *StrokeAttribute_getColorB( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getColorB() );
}
+PyObject *StrokeAttribute_getColorRGB( BPy_StrokeAttribute *self ) {
+ Vec3f v( self->sa->getColorRGB() );
+ return Vector_from_Vec3f( v );
+}
- PyObject *_wrap_StrokeAttribute_getThickness(PyObject *self , PyObject *args) {
+PyObject *StrokeAttribute_getAlpha( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getAlpha() );
}
+// PyObject *StrokeAttribute_getThickness( BPy_StrokeAttribute *self ) {
+// // vector
+// return PyString_FromString( self->sa->getExactTypeName() );
+// }
- PyObject *_wrap_StrokeAttribute_getThicknessR(PyObject *self , PyObject *args) {
+PyObject *StrokeAttribute_getThicknessR( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getThicknessR() );
+}
+PyObject *StrokeAttribute_getThicknessL( BPy_StrokeAttribute *self ) {
+ return PyFloat_FromDouble( self->sa->getThicknessL() );
+}
+PyObject *StrokeAttribute_getThicknessRL( BPy_StrokeAttribute *self ) {
+ Vec2f v( self->sa->getThicknessRL() );
+ return Vector_from_Vec2f( v );
}
-
- PyObject *_wrap_StrokeAttribute_getThicknessL(PyObject *self , PyObject *args) {
+PyObject *StrokeAttribute_isVisible( BPy_StrokeAttribute *self ) {
+ return PyBool_from_bool( self->sa->isVisible() );
}
- PyObject *_wrap_StrokeAttribute_getThicknessRL(PyObject *self , PyObject *args) {
-}
+PyObject *StrokeAttribute_getAttributeReal( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_getAttributeReal" << endl;
+ Py_RETURN_NONE;
+ }
- PyObject *_wrap_StrokeAttribute_isVisible(PyObject *self , PyObject *args) {
+ double a = self->sa->getAttributeReal( attr );
+ return PyFloat_FromDouble( a );
}
+PyObject *StrokeAttribute_getAttributeVec2f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
- PyObject *_wrap_StrokeAttribute_getAttributeReal(PyObject *self , PyObject *args) {
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_getAttributeVec2f" << endl;
+ Py_RETURN_NONE;
+ }
+
+ Vec2f a = self->sa->getAttributeVec2f( attr );
+ return Vector_from_Vec2f( a );
}
- PyObject *_wrap_StrokeAttribute_getAttributeVec2f(PyObject *self , PyObject *args) {
-}
+PyObject *StrokeAttribute_getAttributeVec3f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_getAttributeVec3f" << endl;
+ Py_RETURN_NONE;
+ }
- PyObject *_wrap_StrokeAttribute_getAttributeVec3f(PyObject *self , PyObject *args) {
+ Vec3f a = self->sa->getAttributeVec3f( attr );
+ return Vector_from_Vec3f( a );
}
+PyObject *StrokeAttribute_isAttributeAvailableReal( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
+
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_isAttributeAvailableReal" << endl;
+ Py_RETURN_NONE;
+ }
- PyObject *_wrap_StrokeAttribute_isAttributeAvailableReal(PyObject *self , PyObject *args) {
+ return PyBool_from_bool( self->sa->isAttributeAvailableReal( attr ) );
}
+PyObject *StrokeAttribute_isAttributeAvailableVec2f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
- PyObject *_wrap_StrokeAttribute_isAttributeAvailableVec2f(PyObject *self , PyObject *args) {
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_isAttributeAvailableVec2f" << endl;
+ Py_RETURN_NONE;
+ }
+
+ return PyBool_from_bool( self->sa->isAttributeAvailableVec2f( attr ) );
}
+PyObject *StrokeAttribute_isAttributeAvailableVec3f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *attr;
+
+ if(!( PyArg_ParseTuple(args, "s", &attr) )) {
+ cout << "ERROR: StrokeAttribute_isAttributeAvailableVec3f" << endl;
+ Py_RETURN_NONE;
+ }
- PyObject *_wrap_StrokeAttribute_isAttributeAvailableVec3f(PyObject *self , PyObject *args) {
+ return PyBool_from_bool( self->sa->isAttributeAvailableVec3f( attr ) );
}
- PyObject *_wrap_StrokeAttribute_setColor__SWIG_0(PyObject *self , PyObject *args) {
+int StrokeAttribute_setColor( BPy_StrokeAttribute *self, PyObject *args ) {
+ PyObject *obj1 = 0, *obj2 = 0, *obj3 = 0 ;
+
+ if(!( PyArg_ParseTuple(args, "O|OO", &obj1, &obj2, &obj3) )) {
+ cout << "ERROR: StrokeAttribute_setColor" << endl;
+ return -1;
+ }
+
+ if( PyList_Check(obj1) && !obj2 && !obj3 ){
+
+ Vec3f v( PyFloat_AsDouble( PyList_GetItem(obj1, 0) ),
+ PyFloat_AsDouble( PyList_GetItem(obj1, 1) ),
+ PyFloat_AsDouble( PyList_GetItem(obj1, 2) ) );
+
+ self->sa->setColor( v );
+ return 0;
+
+ } else if( obj1 && PyFloat_Check(obj1) &&
+ obj2 && PyFloat_Check(obj2) &&
+ obj3 && PyFloat_Check(obj3) ){
+
+ self->sa->setColor( PyFloat_AsDouble(obj1),
+ PyFloat_AsDouble(obj2),
+ PyFloat_AsDouble(obj3) );
+ return 0;
+ }
+
+ return -1;
}
+int StrokeAttribute_setAlpha( BPy_StrokeAttribute *self, PyObject *args ){
+ float f = 0;
- PyObject *_wrap_StrokeAttribute_setColor__SWIG_1(PyObject *self , PyObject *args) {
+ if(!( PyArg_ParseTuple(args, "f", &f) )) {
+ cout << "ERROR: StrokeAttribute_setAlpha" << endl;
+ return -1;
+ }
+
+ self->sa->setAlpha( f );
+ return 0;
}
-
- PyObject *_wrap_StrokeAttribute_setColor(PyObject *self, PyObject *args) {
+int StrokeAttribute_setThickness( BPy_StrokeAttribute *self, PyObject *args ) {
+ PyObject *obj1 = 0, *obj2 = 0;
+
+ if(!( PyArg_ParseTuple(args, "O|O", &obj1, &obj2) )) {
+ cout << "ERROR: StrokeAttribute_setThickness" << endl;
+ return -1;
+ }
+
+ if( PyList_Check(obj1) && !obj2 ){
+
+ Vec2f v( PyFloat_AsDouble( PyList_GetItem(obj1, 0) ),
+ PyFloat_AsDouble( PyList_GetItem(obj1, 1) ) );
+
+ self->sa->setThickness( v );
+ return 0;
+
+ } else if( obj1 && PyFloat_Check(obj1) &&
+ obj2 && PyFloat_Check(obj2) ){
+
+ self->sa->setThickness( PyFloat_AsDouble(obj1),
+ PyFloat_AsDouble(obj2) );
+ return 0;
+ }
+
+ return -1;
}
+int StrokeAttribute_setVisible( BPy_StrokeAttribute *self, PyObject *args ) {
+ int i = 0;
- PyObject *_wrap_StrokeAttribute_setAlpha(PyObject *self , PyObject *args) {
+ if(!( PyArg_ParseTuple(args, "i", &i) )) {
+ cout << "ERROR: StrokeAttribute_setVisible" << endl;
+ return -1;
+ }
+
+ self->sa->setVisible( i );
+ return 0;
}
+int StrokeAttribute_setAttributeReal( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *s = 0;
+ double d = 0;
+
+ if(!( PyArg_ParseTuple(args, "sd", &s, &d) )) {
+ cout << "ERROR: StrokeAttribute_setAttributeReal" << endl;
+ return -1;
+ }
- PyObject *_wrap_StrokeAttribute_setThickness__SWIG_0(PyObject *self , PyObject *args) {
+ self->sa->setAttributeReal( s, d );
+ return 0;
}
+int StrokeAttribute_setAttributeVec2f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *s;
+ PyObject *obj = 0;
- PyObject *_wrap_StrokeAttribute_setThickness__SWIG_1(PyObject *self , PyObject *args) {
-}
+ if(!( PyArg_ParseTuple(args, "sO", &s, &obj) )) {
+ cout << "ERROR: StrokeAttribute_setAttributeVec2f" << endl;
+ return -1;
+ }
+ if( PyList_Check(obj) && PyList_Size(obj) > 1) {
- PyObject *_wrap_StrokeAttribute_setThickness(PyObject *self, PyObject *args) {
+ Vec2f v( PyFloat_AsDouble( PyList_GetItem(obj, 0) ),
+ PyFloat_AsDouble( PyList_GetItem(obj, 1) ) );
+
+ self->sa->setAttributeVec2f( s, v );
+ return 0;
+
+ }
+
+ return -1;
}
+int StrokeAttribute_setAttributeVec3f( BPy_StrokeAttribute *self, PyObject *args ) {
+ char *s;
+ PyObject *obj = 0;
- PyObject *_wrap_StrokeAttribute_SetVisible(PyObject *self , PyObject *args) {
-}
+ if(!( PyArg_ParseTuple(args, "sO", &s, &obj) )) {
+ cout << "ERROR: StrokeAttribute_setAttributeVec3f" << endl;
+ return -1;
+ }
+ if( PyList_Check(obj) && PyList_Size(obj) > 2 ) {
- PyObject *_wrap_StrokeAttribute_setAttributeReal(PyObject *self , PyObject *args) {
-}
+ Vec3f v( PyFloat_AsDouble( PyList_GetItem(obj, 0) ),
+ PyFloat_AsDouble( PyList_GetItem(obj, 1) ),
+ PyFloat_AsDouble( PyList_GetItem(obj, 2) ) );
+ self->sa->setAttributeVec3f( s, v );
+ return 0;
- PyObject *_wrap_StrokeAttribute_setAttributeVec2f(PyObject *self , PyObject *args) {
+ }
+
+ return -1;
}
+///////////////////////////////////////////////////////////////////////////////////////////
- PyObject *_wrap_StrokeAttribute_setAttributeVec3f(PyObject *self , PyObject *args) {
+#ifdef __cplusplus
}
-
+#endif
diff --git a/source/blender/freestyle/intern/python/StrokeAttribute.h b/source/blender/freestyle/intern/python/StrokeAttribute.h
new file mode 100644
index 00000000000..a0828e4f668
--- /dev/null
+++ b/source/blender/freestyle/intern/python/StrokeAttribute.h
@@ -0,0 +1,34 @@
+#ifndef FREESTYLE_PYTHON_STROKEATTRIBUTE_H
+#define FREESTYLE_PYTHON_STROKEATTRIBUTE_H
+
+#include "../stroke/Stroke.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+#include <Python.h>
+
+extern PyTypeObject StrokeAttribute_Type;
+
+#define BPy_StrokeAttribute_Check(v) (( (PyObject *) v)->ob_type == &StrokeAttribute_Type)
+
+/*---------------------------Python BPy_StrokeAttribute structure definition----------*/
+typedef struct {
+ PyObject_HEAD
+ StrokeAttribute *sa;
+} BPy_StrokeAttribute;
+
+/*---------------------------Python BPy_StrokeAttribute visible prototypes-----------*/
+
+PyMODINIT_FUNC StrokeAttribute_Init( PyObject *module );
+
+///////////////////////////////////////////////////////////////////////////////////////////
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* FREESTYLE_PYTHON_STROKEATTRIBUTE_H */
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D.h b/source/blender/freestyle/intern/python/UnaryFunction0D.h
index 365b340d96c..8f1935871ca 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D.h
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject UnaryFunction0D_Type;
-#define BPy_UnaryFunction0D_Check(v) \
- ((v)->ob_type == &UnaryFunction0D_Type)
+#define BPy_UnaryFunction0D_Check(v) (( (PyObject *) v)->ob_type == &UnaryFunction0D_Type)
/*---------------------------Python BPy_UnaryFunction0D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D.h b/source/blender/freestyle/intern/python/UnaryFunction1D.h
index 2ad187ca81d..4c509f50b85 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D.h
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject UnaryFunction1D_Type;
-#define BPy_UnaryFunction1D_Check(v) \
- ((v)->ob_type == &UnaryFunction1D_Type)
+#define BPy_UnaryFunction1D_Check(v) (( (PyObject *) v)->ob_type == &UnaryFunction1D_Type)
/*---------------------------Python BPy_UnaryFunction1D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate0D.h b/source/blender/freestyle/intern/python/UnaryPredicate0D.h
index c8b9008380a..1f72ba5e86b 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate0D.h
+++ b/source/blender/freestyle/intern/python/UnaryPredicate0D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject UnaryPredicate0D_Type;
-#define BPy_UnaryPredicate0D_Check(v) \
- ((v)->ob_type == &UnaryPredicate0D_Type)
+#define BPy_UnaryPredicate0D_Check(v) (( (PyObject *) v)->ob_type == &UnaryPredicate0D_Type)
/*---------------------------Python BPy_UnaryPredicate0D structure definition----------*/
typedef struct {
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D.h b/source/blender/freestyle/intern/python/UnaryPredicate1D.h
index 8bb33782133..509d81f6937 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D.h
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D.h
@@ -13,8 +13,7 @@ extern "C" {
extern PyTypeObject UnaryPredicate1D_Type;
-#define BPy_UnaryPredicate1D_Check(v) \
- ((v)->ob_type == &UnaryPredicate1D_Type)
+#define BPy_UnaryPredicate1D_Check(v) (( (PyObject *) v)->ob_type == &UnaryPredicate1D_Type)
/*---------------------------Python BPy_UnaryPredicate1D structure definition----------*/
typedef struct {