Revision: 15860
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15860
Author:   mxcurioni
Date:     2008-07-29 12:42:10 +0200 (Tue, 29 Jul 2008)

Log Message:
-----------
soc-2008-mxcurioni: SWIG replacement is effective and the native Freestyle API 
renders a correct result for the test style module 'contour.py'. More testing 
needs to be done to make sure my work was correct.

To make it work, I had to:
- update Operators to include all of its methods in the Python API
- redefine the Freestyle modules as local classes, allowing predicates to 
support the __call__ method (I found out that Python does not allow modules to 
be callable). The API is defined in the new freestyle_init.py  file.
- remove all references to former Python Freestyle API (located in 
source/blender/freestyle/python/, under the Freestyle.py file) and replace it 
with the new API file.
- normalize all constants related to the Nature class
- redefine the logical_operators.py file so that AndUP1D, OrUP1D and NotUP1D 
would be subclasses of a UnaryPredicate1D subclass having a operator() 
implementation. Using UnaryPredicate1D as a superclass would somehow prevent 
calls to the operator(). For the time being, I chose ContourUP1D (even though 
it does not really matter which subclass it is, since the __call__ method is 
redefined in all of these classes). I will implement this classes in C++ to get 
rid of the problem altogether.
- turn off a few classes that somehow are not well recognized (Noise, 
Curve...). I will reenable them later once I understand what's going on.

Modified Paths:
--------------
    
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/python/BPy_Operators.cpp

Modified: 
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/python/BPy_Operators.cpp
===================================================================
--- 
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/python/BPy_Operators.cpp
        2008-07-29 05:45:16 UTC (rev 15859)
+++ 
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/python/BPy_Operators.cpp
        2008-07-29 10:42:10 UTC (rev 15860)
@@ -19,10 +19,33 @@
 static void Operators___dealloc__(BPy_Operators *self);
 
 static PyObject * Operators_select(BPy_Operators* self, PyObject *args);
+static PyObject * Operators_bidirectionalChain(BPy_Operators* self, PyObject 
*args);
+static PyObject * Operators_sequentialSplit(BPy_Operators* self, PyObject 
*args);
+static PyObject * Operators_recursiveSplit(BPy_Operators* self, PyObject 
*args);
+static PyObject * Operators_sort(BPy_Operators* self, PyObject *args);
+static PyObject * Operators_create(BPy_Operators* self, PyObject *args);
 
 /*----------------------Operators instance definitions 
----------------------------*/
 static PyMethodDef BPy_Operators_methods[] = {
-       {"select", ( PyCFunction ) Operators_select, METH_VARARGS | 
METH_STATIC, "(UnaryPredicate1D up1D )Selects the ViewEdges of the ViewMap 
verifying a specified condition. "},
+       {"select", ( PyCFunction ) Operators_select, METH_VARARGS | 
METH_STATIC, 
+       "select operator"},
+       
+       {"bidirectionalChain", ( PyCFunction ) Operators_bidirectionalChain, 
METH_VARARGS | METH_STATIC,
+        "select operator"},
+       
+       {"sequentialSplit", ( PyCFunction ) Operators_sequentialSplit, 
METH_VARARGS | METH_STATIC,
+        "select operator"},
+       
+       {"recursiveSplit", ( PyCFunction ) Operators_recursiveSplit, 
METH_VARARGS | METH_STATIC, 
+       "select operator"},
+       
+       {"sort", ( PyCFunction ) Operators_sort, METH_VARARGS | METH_STATIC, 
+       "select operator"},
+       
+       {"create", ( PyCFunction ) Operators_create, METH_VARARGS | 
METH_STATIC, 
+       "select operator"},
+       
+               
        {NULL, NULL, 0, NULL}
 };
 


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to