GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRSliceHeight.h
1 #ifndef GRSliceHeight_H
2 #define GRSliceHeight_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2017 Grame
8 
9  This Source Code Form is subject to the terms of the Mozilla Public
10  License, v. 2.0. If a copy of the MPL was not distributed with this
11  file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 
13  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
14  research@grame.fr
15 
16 */
17 
18 #include "kf_vect.h"
19 
20 class GRSystemSlice;
21 
23 
33 {
34  public:
35  GRSliceHeight();
36  virtual ~GRSliceHeight();
37 
38  void AddSystemSlice(const GRSystemSlice * slc, bool doboundingrect = false );
39  float getHeight( bool notoprect = false ) const;
40  float getPosition(int i) const;
41 
42  protected:
43 
47  float minHeight;
48 };
49 
50 /* Revision Control
51 
52 Revision 1.1 2002-09-21 17:11:04+02 renz
53 Needed more parameters in sliceheight; for once I need keep track
54 of the boundingRectTop of the first and boundingRectBottom of the
55 last staff. I also need a minHeight (which is set by a begin slice).
56 The original idea that I should just remember the maximum heights of the
57 staves did not work, because the height is determined by positions assigned
58 to the staves be GRSystemSlice. So now the height-vector is just a
59 position vector for the staves of the slice.
60 
61 Revision 1.0 2002-09-18 09:08:28-07 renz
62 GRSliceHeight manages the height of a collection of slices. This is important for
63 tracking, where the systems of a page might be placed.
64 
65 Revision 1.7 2002-09-13 12:13:15+02 renz
66 Default_system_Distance
67 and system_Distribution is now changeable by the user
68 The calculation for the Optimum break now not only gets one way
69 but the best way, even if the required force is not within the limit ....
70 One change in rod-handling (rods are now deleted correctly when
71 new systems are build (createBeginSlice)
72 
73 Revision 1.6 2002-09-09 13:28:57+02 renz
74 Added stuff for Progress-dialog
75 changed some stuff in desctructor to free memory when a user abort is happening.
76 Changed the way, rods are added -> previously, the rods were resorted every time a new rod was entered - very
77 inefficient. Now, rods are only sorted when necessary. Big decrease in running time!
78 
79 Revision 1.5 2002-08-29 11:36:38+02 renz
80 Added RCS Headers
81 Very many changes in GRStaffManager.
82 This manager now has to build a list of systemslices
83 which are later combined to form systems.
84 This class also includes the new optimum-page-fill and
85 optimum-line-break algorithm.
86 Lots of old functions are commented out
87 */
88 
89 #endif
GRSliceHeight::boundingRectTop
float boundingRectTop
Definition: GRSliceHeight.h:45
GRSliceHeight::getHeight
float getHeight(bool notoprect=false) const
GRSliceHeight::getPosition
float getPosition(int i) const
GRSliceHeight
This class manages the Height of Slices.
Definition: GRSliceHeight.h:32
GRSliceHeight::boundingRectBottom
float boundingRectBottom
Definition: GRSliceHeight.h:46
GRSliceHeight::minHeight
float minHeight
Definition: GRSliceHeight.h:47
GRSliceHeight::AddSystemSlice
void AddSystemSlice(const GRSystemSlice *slc, bool doboundingrect=false)
GRSliceHeight::mHVector
HeightVector mHVector
Definition: GRSliceHeight.h:44
GRSliceHeight::GRSliceHeight
GRSliceHeight()
GRSystemSlice
Form the basis for the optimum system-break-algorithm.
Definition: GRSystemSlice.h:55
GRSliceHeight::~GRSliceHeight
virtual ~GRSliceHeight()
KF_Vector< float >

Guido Project Copyright © 2019 Grame-CNCM