GUIDOLib  1.7.7
Guido Engine Internal Documentation
Public Member Functions | Protected Attributes | Friends | List of all members
GRSystemSlice Class Reference

Form the basis for the optimum system-break-algorithm. More...

Inheritance diagram for GRSystemSlice:
GREvent GRARCompositeNotationElement GRARNotationElement GRNotationElement GObject GRVisitable

Public Member Functions

 GRSystemSlice (GRStaffManager *stmgr, const TYPE_TIMEPOSITION &tp)
 
virtual ~GRSystemSlice ()
 
virtual void tellPosition (GObject *caller, const NVPoint &newPosition)
 
virtual void setHPosition (GCoord nx)
 
virtual void OnDraw (VGDevice &hdc) const
 
virtual void GetMap (GuidoElementSelector sel, MapCollector &f, MapInfos &infos) const
 
virtual void updateBoundingBox ()
 
virtual void print (std::ostream &os) const
 
void checkCollisions (TCollisions &state)
 
void Finish ()
 
void FinishSlice ()
 
GRSystemgetGRSystem () const
 
GRGluegetStartGlue () const
 
GRGluegetEndGlue () const
 
int getStaffNumber (const GRStaff *staff) const
 
int getNumber () const
 
const StaffVectorgetStaves () const
 
GRBargetBarAt (const TYPE_TIMEPOSITION &pos) const
 
const GRBargetBar () const
 
void addSystemTag (GRNotationElement *tg)
 
void addStaff (GRStaff *newStaff, int num)
 
void addBar (GRBar *mybar, const ARBar::TRanges &ranges, GRStaff *grstaff)
 
void addDoubleBar (GRDoubleBar *mybar, const ARBar::TRanges &ranges, GRStaff *grstaff)
 
void addFinishBar (GRFinishBar *mybar, const ARBar::TRanges &ranges, GRStaff *grstaff)
 
void addRepeatBegin (GRRepeatBegin *mybar, const ARBar::TRanges &ranges, GRStaff *grstaff)
 
void addRepeatEnd (GRRepeatEnd *mybar, const ARBar::TRanges &ranges, GRStaff *grstaff)
 
void addPossibleBreakState (GRPossibleBreakState *in)
 
void setNumber (int num)
 
bool hasSystemBars ()
 
virtual int getStaffNumber () const
 
- Public Member Functions inherited from GREvent
 GREvent (GRStaff *inStaff, const ARMusicalEvent *ar, bool p_ownsAR=false)
 
 GREvent (GRStaff *inStaff, const ARMusicalEvent *ar, const TYPE_TIMEPOSITION &date, const TYPE_DURATION &dur)
 
virtual ~GREvent ()
 
virtual void addToOffset (const NVPoint &offs)
 
virtual float getSize () const
 
virtual const NVPointgetOffset () const
 
virtual const NVstringgetStyle () const
 
virtual const unsigned char * getColRef () const
 
virtual void setSize (float nsize)
 
virtual void addArticulation (const ARMusicalTag *inTag)
 
bool hasArticulation (int inArticulationFlag) const
 
virtual int adjustLength (const TYPE_DURATION &ndur)
 
virtual NVPoint getCrescEnd ()
 
virtual NVPoint getCrescStart ()
 
virtual void setPosition (const NVPoint &inPos)
 
virtual GRGlobalStemgetGlobalStem () const
 
virtual void setGlobalStem (GRGlobalStem *inGlobalStem)
 
virtual void setGlobalLocation (GRGlobalLocation *pglog)
 
virtual void setBeamStem (GRBeam *inBeam, float pos)
 
virtual float setStemLength (float inLen, bool userLength=false)
 
virtual GDirection getStemDirection () const
 
virtual void setStemDirection (GDirection dir)
 
virtual void setFlagOnOff (bool i)
 
virtual bool getStemDirSet () const
 
virtual bool getStemLengthSet () const
 
virtual float getStemLength () const
 
virtual NVPoint getStemStartPos () const
 
virtual NVPoint getStemEndPos () const
 
virtual float changeStemLength (float inLen, bool force=false)
 
virtual int getNumFaehnchen () const
 
virtual int getBeamCount () const
 
virtual void incBeamCount ()
 
virtual void decBeamCount ()
 
virtual void setFillsBar (bool value, GRNotationElement *, GRNotationElement *, bool)
 
virtual bool getFillsBar () const
 
bool isSyncopated () const
 
virtual void createDots (const TYPE_DURATION &duration, float notewidth, const NVPoint &inPos)
 
virtual void setDotFormat (const ARDotFormat *inFormat)
 
virtual void setDotFormat (GRNoteDot *inDot, const ARDotFormat *inFormat)
 
virtual bool isGREventClass () const
 
const GRNEList & getArticulations () const
 
