summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsu_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
commit687098ad8f0c55160fa54b25a1b95b31a6299a0e (patch)
treef84b64e7bfec1480c9ceea0f8e3f2c324f7a99d9
parentExtensions. Restack - fix indentation level (follow-up to rev 14424, bug #149... (diff)
downloadinkscape-687098ad8f0c55160fa54b25a1b95b31a6299a0e.tar.gz
inkscape-687098ad8f0c55160fa54b25a1b95b31a6299a0e.zip
Extensions. Move invertTransform() from voronoi2svg.py to shared module simpletransform.py
(bzr r14425.1.1)
-rwxr-xr-xshare/extensions/perspective.py3
-rw-r--r--share/extensions/simpletransform.py15
-rwxr-xr-xshare/extensions/summersnight.py3
-rwxr-xr-xshare/extensions/voronoi2svg.py19
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)
#}}}