X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Finterval-minefield.hh;fp=lily%2Finclude%2Finterval-minefield.hh;h=b618b94720ca780ebee5aea040e8bf2c662591e8;hb=32a34dcef0c0041c6d62677487a380b5c8b85712;hp=0000000000000000000000000000000000000000;hpb=f41973ff763d5972a85995b6d40c864281ec6714;p=lilypond.git diff --git a/lily/include/interval-minefield.hh b/lily/include/interval-minefield.hh new file mode 100644 index 0000000000..b618b94720 --- /dev/null +++ b/lily/include/interval-minefield.hh @@ -0,0 +1,42 @@ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2011--2012 Mike Solomon + 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 INTERVAL_MINEFIELD_HH +#define INTERVAL_MINEFIELD_HH + +#include "lily-proto.hh" +#include "std-vector.hh" +#include "interval.hh" + +class Interval_minefield +{ +public: + Interval_minefield (Interval, Real); + void add_forbidden_interval (Interval forbidden); + Interval feasible_placements (); + void solve (); + +private: + vector forbidden_intervals_; + Interval feasible_placements_; + Real bulk_; +}; + +#endif // INTERVAL_MINEFIELD_HH