X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbezier.hh;h=bd66558a19a179d4eae5aa28958c4b062541d3f2;hb=99503a78627620112cabb61bb9f1cee3fe9dfcb4;hp=06bdd29989c7c049690c3d254ea88b6d19056ca9;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/include/bezier.hh b/lily/include/bezier.hh index 06bdd29989..bd66558a19 100644 --- a/lily/include/bezier.hh +++ b/lily/include/bezier.hh @@ -1,7 +1,20 @@ /* - bezier.hh -- declare Bezier and Bezier_bow + This file is part of LilyPond, the GNU music typesetter. - (c) 1998--2006 Jan Nieuwenhuizen + Copyright (C) 1998--2011 Jan Nieuwenhuizen + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef BEZIER_HH @@ -22,10 +35,12 @@ public: void reverse (); void rotate (Real); void translate (Offset); + void subdivide (Real, Bezier *, Bezier *) const; + Bezier extract (Real, Real) const; Real get_other_coordinate (Axis a, Real x) const; - Array solve_point (Axis, Real coordinate) const; - Array solve_derivative (Offset) const; + vector solve_point (Axis, Real coordinate) const; + vector solve_derivative (Offset) const; Interval extent (Axis) const; Interval control_point_extent (Axis) const; @@ -37,15 +52,15 @@ public: /* Bezier curves always have 4 control points. Making this into an - Array<> gives unnecessary overhead, and makes debugging a royal + vector<> gives unnecessary overhead, and makes debugging a royal pain. */ Offset control_[4]; }; -void scale (Array *array, Real xscale, Real yscale); -void rotate (Array *array, Real phi); -void translate (Array *array, Offset o); +void scale (vector *array, Real xscale, Real yscale); +void rotate (vector *array, Real phi); +void translate (vector *array, Offset o); Bezier slur_shape (Real width, Real height_limit, Real height_proportion);