diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-04-18 08:57:10 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-04-18 10:02:44 +0400 |
commit | 6a94e73a854286f711bffa81d351d640b4cf3675 (patch) | |
tree | a47106e6e5dee3548cfb9d965fa72a0010639de7 /release/scripts | |
parent | 6161e4420e675da867b0ac5c3413ef2a89a66595 (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/scripts')
-rw-r--r-- | release/scripts/freestyle/modules/freestyle/predicates.py | 29 |
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): |