[Bf-blender-cvs] [6a94e73] master: Freestyle: Added logical operators for binary predicates for 1D elements.

Tamito Kajiyama noreply at git.blender.org
Fri Apr 18 08:03:26 CEST 2014


Commit: 6a94e73a854286f711bffa81d351d640b4cf3675
Author: Tamito Kajiyama
Date:   Fri Apr 18 13:57:10 2014 +0900
https://developer.blender.org/rB6a94e73a854286f711bffa81d351d640b4cf3675

Freestyle: Added logical operators for binary predicates for 1D elements.

The implemented operators are:
freestyle.predicates.AndBP1D
freestyle.predicates.NotBP1D
freestyle.predicates.OrBP1D

===================================================================

M	release/scripts/freestyle/modules/freestyle/predicates.py

===================================================================

diff --git a/release/scripts/freestyle/modules/freestyle/predicates.py b/release/scripts/freestyle/modules/freestyle/predicates.py
index 0bcba16..ce6f0a3 100644
--- a/release/scripts/freestyle/modules/freestyle/predicates.py
+++ b/release/scripts/freestyle/modules/freestyle/predicates.py
@@ -155,7 +155,6 @@ class pyParameterUP0D(UnaryPredicate0D):
 ## Unary predicates for 1D elements (curves)
 ############################################
 
-
 class AndUP1D(UnaryPredicate1D):
     def __init__(self, pred1, pred2):
         UnaryPredicate1D.__init__(self)
@@ -515,6 +514,34 @@ class pyClosedCurveUP1D(UnaryPredicate1D):
 ## Binary predicates for 1D elements (curves)
 #############################################
 
+class AndBP1D(BinaryPredicate1D):
+    def __init__(self, pred1, pred2):
+        BinaryPredicate1D.__init__(self)
+        self.__pred1 = pred1
+        self.__pred2 = pred2
+
+    def __call__(self, inter1, inter2):
+        return self.__pred1(inter1, inter2) and self.__pred2(inter1, inter2)
+
+
+class OrBP1D(BinaryPredicate1D):
+    def __init__(self, pred1, pred2):
+        BinaryPredicate1D.__init__(self)
+        self.__pred1 = pred1
+        self.__pred2 = pred2
+
+    def __call__(self, inter1, inter2):
+        return self.__pred1(inter1, inter2) or self.__pred2(inter1, inter2)
+
+
+class NotBP1D(BinaryPredicate1D):
+    def __init__(self, pred):
+        BinaryPredicate1D.__init__(self)
+        self.__pred = pred
+
+    def __call__(self, inter1, inter2):
+        return not self.__pred(inter1, inter2)
+
 
 class pyZBP1D(BinaryPredicate1D):
     def __init__(self, iType=IntegrationType.MEAN):




More information about the Bf-blender-cvs mailing list