Freestyle Predicates (freestyle.predicates)

This module contains predicates operating on vertices (0D elements) and polylines (1D elements). It is also intended to be a collection of examples for predicate definition in Python.

User-defined predicates inherit one of the following base classes, depending on the object type (0D or 1D) to operate on and the arity (unary or binary):

class freestyle.predicates.AndBP1D
class freestyle.predicates.AndUP1D
class freestyle.predicates.ContourUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > ContourUP1D

__call__(inter)

Returns true if the Interface1D is a contour. An Interface1D is a contour if it is bordered by a different shape on each of its sides.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if the Interface1D is a contour, false otherwise.

Return type:

bool

class freestyle.predicates.DensityLowerThanUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > DensityLowerThanUP1D

__init__(threshold, sigma=2.0)

Builds a DensityLowerThanUP1D object.

Parameters:
  • threshold (float) – The value of the threshold density. Any Interface1D having a density lower than this threshold will match.

  • sigma (float) – The sigma value defining the density evaluation window size used in the freestyle.functions.DensityF0D functor.

__call__(inter)

Returns true if the density evaluated for the Interface1D is less than a user-defined density value.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if the density is lower than a threshold.

Return type:

bool

class freestyle.predicates.EqualToChainingTimeStampUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > freestyle.types.EqualToChainingTimeStampUP1D

__init__(ts)

Builds a EqualToChainingTimeStampUP1D object.

Parameters:

ts (int) – A time stamp value.

__call__(inter)

Returns true if the Interface1D’s time stamp is equal to a certain user-defined value.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if the time stamp is equal to a user-defined value.

Return type:

bool

class freestyle.predicates.EqualToTimeStampUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > EqualToTimeStampUP1D

__init__(ts)

Builds a EqualToTimeStampUP1D object.

Parameters:

ts (int) – A time stamp value.

__call__(inter)

Returns true if the Interface1D’s time stamp is equal to a certain user-defined value.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if the time stamp is equal to a user-defined value.

Return type:

bool

class freestyle.predicates.ExternalContourUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > ExternalContourUP1D

__call__(inter)

Returns true if the Interface1D is an external contour. An Interface1D is an external contour if it is bordered by no shape on one of its sides.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if the Interface1D is an external contour, false otherwise.

Return type:

bool

class freestyle.predicates.FalseBP1D

Class hierarchy: freestyle.types.BinaryPredicate1D > FalseBP1D

__call__(inter1, inter2)

Always returns false.

Parameters:
Returns:

False.

Return type:

bool

class freestyle.predicates.FalseUP0D

Class hierarchy: freestyle.types.UnaryPredicate0D > FalseUP0D

__call__(it)

Always returns false.

Parameters:

it (freestyle.types.Interface0DIterator) – An Interface0DIterator object.

Returns:

False.

Return type:

bool

class freestyle.predicates.FalseUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > FalseUP1D

__call__(inter)

Always returns false.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

False.

Return type:

bool

class freestyle.predicates.Length2DBP1D

Class hierarchy: freestyle.types.BinaryPredicate1D > Length2DBP1D

__call__(inter1, inter2)

Returns true if the 2D length of inter1 is less than the 2D length of inter2.

Parameters:
Returns:

True or false.

Return type:

bool

class freestyle.predicates.MaterialBP1D

Checks whether the two supplied ViewEdges have the same material.

class freestyle.predicates.NotBP1D
class freestyle.predicates.NotUP1D
class freestyle.predicates.ObjectNamesUP1D
class freestyle.predicates.OrBP1D
class freestyle.predicates.OrUP1D
class freestyle.predicates.QuantitativeInvisibilityRangeUP1D
class freestyle.predicates.QuantitativeInvisibilityUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > QuantitativeInvisibilityUP1D

__init__(qi=0)

Builds a QuantitativeInvisibilityUP1D object.

Parameters:

qi (int) – The Quantitative Invisibility you want the Interface1D to have.

__call__(inter)

Returns true if the Quantitative Invisibility evaluated at an Interface1D, using the freestyle.functions.QuantitativeInvisibilityF1D functor, equals a certain user-defined value.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if Quantitative Invisibility equals a user-defined value.

Return type:

bool

class freestyle.predicates.SameShapeIdBP1D

Class hierarchy: freestyle.types.BinaryPredicate1D > SameShapeIdBP1D

__call__(inter1, inter2)

Returns true if inter1 and inter2 belong to the same shape.

Parameters:
Returns:

True or false.

Return type:

bool

class freestyle.predicates.ShapeUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > ShapeUP1D

__init__(first, second=0)

Builds a ShapeUP1D object.

Parameters:
  • first (int) – The first Id component.

  • second (int) – The second Id component.

__call__(inter)

