diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-09-20 03:24:14 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-09-20 03:24:14 +0400 |
commit | 5582d9fac13123397297db54a0478a63a1b75194 (patch) | |
tree | 242143a9ab8e411858f0c2a67ebc28447a821721 /release/scripts/freestyle | |
parent | 81702789d15668f22b1cd173361b3f20fb1fea34 (diff) |
Rearranged the organization of chaining options in line styles.
New there are only two chaining types: plain and sketchy. Both chaining types
have the "same object" option. With this option enabled, only feature edges of
the same object are chained. The sketchy chaining also has the "rounds" option
to specify the number of rounds in a sketchy multiple touch.
Also removed a temporary workaround (implemented by means of a custom chaining
rule) for infinite straight lines, which has resulted in much cleaner strokes.
Diffstat (limited to 'release/scripts/freestyle')
-rw-r--r-- | release/scripts/freestyle/style_modules/parameter_editor.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/release/scripts/freestyle/style_modules/parameter_editor.py b/release/scripts/freestyle/style_modules/parameter_editor.py index 0324586b135..5f0d4861db4 100644 --- a/release/scripts/freestyle/style_modules/parameter_editor.py +++ b/release/scripts/freestyle/style_modules/parameter_editor.py @@ -881,15 +881,16 @@ def process(layer_name, lineset_name): upred = TrueUP1D() Operators.select(upred) # join feature edges to form chains - if linestyle.chaining == "NATURAL": - bpred = AngleLargerThanBP1D(1.0) # XXX temporary fix for occasional unexpected long lines + if linestyle.chaining == "PLAIN": if linestyle.same_object: - bpred = AndBP1D(bpred, SameShapeIdBP1D()) - Operators.bidirectionalChain(ChainPredicateIterator(upred, bpred), NotUP1D(upred)) - elif linestyle.chaining == "SKETCHY_TOPOLOGY_PRESERVED": - Operators.bidirectionalChain(pySketchyChainSilhouetteIterator(linestyle.rounds)) - elif linestyle.chaining == "SKETCHY_TOPOLOGY_BROKEN": - Operators.bidirectionalChain(pySketchyChainingIterator(linestyle.rounds)) + Operators.bidirectionalChain(ChainSilhouetteIterator(), NotUP1D(upred)) + else: + Operators.bidirectionalChain(ChainPredicateIterator(upred, TrueBP1D()), NotUP1D(upred)) + elif linestyle.chaining == "SKETCHY": + if linestyle.same_object: + Operators.bidirectionalChain(pySketchyChainSilhouetteIterator(linestyle.rounds)) + else: + Operators.bidirectionalChain(pySketchyChainingIterator(linestyle.rounds)) # split chains if linestyle.material_boundary: Operators.sequentialSplit(MaterialBoundaryUP0D()) |