GRNEList & getArticulations ()
 
virtual bool stemHasBeenChanged () const
 
virtual void setStemChanged ()
 
virtual const GREventisGREvent () const
 
virtual GREventisGREvent ()
 
GRNoteDotgetDot () const
 
- Public Member Functions inherited from GRARCompositeNotationElement
 GRARCompositeNotationElement (const ARMusicalObject *ar, bool ownsAR=false)
 
virtual ~GRARCompositeNotationElement ()
 
virtual void setGRStaff (GRStaff *inStaff)
 
GuidoPos First () const
 
GuidoPos Last () const
 
GRNotationElementGetNext (GuidoPos &ioPos) const
 
GRNotationElementGetTail () const
 
GuidoPos AddTail (GRNotationElement *el)
 
void RemoveElement (GRNotationElement *el)
 
void DrawSubElements (VGDevice &hdc) const
 
void GetSubElementsMap (GuidoElementSelector sel, MapCollector &f, MapInfos &infos) const
 
void RemoveAllSubElements ()
 
GuidoPos SetTailPosition (GuidoPos pos)
 
NEPointerListGetCompositeElements ()
 
const NEPointerListGetCompositeElements () const
 
- Public Member Functions inherited from GRARNotationElement
 GRARNotationElement (const ARMusicalObject *abstractRepresentationOfNotationElement, bool p_ownsAR=false)
 
virtual ~GRARNotationElement ()
 
virtual const ARMusicalObjectgetAbstractRepresentation ()
 
virtual const ARMusicalObjectgetAbstractRepresentation () const
 
virtual void setOwnership (bool ownsAR)
 
virtual bool isChordComma () const
 
- Public Member Functions inherited from GRNotationElement
 GRNotationElement ()
 
virtual ~GRNotationElement ()
 
GRStaffgetGRStaff () const
 
GRSystemSlicegetGRSystemSlice () const
 
virtual int getStaffNumber () const
 
virtual float getLeftSpace () const
 
virtual float getRightSpace () const
 
virtual void setLeftSpace (float lspace)
 
virtual void setRightSpace (float rspace)
 
virtual void setNeedsSpring (int inFlag)
 
virtual int getNeedsSpring () const
 
virtual int getSpringID () const
 
virtual void tellSpringID (int inSpringID)
 
NEPointerListgetAssociations ()
 
const NEPointerListgetAssociations () const
 
virtual void removeAssociation (const NEPointerList &nl)
 
virtual void removeAssociation (GRNotationElement *el)
 
void FreeAssociatedList ()
 
virtual NVPoint getTieEnd () const
 
virtual NVPoint getTieStart () const
 
virtual NVRect getAssociatedBoundingBox () const
 
void addToBoundingBox (GRNotationElement *in)
 
void OnDrawSymbol (VGDevice &hdc, unsigned int inSymbol, float inOffsetX=0, float inOffsetY=0, float inFontSize=0) const
 
void OnDrawText (VGDevice &hdc, NVPoint pos, const char *cp, int inCharCount=-1) const
 
void OnDrawText (VGDevice &hdc, const char *cp, int inCharCount=-1) const
 
void DrawSymbol (VGDevice &hdc, unsigned int inSymbol, float x=0, float y=0, float size=0) const
 
void DrawNumericSymbols (VGDevice &hdc, const char *symbols, float x, float y, float size, float spacing=DEFAULTNUMERICSPACE) const
 
void Show (bool status)
 
bool GetShow () const
 
virtual void SendMap (const NVRect &r, MapCollector &f, TYPE_TIMEPOSITION date, TYPE_DURATION dur, GuidoElementType type, MapInfos &infos) const
 
virtual void SendMap (MapCollector &f, TYPE_TIMEPOSITION date, TYPE_DURATION dur, GuidoElementType type, MapInfos &infos) const
 
virtual unsigned int getTextAlign () const
 
virtual const TYPE_DURATIONgetDuration () const
 
virtual void setDuration (const TYPE_TIMEPOSITION &dur)
 
virtual void setRelativeTimePosition (const TYPE_TIMEPOSITION &tp)
 
virtual void setRelativeEndTimePosition (const TYPE_TIMEPOSITION &tp)
 
virtual const TYPE_TIMEPOSITIONgetRelativeTimePosition () const
 
virtual void setDrawOnOff (bool onoff)
 
virtual bool getDrawOnOff ()
 
virtual TYPE_TIMEPOSITION getRelativeEndTimePosition () const
 
virtual void recalcVerticalPosition ()
 
virtual void addAssociation (GRNotationElement *grnot)
 
virtual void accept (GRVisitor &visitor)
 
const NEPointerListassociated () const
 
virtual void setIsInHeader (bool state)
 
virtual bool isInHeader () const
 
virtual bool isEmpty () const
 
