A follow-up to Patch D623: minor code updates and style cleanup.

This commit is contained in:
Tamito Kajiyama
2014-07-24 11:43:16 +09:00
parent b408d8af31
commit 1819fa2b5a
3 changed files with 27 additions and 18 deletions

View File

@@ -46,13 +46,13 @@ from _freestyle import (
# constructs for predicate definition in Python # constructs for predicate definition in Python
from freestyle.types import ( from freestyle.types import (
BinaryPredicate1D, BinaryPredicate1D,
Id,
IntegrationType, IntegrationType,
Interface0DIterator,
Nature, Nature,
TVertex, TVertex,
UnaryPredicate0D, UnaryPredicate0D,
UnaryPredicate1D, UnaryPredicate1D,
Id,
Interface0DIterator,
) )
from freestyle.functions import ( from freestyle.functions import (
Curvature2DAngleF0D, Curvature2DAngleF0D,
@@ -160,7 +160,7 @@ class AndUP1D(UnaryPredicate1D):
self.predicates = predicates self.predicates = predicates
# there are cases in which only one predicate is supplied (in the parameter editor) # there are cases in which only one predicate is supplied (in the parameter editor)
if len(self.predicates) < 1: if len(self.predicates) < 1:
raise ValueError("Expected two or more UnaryPredicate1D, got ", len(predicates)) raise ValueError("Expected one or more UnaryPredicate1D, got ", len(predicates))
def __call__(self, inter): def __call__(self, inter):
return all(pred(inter) for pred in self.predicates) return all(pred(inter) for pred in self.predicates)
@@ -172,7 +172,7 @@ class OrUP1D(UnaryPredicate1D):
self.predicates = predicates self.predicates = predicates
# there are cases in which only one predicate is supplied (in the parameter editor) # there are cases in which only one predicate is supplied (in the parameter editor)
if len(self.predicates) < 1: if len(self.predicates) < 1:
raise ValueError("Expected two or more UnaryPredicate1D, got ", len(predicates)) raise ValueError("Expected one or more UnaryPredicate1D, got ", len(predicates))
def __call__(self, inter): def __call__(self, inter):
return any(pred(inter) for pred in self.predicates) return any(pred(inter) for pred in self.predicates)

View File

@@ -191,12 +191,21 @@ def iter_material_value(stroke, func, attribute):
for svert in it: for svert in it:
material = func(it) material = func(it)
# main # main
if attribute == 'DIFF': if attribute == 'LINE':
value = rgb_to_bw(*material.diffuse[0:3]) value = rgb_to_bw(*material.line[0:3])
elif attribute == 'ALPHA': elif attribute == 'ALPHA':
value = material.diffuse[3] value = material.line[3]
elif attribute == 'DIFF':
value = rgb_to_bw(*material.diffuse[0:3])
elif attribute == 'SPEC': elif attribute == 'SPEC':
value = rgb_to_bw(*material.specular[0:3]) value = rgb_to_bw(*material.specular[0:3])
# line seperate
elif attribute == 'LINE_R':
value = material.line[0]
elif attribute == 'LINE_G':
value = material.line[1]
elif attribute == 'LINE_B':
value = material.line[2]
# diffuse seperate # diffuse seperate
elif attribute == 'DIFF_R': elif attribute == 'DIFF_R':
value = material.diffuse[0] value = material.diffuse[0]

View File

@@ -207,13 +207,13 @@ class ThicknessBlenderMixIn(ThicknessModifierMixIn):
v = self.blend(outer + inner, v) v = self.blend(outer + inner, v)
# Part 1: blend # Part 1: blend
if self.position == "CENTER": if self.position == 'CENTER':
outer = inner = v * 0.5 outer = inner = v * 0.5
elif self.position == "INSIDE": elif self.position == 'INSIDE':
outer, inner = 0, v outer, inner = 0, v
elif self.position == "OUTSIDE": elif self.position == 'OUTSIDE':
outer, inner = v, 0 outer, inner = v, 0
elif self.position == "RELATIVE": elif self.position == 'RELATIVE':
outer, inner = v * self.ratio, v - (v * self.ratio) outer, inner = v * self.ratio, v - (v * self.ratio)
else: else:
raise ValueError("unknown thickness position: " + position) raise ValueError("unknown thickness position: " + position)
@@ -415,10 +415,10 @@ class ColorMaterialShader(ColorRampModifier):
if not self.use_ramp and self.attribute in attributes: if not self.use_ramp and self.attribute in attributes:
for svert in it: for svert in it:
material = self.func(it) material = self.func(it)
if self.attribute == 'DIFF': if self.attribute == 'LINE':
b = material.diffuse[0:3]
elif self.attribute == 'LINE':
b = material.line[0:3] b = material.line[0:3]
elif self.attribute == 'DIFF':
b = material.diffuse[0:3]
else: else:
b = material.specular[0:3] b = material.specular[0:3]
a = svert.attribute.color a = svert.attribute.color
@@ -706,10 +706,10 @@ class DashedLineShader(StrokeShader):
def shade(self, stroke): def shade(self, stroke):
start = 0.0 # 2D curvilinear length start = 0.0 # 2D curvilinear length
visible = True visible = True
""" The extra 'sampling' term is added below, because the # The extra 'sampling' term is added below, because the
visibility attribute of the i-th vertex refers to the # visibility attribute of the i-th vertex refers to the
visibility of the stroke segment between the i-th and # visibility of the stroke segment between the i-th and
(i+1)-th vertices. """ # (i+1)-th vertices.
sampling = 1.0 sampling = 1.0
it = stroke.stroke_vertices_begin(sampling) it = stroke.stroke_vertices_begin(sampling)
pattern_cycle = cycle(self.pattern) pattern_cycle = cycle(self.pattern)