diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-01-28 01:51:25 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-01-28 01:51:25 +0400 |
commit | 6ff0d15e5a4786cffbf471ffe67f8d5916fccc97 (patch) | |
tree | 582c62662f9f7f1aedb29ee27c01430b2ded891c /release/scripts/freestyle/style_modules | |
parent | 156acd3370a4f9090dc1507f275bf2cb695ac371 (diff) |
Freestyle Python API improvements.
StrokeAttribute class methods were renamed from camel case to lower case plus underscore.
Also made changes to shaders.pyTVertexOrientationShader that uses the affected methods.
Diffstat (limited to 'release/scripts/freestyle/style_modules')
-rw-r--r-- | release/scripts/freestyle/style_modules/shaders.py | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/release/scripts/freestyle/style_modules/shaders.py b/release/scripts/freestyle/style_modules/shaders.py index 85ba2da0e25..c91153af111 100644 --- a/release/scripts/freestyle/style_modules/shaders.py +++ b/release/scripts/freestyle/style_modules/shaders.py @@ -821,47 +821,56 @@ class pyTVertexOrientationShader(StrokeShader): ## the previous or next edge def findOrientation(self, tv, ve): mateVE = tv.mate(ve) - if((ve.qi() != 0) or (mateVE.qi() != 0)): + if ve.qi() != 0 or mateVE.qi() != 0: ait = AdjacencyIterator(tv,1,0) winner = None - incoming = 1 - while(ait.isEnd() == 0): + incoming = True + while not ait.isEnd(): ave = ait.getObject() - if((ave.getId() != ve.getId()) and (ave.getId() != mateVE.getId())): + if ave.getId() != ve.getId() and ave.getId() != mateVE.getId(): winner = ait.getObject() - if(ait.isIncoming() == 0): - incoming = 0 + if not ait.isIncoming(): + incoming = False break ait.increment() - if(winner != None): - if(incoming != 0): + if winner is not None: + if not incoming: direction = self._Get2dDirection(winner.fedgeB()) else: direction = self._Get2dDirection(winner.fedgeA()) return direction + return None + def castToTVertex(self, cp): + if cp.t2d() == 0.0: + return cp.A().viewvertex() + elif cp.t2d() == 1.0: + return cp.B().viewvertex() + return None def shade(self, stroke): it = stroke.strokeVerticesBegin() it2 = StrokeVertexIterator(it) it2.increment() ## case where the first vertex is a TVertex - v = it.getObject() + v = it.getObject() if(v.getNature() & Nature.T_VERTEX): - tv = v.castToTVertex() - ve = getFEdge(v, it2.getObject()).viewedge() - if(tv != None): + tv = self.castToTVertex(v) + if tv is not None: + ve = getFEdge(v, it2.getObject()).viewedge() dir = self.findOrientation(tv, ve) - #print(dir.x, dir.y) - v.attribute.setAttributeVec2f("orientation", dir) + if dir is not None: + #print(dir.x, dir.y) + v.attribute.set_attribute_vec2("orientation", dir) while(it2.isEnd() == 0): vprevious = it.getObject() v = it2.getObject() if(v.getNature() & Nature.T_VERTEX): - tv = v.castToTVertex() - ve = getFEdge(vprevious, v).viewedge() - if(tv != None): + tv = self.castToTVertex(v) + if tv is not None: + ve = getFEdge(vprevious, v).viewedge() dir = self.findOrientation(tv, ve) - #print(dir.x, dir.y) - v.attribute.setAttributeVec2f("orientation", dir) + if dir is not None: + #print(dir.x, dir.y) + v.attribute.set_attribute_vec2("orientation", dir) it.increment() it2.increment() ## case where the last vertex is a TVertex @@ -869,12 +878,13 @@ class pyTVertexOrientationShader(StrokeShader): if(v.getNature() & Nature.T_VERTEX): itPrevious = StrokeVertexIterator(it) itPrevious.decrement() - tv = v.castToTVertex() - ve = getFEdge(itPrevious.getObject(), v).viewedge() - if(tv != None): + tv = self.castToTVertex(v) + if tv is not None: + ve = getFEdge(itPrevious.getObject(), v).viewedge() dir = self.findOrientation(tv, ve) - #print(dir.x, dir.y) - v.attribute.setAttributeVec2f("orientation", dir) + if dir is not None: + #print(dir.x, dir.y) + v.attribute.set_attribute_vec2("orientation", dir) class pySinusDisplacementShader(StrokeShader): def __init__(self, f, a): |