virtual bool isLyrics () const
 
virtual bool checkCollisionWith () const
 
virtual const GRTextisText () const
 
virtual const GRSingleNoteisSingleNote () const
 
virtual GRSingleNoteisSingleNote ()
 
virtual const GRNoteisGRNote () const
 
virtual const GRRestisRest () const
 
virtual const GRGlueisGRGlue () const
 
virtual const GRTempoisGRTempo () const
 
virtual const GRTrillisGRTrill () const
 
virtual const GRBarisGRBar () const
 
virtual const GRDynamicsisGRDynamic () const
 
virtual GRFingeringisGRFingering ()
 
virtual GRSlurisGRSlur ()
 
virtual const GRHarmonyisGRHarmony () const
 
- Public Member Functions inherited from GObject
virtual ~GObject ()
 
virtual const char * getFont () const
 
virtual const char * getFontAttrib () const
 
virtual int getFontSize () const
 
virtual const NVPointgetReferencePosition () const
 Retrieves the Symbol-reference-position with respect to the GUIDO-reference-position. More...
 
const NVPointgetPosition () const
 
const NVRectgetBoundingBox () const
 
void addToBoundingBox (const NVRect &in)
 
NVRectgetReferenceBoundingBox ()
 
virtual void DrawBoundingBox (VGDevice &hdc, const VGColor &inBrushColor) const
 
- Public Member Functions inherited from GRVisitable
virtual ~GRVisitable ()
 

Protected Attributes

GRBeginSpaceForceFunction2mBeginForceFunc
 
GRSpaceForceFunction2mForceFunction
 
StaffVectormStaffs
 
GRSystemmGrSystem
 
GRPossibleBreakStatemPossibleBreakState
 
int mNumber
 
GRGluemStartGlue
 
GRGluemEndGlue
 
int mStartSpringID
 
int mEndSpringID
 
bool mHasSystemBars
 
float mFirstEvXPosition
 
- Protected Attributes inherited from GREvent
int mArticulationFlags
 
NVstring mStyle
 
NVPoint mOffset
 
float mSize
 
unsigned char * mColRef
 
int mBeamCount
 
float mCurLSPACE
 
GRGlobalStemmGlobalStem
 
bool mFillsBar
 
bool stemChanged
 
- Protected Attributes inherited from GRARNotationElement
const ARMusicalObjectmAbstractRepresentation
 
bool mOwnsAR
 
- Protected Attributes inherited from GRNotationElement
unsigned int mSymbol
 
GRStaffmGrStaff
 
int mNeedsSpring
 
int mSpringID
 
float mLeftSpace
 
float mRightSpace
 
bool mDraw
 
bool mShow
 
bool mIsInHeader
 
TYPE_DURATION mDurationOfGR
 
NEPointerListmAssociated
 
- Protected Attributes inherited from GObject
NVPoint mPosition
 
NVRect mBoundingBox
 
NVRect mMapping
 

Friends

class GRStaffManager
 
class GRSystem
 
class GRSliceHeight
 

Additional Inherited Members

- Static Public Member Functions inherited from GREvent
static GREventcast (GObject *inObj)
 
- Static Public Member Functions inherited from GRNotationElement
static int ComparePos (const GRNotationElement *g1, const GRNotationElement *g2)
 
- Static Public Member Functions inherited from GObject
static bool positionIsOnStaffLine (float inPositionY, float inLSpace)
 
static float GetSymbolExtent (unsigned int inSymbol)
 
- Protected Member Functions inherited from GRNotationElement
void DrawExtents (VGDevice &hdc, const VGColor &inColor) const
 
- Protected Member Functions inherited from GObject
 GObject ()
 
 GObject (const GObject &in)
 
- Static Protected Attributes inherited from GObject
static std::map< ConstMusicalSymbolID, float > sSymbolExtentMap
 
static NVPoint sRefposNone
 

Detailed Description

Form the basis for the optimum system-break-algorithm.

The system slice is a collection of staves that form non-breakable units they are later glued together to build complete systems.

GRSystemSlice is a part of a single line of music. A set of GRSystemSlices build a GRSystem. For a simple understanding, it is convenient to think of system slices as measures of a score. Class GRSystemSlice contains one or more instances of class GRStaff. Class GRSystemSlice is also responsible for graphical elements that belong to several staves; this might be, for example, a beam that begins and ends in different staves, as it is shown on the right.

Constructor & Destructor Documentation

◆ GRSystemSlice()

GRSystemSlice::GRSystemSlice ( GRStaffManager stmgr,
const TYPE_TIMEPOSITION tp 
)

◆ ~GRSystemSlice()

virtual GRSystemSlice::~GRSystemSlice ( )
virtual

Member Function Documentation

◆ addBar()

