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

# #
# 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.recursiveSplit(func, pyParameterUP0D(0.2,0.8), NotUP1D(pyHigherNumberOfTurnsUP1D(3, 0.5)), 2)
Operators.select(pyHigherLengthUP1D(100))
Operators.sort(pyLengthBP1D())
shaders_list = [
pySamplingShader(10),
BezierCurveShader(30),
pySamplingShader(50),
pyNonLinearVaryingThicknessShader(4,16, 0.6),
TextureAssignerShader(6),
pyConstantColorShader(0.2, 0.2, 0.2,1.0),
pyTipRemoverShader(10)
]

Operators.create(AndUP1D(pyDensityUP1D(8,0.25, MEAN), pyHigherLengthUP1D(80)), shaders_list)