]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/bezier-bow.hh
release: 1.3.28
[lilypond.git] / lily / include / bezier-bow.hh
index 3f30b0dd63fff07ebad90bd742f9a0507613b77d..d442124a5c1d0f34efbdbb25bf3a42858c31d289 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "bezier.hh"
 #include "lily-proto.hh"
-
+#include "lily-guile.hh"
 
 /**
   Implement bow specific bezier curve. Calculate bezier curve for bow
@@ -21,11 +21,16 @@ class Bezier_bow
 {
   Bezier curve_;
   Array<Offset> encompass_;
-
+  
   void blow_fit ();
-  void calc_default (Real h);
+  void de_uglyfy ();
+  void calc_default ();
   void to_canonic_form ();
   void calc_tangent_controls ();
+  Real calc_enclosed_area_f () const;
+  void minimise_enclosed_area ();
+  Array<Offset> area_gradient_offset_arr ();
+
   Real fit_factor () const;
 
 
@@ -34,7 +39,15 @@ class Bezier_bow
   Real alpha_;
   Offset origin_;
 public:
-  Bezier_bow (Paper_def* paper_l, Array<Offset> points, Direction dir);
+  Real  rc_factor_;
+  Real height_limit_;
+  Real ratio_;
+
+
+  Real vertical_offset_needed () const;
+  
+  Bezier_bow (Array<Offset> points, Direction dir);
+  void calculate ();
   Bezier get_curve () const;
 };