diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2015-10-20 21:19:14 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2015-10-20 21:19:14 +0000 |
| commit | 687098ad8f0c55160fa54b25a1b95b31a6299a0e (patch) | |
| tree | f84b64e7bfec1480c9ceea0f8e3f2c324f7a99d9 | |
| parent | Extensions. Restack - fix indentation level (follow-up to rev 14424, bug #149... (diff) | |
| download | inkscape-687098ad8f0c55160fa54b25a1b95b31a6299a0e.tar.gz inkscape-687098ad8f0c55160fa54b25a1b95b31a6299a0e.zip | |
Extensions. Move invertTransform() from voronoi2svg.py to shared module simpletransform.py
(bzr r14425.1.1)
| -rwxr-xr-x | share/extensions/perspective.py | 3 | ||||
| -rw-r--r-- | share/extensions/simpletransform.py | 15 | ||||
| -rwxr-xr-x | share/extensions/summersnight.py | 3 | ||||
| -rwxr-xr-x | share/extensions/voronoi2svg.py | 19 |
4 files changed, 18 insertions, 22 deletions
diff --git a/share/extensions/perspective.py b/share/extensions/perspective.py index 044257ae8..a6ee5810b 100755 --- a/share/extensions/perspective.py +++ b/share/extensions/perspective.py @@ -32,7 +32,6 @@ import inkex import simplepath import cubicsuperpath import simpletransform -import voronoi2svg from ffgeom import * inkex.localize() @@ -139,7 +138,7 @@ class Project(inkex.Effect): csp[0] = self.project_point(csp[0],m) csp[1] = self.project_point(csp[1],m) csp[2] = self.project_point(csp[2],m) - mat = voronoi2svg.Voronoi2svg().invertTransform(mat) + mat = simpletransform.invertTransform(mat) simpletransform.applyTransformToPath(mat, p) path.set('d',cubicsuperpath.formatPath(p)) diff --git a/share/extensions/simpletransform.py b/share/extensions/simpletransform.py index 8a097f46e..7fb2b37f0 100644 --- a/share/extensions/simpletransform.py +++ b/share/extensions/simpletransform.py @@ -78,6 +78,21 @@ def parseTransform(transf,mat=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): def formatTransform(mat): return ("matrix(%f,%f,%f,%f,%f,%f)" % (mat[0][0], mat[1][0], mat[0][1], mat[1][1], mat[0][2], mat[1][2])) +def invertTransform(mat): + det = mat[0][0]*mat[1][1] - mat[0][1]*mat[1][0] + if det !=0: # det is 0 only in case of 0 scaling + # invert the rotation/scaling part + a11 = mat[1][1]/det + a12 = -mat[0][1]/det + a21 = -mat[1][0]/det + a22 = mat[0][0]/det + # invert the translational part + a13 = -(a11*mat[0][2] + a12*mat[1][2]) + a23 = -(a21*mat[0][2] + a22*mat[1][2]) + return [[a11,a12,a13],[a21,a22,a23]] + else: + return[[0,0,-mat[0][2]],[0,0,-mat[1][2]]] + def composeTransform(M1,M2): a11 = M1[0][0]*M2[0][0] + M1[0][1]*M2[1][0] a12 = M1[0][0]*M2[0][1] + M1[0][1]*M2[1][1] diff --git a/share/extensions/summersnight.py b/share/extensions/summersnight.py index 67413a05c..fbf88fe92 100755 --- a/share/extensions/summersnight.py +++ b/share/extensions/summersnight.py @@ -24,7 +24,6 @@ import cubicsuperpath import inkex import simplepath import simpletransform -import voronoi2svg from ffgeom import * inkex.localize() @@ -115,7 +114,7 @@ class Project(inkex.Effect): csp[0] = self.trafopoint(csp[0]) csp[1] = self.trafopoint(csp[1]) csp[2] = self.trafopoint(csp[2]) - mat = voronoi2svg.Voronoi2svg().invertTransform(mat) + mat = simpletransform.invertTransform(mat) simpletransform.applyTransformToPath(mat, p) path.set('d',cubicsuperpath.formatPath(p)) diff --git a/share/extensions/voronoi2svg.py b/share/extensions/voronoi2svg.py index 289c352e3..26a89393c 100755 --- a/share/extensions/voronoi2svg.py +++ b/share/extensions/voronoi2svg.py @@ -171,23 +171,6 @@ class Voronoi2svg(inkex.Effect): #{{{ Transformation helpers - def invertTransform(self,mat): - det = mat[0][0]*mat[1][1] - mat[0][1]*mat[1][0] - if det !=0: #det is 0 only in case of 0 scaling - #invert the rotation/scaling part - a11 = mat[1][1]/det - a12 = -mat[0][1]/det - a21 = -mat[1][0]/det - a22 = mat[0][0]/det - - #invert the translational part - a13 = -(a11*mat[0][2] + a12*mat[1][2]) - a23 = -(a21*mat[0][2] + a22*mat[1][2]) - - return [[a11,a12,a13],[a21,a22,a23]] - else: - return[[0,0,-mat[0][2]],[0,0,-mat[1][2]]] - def getGlobalTransform(self,node): parent = node.getparent() myTrans = simpletransform.parseTransform(node.get('transform')) @@ -239,7 +222,7 @@ class Voronoi2svg(inkex.Effect): trans = self.getGlobalTransform(parentGroup) invtrans = None if trans: - invtrans = self.invertTransform(trans) + invtrans = simpletransform.invertTransform(trans) #}}} |
