X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fskyline.hh;h=21693420c88419fd0fc8834eb3e7e749d4fafb6d;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=a93316d93577779a92d7ccaee47520c2fcddd89c;hpb=28f3294954eff1f263d3b2e3de1c520f4d2fbdfc;p=lilypond.git diff --git a/lily/include/skyline.hh b/lily/include/skyline.hh index a93316d935..21693420c8 100644 --- a/lily/include/skyline.hh +++ b/lily/include/skyline.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2012 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,30 +44,28 @@ struct Building Real height (Real x) const; Real intersection_x (Building const &other) const; - void leading_part (Real chop); - bool conceals (Building const &other, Real x) const; + bool above (Building const &other, Real x) const; Real shift_to_intersect (Real x, Real y) const; - Interval overlapping_shift_interval (Building const &other) const; }; -class Skyline +class Skyline : public Simple_smob { +public: + static const char type_p_name_[]; private: list buildings_; Direction sky_; void internal_merge_skyline (list *, list *, - list *const result) const; + list *result) const; list internal_build_skyline (list *) const; Real internal_distance (Skyline const &, Real horizon_padding, Real *touch_point) const; Real internal_distance (Skyline const &, Real *touch_point) const; void normalize (); - DECLARE_SIMPLE_SMOBS (Skyline); public: Skyline (); - Skyline (Skyline const &src); Skyline (Direction sky); Skyline (vector const &bldgs, Axis a, Direction sky); Skyline (vector > const &bldgs, Axis a, Direction sky); @@ -75,18 +73,13 @@ public: Skyline (Box const &b, Axis a, Direction sky); vector to_points (Axis) const; - void deholify (); void merge (Skyline const &); void insert (Box const &, Axis); void print () const; void print_points () const; void raise (Real); void shift (Real); - void invert (); Real distance (Skyline const &, Real horizon_padding = 0) const; - Real smallest_shift (Skyline const &, Direction d, - Real horizon_padding = 0, - Real vertical_padding = 0) const; Real touching_point (Skyline const &, Real horizon_padding = 0) const; Real shift_to_avoid (Skyline const &other, Real, Direction d, Real horizon_padding = 0); Real raise_to_avoid (Skyline const &other, Real, Direction d, Real horizon_padding = 0); @@ -95,12 +88,12 @@ public: Real height (Real airplane) const; Real max_height () const; Real max_height_position () const; + Real left () const; + Real right () const; + Direction direction () const; void set_minimum_height (Real height); void clear (); bool is_empty () const; - bool is_singleton () const; - Real left () const; - Real right () const; Skyline padded (Real horizon_padding) const; DECLARE_SCHEME_CALLBACK (get_touching_point, (SCM, SCM, SCM)); @@ -113,4 +106,3 @@ public: extern bool debug_skylines; #endif /* SKYLINE_HH */ -