Returns true if the shape to which the Interface1D belongs to has the same freestyle.types.Id as the one specified by the user.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True if Interface1D belongs to the shape of the user-specified Id.

Return type:

bool

class freestyle.predicates.TrueBP1D

Class hierarchy: freestyle.types.BinaryPredicate1D > TrueBP1D

__call__(inter1, inter2)

Always returns true.

Parameters:
Returns:

True.

Return type:

bool

class freestyle.predicates.TrueUP0D

Class hierarchy: freestyle.types.UnaryPredicate0D > TrueUP0D

__call__(it)

Always returns true.

Parameters:

it (freestyle.types.Interface0DIterator) – An Interface0DIterator object.

Returns:

True.

Return type:

bool

class freestyle.predicates.TrueUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > TrueUP1D

__call__(inter)

Always returns true.

Parameters:

inter (freestyle.types.Interface1D) – An Interface1D object.

Returns:

True.

Return type:

bool

class freestyle.predicates.ViewMapGradientNormBP1D

Class hierarchy: freestyle.types.BinaryPredicate1D > ViewMapGradientNormBP1D

__init__(level, integration_type=IntegrationType.MEAN, sampling=2.0)

Builds a ViewMapGradientNormBP1D object.

Parameters:
  • level (int) – The level of the pyramid from which the pixel must be read.

  • integration_type (freestyle.types.IntegrationType) – The integration method used to compute a single value from a set of values.

  • sampling (float) – The resolution used to sample the chain: GetViewMapGradientNormF0D is evaluated at each sample point and the result is obtained by combining the resulting values into a single one, following the method specified by integration_type.

__call__(inter1, inter2)

Returns true if the evaluation of the Gradient norm Function is higher for inter1 than for inter2.

Parameters:
Returns:

True or false.

Return type:

bool

class freestyle.predicates.WithinImageBoundaryUP1D

Class hierarchy: freestyle.types.UnaryPredicate1D > WithinImageBoundaryUP1D

__init__(xmin, ymin, xmax, ymax)

Builds an WithinImageBoundaryUP1D object.

Parameters:
  • xmin (float) – X lower bound of the image boundary.

  • ymin (float) – Y lower bound of the image boundary.

  • xmax (float) – X upper bound of the image boundary.

  • ymax (float) – Y upper bound of the image boundary.

__call__(inter)

Returns true if the Interface1D intersects with image boundary.

class freestyle.predicates.pyBackTVertexUP0D

Check whether an Interface0DIterator references a TVertex and is the one that is hidden (inferred from the context).

class freestyle.predicates.pyClosedCurveUP1D
class freestyle.predicates.pyDensityFunctorUP1D
class freestyle.predicates.pyDensityUP1D
class freestyle.predicates.pyDensityVariableSigmaUP1D
class freestyle.predicates.pyHighDensityAnisotropyUP1D
class freestyle.predicates.pyHighDirectionalViewMapDensityUP1D
class freestyle.predicates.pyHighSteerableViewMapDensityUP1D
class freestyle.predicates.pyHighViewMapDensityUP1D
class freestyle.predicates.pyHighViewMapGradientNormUP1D
class freestyle.predicates.pyHigherCurvature2DAngleUP0D
class freestyle.predicates.pyHigherLengthUP1D
class freestyle.predicates.pyHigherNumberOfTurnsUP1D
class freestyle.predicates.pyIsInOccludersListUP1D
class freestyle.predicates.pyIsOccludedByIdListUP1D
class freestyle.predicates.pyIsOccludedByItselfUP1D
class freestyle.predicates.pyIsOccludedByUP1D
class freestyle.predicates.pyLengthBP1D
class freestyle.predicates.pyLowDirectionalViewMapDensityUP1D
class freestyle.predicates.pyLowSteerableViewMapDensityUP1D
class freestyle.predicates.pyNFirstUP1D
class freestyle.predicates.pyNatureBP1D
class freestyle.predicates.pyNatureUP1D
class freestyle.predicates.pyParameterUP0D
class freestyle.predicates.pyParameterUP0DGoodOne
class freestyle.predicates.pyProjectedXBP1D
class freestyle.predicates.pyProjectedYBP1D
class freestyle.predicates.pyShapeIdListUP1D
class freestyle.predicates.pyShapeIdUP1D
class freestyle.predicates.pyShuffleBP1D
class freestyle.predicates.pySilhouetteFirstBP1D
class freestyle.predicates.pyUEqualsUP0D
class freestyle.predicates.pyVertexNatureUP0D
class freestyle.predicates.pyViewMapGradientNormBP1D
class freestyle.predicates.pyZBP1D
class freestyle.predicates.pyZDiscontinuityBP1D
class freestyle.predicates.pyZSmallerUP1D