From 1245fa37694b8cce14639bfc9b016aa4bd23776c Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Sun, 13 Sep 2015 19:09:56 +0200 Subject: Second round of extension executable bit cleanup. Add/remove executable bits and shebangs as appropriate. The extension entry point should be executable, while Python files that contain libraries and are not entry points should not be executable. Shebang lines should only be present in executable files. (bzr r14362) --- share/extensions/simpletransform.py | 1 - 1 file changed, 1 deletion(-) mode change 100755 => 100644 share/extensions/simpletransform.py (limited to 'share/extensions/simpletransform.py') diff --git a/share/extensions/simpletransform.py b/share/extensions/simpletransform.py old mode 100755 new mode 100644 index 47cc61ec8..8a097f46e --- a/share/extensions/simpletransform.py +++ b/share/extensions/simpletransform.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python ''' Copyright (C) 2006 Jean-Francois Barraud, barraud@math.univ-lille1.fr Copyright (C) 2010 Alvin Penner, penner@vaxxine.com -- cgit v1.2.3 From 687098ad8f0c55160fa54b25a1b95b31a6299a0e Mon Sep 17 00:00:00 2001 From: su_v Date: Tue, 20 Oct 2015 23:19:14 +0200 Subject: Extensions. Move invertTransform() from voronoi2svg.py to shared module simpletransform.py (bzr r14425.1.1) --- share/extensions/simpletransform.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'share/extensions/simpletransform.py') 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] -- cgit v1.2.3 From 12c71f5e63f038d334bd8dfea9a2ab16dc134c50 Mon Sep 17 00:00:00 2001 From: su_v Date: Tue, 20 Oct 2015 23:20:32 +0200 Subject: Extensions. Fix view center for Render extensions applied in transformed layers or groups (bug #1503882) Fixed bugs: - https://launchpad.net/bugs/1503882 (bzr r14425.1.2) --- share/extensions/simpletransform.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'share/extensions/simpletransform.py') diff --git a/share/extensions/simpletransform.py b/share/extensions/simpletransform.py index 7fb2b37f0..8b6f46935 100644 --- a/share/extensions/simpletransform.py +++ b/share/extensions/simpletransform.py @@ -252,4 +252,10 @@ def computeBBox(aList,mat=[[1,0,0],[0,1,0]]): return bbox +def computePointInNode(pt, node, mat=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]): + if node.getparent() is not None: + applyTransformToPoint(invertTransform(composeParents(node, mat)), pt) + return pt + + # vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 -- cgit v1.2.3