[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