LEFT | RIGHT |
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) 2008--2012 Han-Wen Nienhuys <hanwen@lilypond.org> | 4 Copyright (C) 2008--2012 Han-Wen Nienhuys <hanwen@lilypond.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 12 matching lines...) Expand all Loading... |
23 #include "skyline.hh" | 23 #include "skyline.hh" |
24 | 24 |
25 class Skyline_pair | 25 class Skyline_pair |
26 { | 26 { |
27 private: | 27 private: |
28 Drul_array<Skyline> skylines_; | 28 Drul_array<Skyline> skylines_; |
29 | 29 |
30 DECLARE_SIMPLE_SMOBS (Skyline_pair); | 30 DECLARE_SIMPLE_SMOBS (Skyline_pair); |
31 public: | 31 public: |
32 Skyline_pair (); | 32 Skyline_pair (); |
33 Skyline_pair (vector<Box> const &boxes, Real horizon_padding, Axis a); | 33 Skyline_pair (vector<Box> const &boxes, Axis a); |
34 Skyline_pair (Box const &, Real horizon_padding, Axis a); | 34 Skyline_pair (vector<Drul_array<Offset> > const &buildings, Axis a); |
| 35 Skyline_pair (vector<Skyline_pair> const &skypairs); |
| 36 Skyline_pair (Box const &, Axis a); |
| 37 |
35 void raise (Real); | 38 void raise (Real); |
| 39 void grow (Real); |
36 void shift (Real); | 40 void shift (Real); |
37 Real left (); | 41 void deholify (); |
38 Real right (); | 42 Real smallest_shift (Skyline_pair const &other, Direction d, |
39 void insert (Box const &, Real horizon_padding, Axis); | 43 Real h_padding = 0, Real v_padding = 0); |
| 44 Real left () const; |
| 45 Real right () const; |
| 46 bool intersects (Skyline_pair const &other) const; |
| 47 void insert (Box const &, Axis); |
40 void merge (Skyline_pair const &other); | 48 void merge (Skyline_pair const &other); |
41 void rebuild_skyline_padding (Real horizon_padding, Axis horizon_axis); | |
42 Skyline &operator [] (Direction d); | 49 Skyline &operator [] (Direction d); |
43 Skyline const &operator [] (Direction d) const; | 50 Skyline const &operator [] (Direction d) const; |
| 51 bool is_singleton () const; |
44 bool is_empty () const; | 52 bool is_empty () const; |
45 void print () const; | 53 void print () const; |
46 void print_points () const; | 54 void print_points () const; |
47 | 55 |
48 DECLARE_SCHEME_CALLBACK (skyline, (SCM, SCM)); | 56 DECLARE_SCHEME_CALLBACK (skyline, (SCM, SCM)); |
49 }; | 57 }; |
50 | 58 |
51 #endif /* SKYLINE_PAIR_HH */ | 59 #endif /* SKYLINE_PAIR_HH */ |
LEFT | RIGHT |