Freestyle: Added logical operators for binary predicates for 1D elements.
The implemented operators are: freestyle.predicates.AndBP1D freestyle.predicates.NotBP1D freestyle.predicates.OrBP1D
This commit is contained in:
@@ -155,7 +155,6 @@ class pyParameterUP0D(UnaryPredicate0D):
|
|||||||
## Unary predicates for 1D elements (curves)
|
## Unary predicates for 1D elements (curves)
|
||||||
############################################
|
############################################
|
||||||
|
|
||||||
|
|
||||||
class AndUP1D(UnaryPredicate1D):
|
class AndUP1D(UnaryPredicate1D):
|
||||||
def __init__(self, pred1, pred2):
|
def __init__(self, pred1, pred2):
|
||||||
UnaryPredicate1D.__init__(self)
|
UnaryPredicate1D.__init__(self)
|
||||||
@@ -515,6 +514,34 @@ class pyClosedCurveUP1D(UnaryPredicate1D):
|
|||||||
## Binary predicates for 1D elements (curves)
|
## 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):
|
class pyZBP1D(BinaryPredicate1D):
|
||||||
def __init__(self, iType=IntegrationType.MEAN):
|
def __init__(self, iType=IntegrationType.MEAN):
|
||||||
|
Reference in New Issue
Block a user