void GRSystemSlice::addBar ( GRBar mybar,
const ARBar::TRanges ranges,
GRStaff grstaff 
)

◆ addDoubleBar()

void GRSystemSlice::addDoubleBar ( GRDoubleBar mybar,
const ARBar::TRanges ranges,
GRStaff grstaff 
)

◆ addFinishBar()

void GRSystemSlice::addFinishBar ( GRFinishBar mybar,
const ARBar::TRanges ranges,
GRStaff grstaff 
)

◆ addPossibleBreakState()

void GRSystemSlice::addPossibleBreakState ( GRPossibleBreakState in)

◆ addRepeatBegin()

void GRSystemSlice::addRepeatBegin ( GRRepeatBegin mybar,
const ARBar::TRanges ranges,
GRStaff grstaff 
)

◆ addRepeatEnd()

void GRSystemSlice::addRepeatEnd ( GRRepeatEnd mybar,
const ARBar::TRanges ranges,
GRStaff grstaff 
)

◆ addStaff()

void GRSystemSlice::addStaff ( GRStaff newStaff,
int  num 
)

◆ addSystemTag()

void GRSystemSlice::addSystemTag ( GRNotationElement tg)

◆ checkCollisions()

void GRSystemSlice::checkCollisions ( TCollisions state)

◆ Finish()

void GRSystemSlice::Finish ( )

◆ FinishSlice()

void GRSystemSlice::FinishSlice ( )

◆ getBar()

const GRBar* GRSystemSlice::getBar ( ) const

◆ getBarAt()

GRBar* GRSystemSlice::getBarAt ( const TYPE_TIMEPOSITION pos) const

◆ getEndGlue()

GRGlue* GRSystemSlice::getEndGlue ( ) const
inline

◆ getGRSystem()

GRSystem* GRSystemSlice::getGRSystem ( ) const
inline

◆ GetMap()

virtual void GRSystemSlice::GetMap ( GuidoElementSelector  sel,
MapCollector f,
MapInfos infos 
) const
virtual

Reimplemented from GObject.

◆ getNumber()

int GRSystemSlice::getNumber ( ) const
inline

◆ getStaffNumber() [1/2]

virtual int GRNotationElement::getStaffNumber

◆ getStaffNumber() [2/2]

int GRSystemSlice::getStaffNumber ( const GRStaff staff) const

◆ getStartGlue()

GRGlue* GRSystemSlice::getStartGlue ( ) const
inline

◆ getStaves()

const StaffVector* GRSystemSlice::getStaves ( ) const
inline

◆ hasSystemBars()

bool GRSystemSlice::hasSystemBars ( )
inline

◆ OnDraw()

virtual void GRSystemSlice::OnDraw ( VGDevice hdc) const
virtual

Reimplemented from GRNotationElement.

◆ print()

virtual void GRSystemSlice::print ( std::ostream &  os) const
virtual

Reimplemented from GRNotationElement.

◆ setHPosition()

virtual void GRSystemSlice::setHPosition ( GCoord  nx)
virtual

Reimplemented from GREvent.

◆ setNumber()

void GRSystemSlice::setNumber ( int  num)
inline

◆ tellPosition()

virtual void GRSystemSlice::tellPosition ( GObject caller,
const NVPoint newPosition 
)
virtual

Reimplemented from GRNotationElement.

◆ updateBoundingBox()

virtual void GRSystemSlice::updateBoundingBox ( )
virtual

Reimplemented from GREvent.

Friends And Related Function Documentation

◆ GRSliceHeight

friend class GRSliceHeight
friend

◆ GRStaffManager

friend class GRStaffManager
friend

◆ GRSystem

friend class GRSystem
friend

Member Data Documentation

◆ mBeginForceFunc

GRBeginSpaceForceFunction2* GRSystemSlice::mBeginForceFunc
protected

◆ mEndGlue

GRGlue* GRSystemSlice::mEndGlue
protected

◆ mEndSpringID

int GRSystemSlice::mEndSpringID
protected

◆ mFirstEvXPosition

float GRSystemSlice::mFirstEvXPosition
protected

◆ mForceFunction

GRSpaceForceFunction2* GRSystemSlice::mForceFunction
protected

◆ mGrSystem

GRSystem* GRSystemSlice::mGrSystem
protected

◆ mHasSystemBars

bool GRSystemSlice::mHasSystemBars
protected

◆ mNumber

int GRSystemSlice::mNumber
protected

◆ mPossibleBreakState

GRPossibleBreakState* GRSystemSlice::mPossibleBreakState
protected

◆ mStaffs

StaffVector* GRSystemSlice::mStaffs
protected

◆ mStartGlue

GRGlue* GRSystemSlice::mStartGlue
protected

◆ mStartSpringID

int GRSystemSlice::mStartSpringID
protected

Guido Project Copyright © 2019 Grame-CNCM