Freestyle Python API improvements - part 1.

* The API syntax of StrokeVertex and StrokeAttribute was updated by means of getter/setter
properties instead of class methods.  Python style modules (including the Parameter Editor
implementation) were updated accordingly.

* Code clean-up was done for a few Python style modules, mostly by removing duplicated
definitions of stroke shaders and fixing indentation.
This commit is contained in:
2013-01-27 20:17:49 +00:00
parent 39f8b95443
commit 156acd3370
13 changed files with 651 additions and 887 deletions

View File

@@ -483,6 +483,8 @@ Vec3f * Vec3f_ptr_from_PyObject( PyObject* obj ) {
Vec3f *v;
if( (v = Vec3f_ptr_from_Vector( obj )) )
return v;
if( (v = Vec3f_ptr_from_Color( obj )) )
return v;
if( (v = Vec3f_ptr_from_PyList( obj )) )
return v;
if( (v = Vec3f_ptr_from_PyTuple( obj )) )
@@ -494,6 +496,8 @@ Vec3r * Vec3r_ptr_from_PyObject( PyObject* obj ) {
Vec3r *v;
if( (v = Vec3r_ptr_from_Vector( obj )) )
return v;
if( (v = Vec3r_ptr_from_Color( obj )) )
return v;
if( (v = Vec3r_ptr_from_PyList( obj )) )
return v;
if( (v = Vec3r_ptr_from_PyTuple( obj )) )
@@ -502,53 +506,49 @@ Vec3r * Vec3r_ptr_from_PyObject( PyObject* obj ) {
}
Vec2f * Vec2f_ptr_from_Vector( PyObject* obj ) {
PyObject *v;
if (!VectorObject_Check(obj) || ((VectorObject *)obj)->size != 2)
return NULL;
v = PyObject_GetAttrString(obj,"x");
float x = PyFloat_AsDouble( v );
Py_DECREF( v );
v = PyObject_GetAttrString(obj,"y");
float y = PyFloat_AsDouble( v );
Py_DECREF( v );
return new Vec2f(x,y);
float x = ((VectorObject *)obj)->vec[0];
float y = ((VectorObject *)obj)->vec[1];
return new Vec2f(x, y);
}
Vec3f * Vec3f_ptr_from_Vector( PyObject* obj ) {
PyObject *v;
if (!VectorObject_Check(obj) || ((VectorObject *)obj)->size != 3)
return NULL;
v = PyObject_GetAttrString(obj,"x");
float x = PyFloat_AsDouble( v );
Py_DECREF( v );
v = PyObject_GetAttrString(obj,"y");
float y = PyFloat_AsDouble( v );
Py_DECREF( v );
v = PyObject_GetAttrString(obj,"z");
float z = PyFloat_AsDouble( v );
Py_DECREF( v );
float x = ((VectorObject *)obj)->vec[0];
float y = ((VectorObject *)obj)->vec[1];
float z = ((VectorObject *)obj)->vec[2];
return new Vec3f(x,y,z);
}
Vec3r * Vec3r_ptr_from_Vector( PyObject* obj ) {
PyObject *v;
if (!VectorObject_Check(obj) || ((VectorObject *)obj)->size != 3)
return NULL;
v = PyObject_GetAttrString(obj,"x");
double x = PyFloat_AsDouble( v );
Py_DECREF( v );
v = PyObject_GetAttrString(obj,"y");
double y = PyFloat_AsDouble( v );
Py_DECREF( v );
v = PyObject_GetAttrString(obj,"z");
double z = PyFloat_AsDouble( v );
Py_DECREF( v );
real x = ((VectorObject *)obj)->vec[0];
real y = ((VectorObject *)obj)->vec[1];
real z = ((VectorObject *)obj)->vec[2];
return new Vec3r(x,y,z);
}
Vec3f * Vec3f_ptr_from_Color( PyObject* obj ) {
if (!ColorObject_Check(obj))
return NULL;
float r = ((ColorObject *)obj)->col[0];
float g = ((ColorObject *)obj)->col[1];
float b = ((ColorObject *)obj)->col[2];
return new Vec3f(r,g,b);
}
Vec3r * Vec3r_ptr_from_Color( PyObject* obj ) {
if (!ColorObject_Check(obj))
return NULL;
real r = ((ColorObject *)obj)->col[0];
real g = ((ColorObject *)obj)->col[1];
real b = ((ColorObject *)obj)->col[2];
return new Vec3r(r,g,b);
}
Vec2f * Vec2f_ptr_from_PyList( PyObject* obj ) {
if( !PyList_Check(obj) || PyList_Size(obj) != 2 )
return NULL;