###############################################################################

# #
# This file is part of a style sheet example from the Freestyle application #
# Copyright (C) 2001-2005 Stephane Grabli #
# #
# http://freestyle.sourceforge.net #
# #
###############################################################################


from Freestyle import * from logical_operators import * from PredicatesU1D import * from PredicatesB1D import * from Functions0D import * from shaders import *
Operators.select(QuantitativeInvisibilityUP1D(0))
Operators.bidirectionalChain(ChainSilhouetteIterator(), NotUP1D(QuantitativeInvisibilityUP1D(0)))
func = pyInverseCurvature2DAngleF0D()
Operators.select(pyHigherLengthUP1D(20))
Operators.recursiveSplit(func, NotUP1D(pyHigherNumberOfTurnsUP1D(1, 1.5)), 5)
Operators.sort(pyLengthBP1D())
shaders_list = [
BezierCurveShader(30),
pySamplingShader(50),
pyConstrainedIncreasingThicknessShader(2,10, 0.2),
TextureAssignerShader(6),
ConstantColorShader(0.2, 0.2, 0.2,1.0),
pyTipRemoverShader(10)
]
Operators.create(AndUP1D(pyDensityUP1D(2,0.2, MEAN), NotUP1D(pyHigherLengthUP1D(80))), shaders_list)