]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/bezier.cc
release: 1.3.38
[lilypond.git] / lily / bezier.cc
index 6b388e1d8ff47f7c0589b610e296df1f8864a390..4cb2b3682ed3e9b7015718bbf524322d402955f2 100644 (file)
@@ -56,11 +56,6 @@ translate (Array<Offset>* arr_p, Offset o)
   sum_{j=0}^3  (3 over j) z_j (1-t)^(3-j)  t^j
  */
 
-Bezier::Bezier ()
-  : control_ (CONTROL_COUNT)
-{
-}
-
 Real
 Bezier::get_other_coordinate (Axis a,  Real x) const
 {
@@ -177,19 +172,23 @@ Bezier::extent (Axis a)const
 void
 Bezier::flip (Axis a)
 {
-  ::flip (&control_, a);
+  for (int i = CONTROL_COUNT; i--;)
+    control_[i][a] = - control_[i][a];
 }
 
 void
 Bezier::rotate (Real phi)
 {
-  ::rotate (&control_, phi);
+  Offset rot (complex_exp (Offset (0, phi)));
+  for (int i = 0; i < CONTROL_COUNT; i++)
+    control_[i] = complex_multiply (rot, control_[i]);
 }
 
 void
 Bezier::translate (Offset o)
 {
-  ::translate (&control_, o);
+  for (int i = 0; i < CONTROL_COUNT; i++)
+    control_[i] += o;
 }
 
 void