[Libreoffice-commits] libcdr.git: src/lib

Fridrich Å trba fridrich.strba at bluewin.ch
Fri Apr 5 16:19:54 PDT 2013


 src/lib/CDRTransforms.cpp |   31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

New commits:
commit 3d7854657b01bda75ff542f7c70c643ae8666377
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Sat Apr 6 01:19:25 2013 +0200

    Reduce a scope a bit

diff --git a/src/lib/CDRTransforms.cpp b/src/lib/CDRTransforms.cpp
index 950f0fc..71b87cd 100644
--- a/src/lib/CDRTransforms.cpp
+++ b/src/lib/CDRTransforms.cpp
@@ -75,14 +75,11 @@ void libcdr::CDRTransform::applyToArc(double &rx, double &ry, double &rotation,
     return;
   }
 
-  double c = cos(rotation);
-  double s = sin(rotation);
-
   // rx > 0, ry = 0
   if (CDR_ALMOST_ZERO(ry))
   {
-    double x = m_v0*c + m_v1*s;
-    double y = m_v3*c + m_v4*s;
+    double x = m_v0*cos(rotation) + m_v1*sin(rotation);
+    double y = m_v3*cos(rotation) + m_v4*sin(rotation);
     rx *= sqrt(x*x + y*y);
     if (CDR_ALMOST_ZERO(rx))
     {
@@ -96,8 +93,8 @@ void libcdr::CDRTransform::applyToArc(double &rx, double &ry, double &rotation,
   // rx = 0, ry > 0
   if (CDR_ALMOST_ZERO(rx))
   {
-    double x = -m_v0*s + m_v1*c;
-    double y = -m_v3*s + m_v4*c;
+    double x = -m_v0*sin(rotation) + m_v1*cos(rotation);
+    double y = -m_v3*sin(rotation) + m_v4*cos(rotation);
     ry *= sqrt(x*x + y*y);
     if (CDR_ALMOST_ZERO(ry))
     {
@@ -111,10 +108,10 @@ void libcdr::CDRTransform::applyToArc(double &rx, double &ry, double &rotation,
   double v0, v1, v2, v3;
   if (!CDR_ALMOST_ZERO(determinant))
   {
-    v0 = ry*(m_v4*c - m_v3*s);
-    v1 = ry*(m_v0*s - m_v1*c);
-    v2 = -rx*(m_v4*s + m_v3*c);
-    v3 = rx*(m_v1*s + m_v0*c);
+    v0 = ry*(m_v4*cos(rotation)- m_v3*sin(rotation));
+    v1 = ry*(m_v0*sin(rotation)- m_v1*cos(rotation));
+    v2 = -rx*(m_v4*sin(rotation) + m_v3*cos(rotation));
+    v3 = rx*(m_v1*sin(rotation) + m_v0*cos(rotation));
 
     // Transformed ellipse
     double A = v0*v0 + v2*v2;
@@ -127,8 +124,8 @@ void libcdr::CDRTransform::applyToArc(double &rx, double &ry, double &rotation,
     else
     {
       rotation = atan2(B, A-C) / 2.0;
-      c = cos(rotation);
-      s = sin(rotation);
+      double c = cos(rotation);
+      double s = sin(rotation);
       double cc = c*c;
       double ss = s*s;
       double sc = B*s*c;
@@ -150,10 +147,10 @@ void libcdr::CDRTransform::applyToArc(double &rx, double &ry, double &rotation,
   }
 
   // Special case of a close to singular transformation
-  v0 = ry*(m_v4*c - m_v3*s);
-  v1 = ry*(m_v1*c - m_v0*s);
-  v2 = rx*(m_v3*c + m_v4*s);
-  v3 = rx*(m_v0*c + m_v1*s);
+  v0 = ry*(m_v4*cos(rotation) - m_v3*sin(rotation));
+  v1 = ry*(m_v1*cos(rotation) - m_v0*sin(rotation));
+  v2 = rx*(m_v3*cos(rotation) + m_v4*sin(rotation));
+  v3 = rx*(m_v0*cos(rotation) + m_v1*sin(rotation));
 
   // The result of transformation is a point
   if (CDR_ALMOST_ZERO(v3*v3 + v1*v1) && CDR_ALMOST_ZERO(v2*v2 + v0*v0))


More information about the Libreoffice-commits mailing list