LEFT | RIGHT |
(no file at all) | |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 1998--2012 Jan Nieuwenhuizen <janneke@gnu.org> | 4 Copyright (C) 1998--2012 Jan Nieuwenhuizen <janneke@gnu.org> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 30 matching lines...) Expand all Loading... |
41 Real get_other_coordinate (Axis a, Real x) const; | 41 Real get_other_coordinate (Axis a, Real x) const; |
42 vector<Real> get_other_coordinates (Axis a, Real x) const; | 42 vector<Real> get_other_coordinates (Axis a, Real x) const; |
43 vector<Real> solve_point (Axis, Real coordinate) const; | 43 vector<Real> solve_point (Axis, Real coordinate) const; |
44 Real minmax (Axis, Real, Real, Direction) const; | 44 Real minmax (Axis, Real, Real, Direction) const; |
45 vector<Real> solve_derivative (Offset) const; | 45 vector<Real> solve_derivative (Offset) const; |
46 Interval extent (Axis) const; | 46 Interval extent (Axis) const; |
47 Interval control_point_extent (Axis) const; | 47 Interval control_point_extent (Axis) const; |
48 | 48 |
49 Polynomial polynomial (Axis)const; | 49 Polynomial polynomial (Axis)const; |
50 Offset curve_point (Real t) const; | 50 Offset curve_point (Real t) const; |
| 51 Real slope_at_point (Real t) const; |
51 Real curve_coordinate (Real t, Axis) const; | 52 Real curve_coordinate (Real t, Axis) const; |
52 | 53 |
53 static const int CONTROL_COUNT = 4; | 54 static const int CONTROL_COUNT = 4; |
54 | 55 |
55 /* | 56 /* |
56 Bezier curves always have 4 control points. Making this into an | 57 Bezier curves always have 4 control points. Making this into an |
57 vector<> gives unnecessary overhead, and makes debugging a royal | 58 vector<> gives unnecessary overhead, and makes debugging a royal |
58 pain. */ | 59 pain. */ |
59 | 60 |
60 Offset control_[4]; | 61 Offset control_[4]; |
61 }; | 62 }; |
62 | 63 |
63 void scale (vector<Offset> *array, Real xscale, Real yscale); | 64 void scale (vector<Offset> *array, Real xscale, Real yscale); |
64 void rotate (vector<Offset> *array, Real phi); | 65 void rotate (vector<Offset> *array, Real phi); |
65 void translate (vector<Offset> *array, Offset o); | 66 void translate (vector<Offset> *array, Offset o); |
66 | 67 |
67 Bezier slur_shape (Real width, Real height_limit, | 68 Bezier slur_shape (Real width, Real height_limit, |
68 Real height_proportion); | 69 Real height_proportion); |
69 Real slur_height (Real width, Real height_limit, Real height_proportion); | 70 Real slur_height (Real width, Real height_limit, Real height_proportion); |
70 void get_slur_indent_height (Real *indent, Real *height, Real width, Real h_inf,
Real r_0); | 71 void get_slur_indent_height (Real *indent, Real *height, Real width, Real h_inf,
Real r_0); |
71 | 72 |
72 #endif // BEZIER_HH | 73 #endif // BEZIER_HH |
73 | 74 |
LEFT | RIGHT |