X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fskyline.hh;h=21693420c88419fd0fc8834eb3e7e749d4fafb6d;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=c300895fee11bed4e109a896bb3989529b2b59c1;hpb=01df8ad908c92687d0c352e5ad5f067e52809423;p=lilypond.git diff --git a/lily/include/skyline.hh b/lily/include/skyline.hh index c300895fee..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,13 +44,14 @@ 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; }; -class Skyline +class Skyline : public Simple_smob { +public: + static const char type_p_name_[]; private: list buildings_; Direction sky_; @@ -62,11 +63,9 @@ private: 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); @@ -74,7 +73,6 @@ 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; @@ -92,6 +90,7 @@ public: 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; @@ -107,4 +106,3 @@ public: extern bool debug_skylines; #endif /* SKYLINE_HH */ -