# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : split_at_highest_2d_curvature.py # Author : Stephane Grabli # Date : 04/08/2005 # Purpose : Draws the visible lines (chaining follows same nature lines) # (most basic style module) from freestyle import ChainSilhouetteIterator, ConstantThicknessShader, IncreasingColorShader, \ Operators, QuantitativeInvisibilityUP1D, TextureAssignerShader, TrueUP1D from Functions0D import pyInverseCurvature2DAngleF0D from PredicatesU0D import pyParameterUP0D from PredicatesU1D import pyHigherLengthUP1D from logical_operators import NotUP1D Operators.select(QuantitativeInvisibilityUP1D(0)) Operators.bidirectional_chain(ChainSilhouetteIterator(), NotUP1D(QuantitativeInvisibilityUP1D(0))) func = pyInverseCurvature2DAngleF0D() Operators.recursive_split(func, pyParameterUP0D(0.4, 0.6), NotUP1D(pyHigherLengthUP1D(100)), 2) shaders_list = [ ConstantThicknessShader(10), IncreasingColorShader(1, 0, 0, 1, 0, 1, 0, 1), TextureAssignerShader(3), ] Operators.create(TrueUP1D(), shaders_list)
# along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : blueprint_squares.py # Author : Emmanuel Turquin # Date : 04/08/2005 # Purpose : Produces a blueprint using square contour strokes from freestyle import ChainPredicateIterator, ConstantThicknessShader, ContourUP1D, IncreasingColorShader, \ Operators, QuantitativeInvisibilityUP1D, SameShapeIdBP1D, TextureAssignerShader, TrueUP1D from PredicatesU1D import pyHigherLengthUP1D from logical_operators import AndUP1D, NotUP1D from shaders import pyBluePrintSquaresShader, pyPerlinNoise1DShader upred = AndUP1D(QuantitativeInvisibilityUP1D(0), ContourUP1D()) bpred = SameShapeIdBP1D() Operators.select(upred) Operators.bidirectional_chain(ChainPredicateIterator(upred, bpred), NotUP1D(upred)) Operators.select(pyHigherLengthUP1D(200)) shaders_list = [ ConstantThicknessShader(8), pyBluePrintSquaresShader(2, 20), pyPerlinNoise1DShader(0.07, 10, 8), TextureAssignerShader(4), IncreasingColorShader(0.6, 0.3, 0.3, 0.7, 0.6, 0.3, 0.3, 0.3), ConstantThicknessShader(4), ] Operators.create(TrueUP1D(), shaders_list)
# along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : split_at_highest_2d_curvature.py # Author : Stephane Grabli # Date : 04/08/2005 # Purpose : Draws the visible lines (chaining follows same nature lines) # (most basic style module) from freestyle import ChainSilhouetteIterator, ConstantThicknessShader, IncreasingColorShader, \ Operators, QuantitativeInvisibilityUP1D, TextureAssignerShader, TrueUP1D from Functions0D import pyInverseCurvature2DAngleF0D from PredicatesU0D import pyParameterUP0D from PredicatesU1D import pyHigherLengthUP1D from logical_operators import NotUP1D Operators.select(QuantitativeInvisibilityUP1D(0)) Operators.bidirectional_chain(ChainSilhouetteIterator(), NotUP1D(QuantitativeInvisibilityUP1D(0))) func = pyInverseCurvature2DAngleF0D() Operators.recursive_split(func, pyParameterUP0D(0.4, 0.6), NotUP1D(pyHigherLengthUP1D(100)), 2) shaders_list = [ ConstantThicknessShader(10), IncreasingColorShader(1, 0, 0, 1, 0, 1, 0, 1), TextureAssignerShader(3), ] Operators.create(TrueUP1D(), shaders_list)