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:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-04-18 08:57:10 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-04-18 10:02:44 +0400
commit6a94e73a854286f711bffa81d351d640b4cf3675 (patch)
treea47106e6e5dee3548cfb9d965fa72a0010639de7 /release
parent6161e4420e675da867b0ac5c3413ef2a89a66595 (diff)
Freestyle: Added logical operators for binary predicates for 1D elements.
The implemented operators are: freestyle.predicates.AndBP1D freestyle.predicates.NotBP1D freestyle.predicates.OrBP1D
Diffstat (limited to 'release')
-rw-r--r--release/scripts/freestyle/modules/freestyle/predicates.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/release/scripts/freestyle/modules/freestyle/predicates.py b/release/scripts/freestyle/modules/freestyle/predicates.py
index 0bcba160341..ce6f0a35ffe 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):