GUIDOLib  1.7.7
Guido Engine Internal Documentation
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
GRSystem Class Reference

Manages a number of staffs and has a given start and end timeposition. GRSystem is the grafical representation of a part of ARMusic. More...

Inheritance diagram for GRSystem:
GREvent GRARCompositeNotationElement GRARNotationElement GRNotationElement GObject GRVisitable

Public Types

enum  BARTYPE { SYSTEM, ACCOLADE, STAFF, MENSUR }
 

Public Member Functions

 GRSystem (GRStaffManager *stfmgr, GRPage *inPage, const TYPE_TIMEPOSITION &relativeTimePositionOfSystem, SSliceList **systemslices, int count, GRSystemSlice *beginslice, ISpringVector **pvect, const ARSystemFormat *sysform, float force, float spring, float proportionnalRender, bool islastsystem=false)
 
virtual ~GRSystem ()
 
virtual float getSystemWidthCm ()
 
virtual GRPagegetGRPage ()
 
GRSystemSlicegetFirstGRSystemSlice () const
 
float getDistance () const
 
int getStaffNumber (const GRStaff *staff) const
 
int getNewLinePage () const
 
float getCurPosX () const
 
const ARMusicgetARMusic () const
 
GRSpringgetSpring (int id) const
 
const GRSpringgetGRSpring (int id) const
 
const StaffVectorgetStaves () const
 
const SSliceListgetSlices () const
 
void setSpringParameter (float nconst)
 
void setSystemFormat (const ARSystemFormat *sysfrm)
 
void setDistance (float inDistance)
 
void setGRPage (GRPage *inNewPage)
 
void setMeterOfStaffs (int num, int denom)
 
virtual void OnDraw (VGDevice &hdc) const
 
virtual void GetMap (GuidoElementSelector sel, MapCollector &f, MapInfos &infos) const
 
virtual void setPosition (class NVPoint const &)
 
virtual void updateBoundingBox ()
 
virtual void print (std::ostream &os) const
 
virtual void accept (GRVisitor &visitor)
 
void addSystemTag (GRNotationElement *mytag)
 
void addBar (GRBar *mybar, enum GRSystem::BARTYPE btype, GRStaff *inStaff)
 
void addToSpring (GRNotationElement *el, int id)
 
void addStaff (GRStaff *newStaff, int num)
 
bool IsDistanceSet () const
 
void notifyAccoladeTag (const ARAccolade *inAccoladeTag)
 
void FinishSystem ()
 
void FinishSystem (ISpringVector *pvect, IRodList *prods1, IRodList *prods2, GRSpaceForceFunction2 *psff, const TYPE_TIMEPOSITION &tp, int lastline=0)
 
void checkCollisions (TCollisions &state, bool lyrics) const
 
float getNotesDensity () const
 
const GRSystemSlicelastSlice () const
 
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 setHPosition (float inX)
 
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 void tellPosition (GObject *caller, const NVPoint &point)
 
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)
 
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 ()
 

Public Attributes

TYPE_TIMEPOSITION mDebugSystemDate
 

Static Public Attributes

static int sSystemID
 

Protected Member Functions

void dospacing ()
 
void DrawSystemSprings (VGDevice &hdc) const
 
void DrawSystemForce (VGDevice &hdc) const
 
void AddSystemSlice (GRSystemSlice *inSlice)
 
void InitForceFunction (GRStaffManager *staffmgr, SSliceList **psystemslices, int count)
 
void AdjustForceFunction (GRSliceHeight &sliceheight, int &startspring, int &endspring, float optForce)
 
GRStaffComputeBoundingBox (GRSliceHeight &sliceheight)
 
GRBar::TRanges barRange2ypos (const ARBar::TRanges &r) const
 
- 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)
 

Protected Attributes

float mSystemforce
 
float mMarginLeft
 
float mDistance
 
bool mDistanceSet
 
bool mIsLastLine
 
ISpringVectormSpringVector
 
IRodListsimplerods
 
IRodListcomplexrods
 
GRSpaceForceFunction2mSpaceForceFunc
 
SSliceList mSystemSlices
 
float mOldPosX
 
int mNewLinePage
 
float mCurPosX
 
NEPointerList mZeroSpaceList
 
NEPointerList mSpaceList
 
std::vector< GRAccolade * > mAccolade
 
- 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
 

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)
 
- Static Protected Attributes inherited from GObject
static std::map< ConstMusicalSymbolID, float > sSymbolExtentMap
 
static NVPoint sRefposNone
 

Detailed Description

Manages a number of staffs and has a given start and end timeposition. GRSystem is the grafical representation of a part of ARMusic.

GRSystem is derived from GREvent, because GRSystem is really a musical event and directly represents a part of ARMusic.

Member Enumeration Documentation

◆ BARTYPE

Enumerator
SYSTEM 
ACCOLADE 
STAFF 
MENSUR 

Constructor & Destructor Documentation

◆ GRSystem()

GRSystem::GRSystem ( GRStaffManager stfmgr,
GRPage inPage,
const TYPE_TIMEPOSITION relativeTimePositionOfSystem,
SSliceList **  systemslices,
int  count,
GRSystemSlice beginslice,
ISpringVector **  pvect,
const ARSystemFormat sysform,
float  force,
float  spring,
float  proportionnalRender,
bool  islastsystem = false 
)

◆ ~GRSystem()

virtual GRSystem::~GRSystem ( )
virtual

Member Function Documentation

◆ accept()

virtual void GRSystem::accept ( GRVisitor visitor)
virtual

Reimplemented from GRNotationElement.

◆ addBar()

void GRSystem::addBar ( GRBar mybar,
enum GRSystem::BARTYPE  btype,
GRStaff inStaff 
)

◆ addStaff()

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

◆ AddSystemSlice()

void GRSystem::AddSystemSlice ( GRSystemSlice inSlice)
protected

◆ addSystemTag()

void GRSystem::addSystemTag ( GRNotationElement mytag)

◆ addToSpring()

void GRSystem::addToSpring ( GRNotationElement el,
int  id 
)

◆ AdjustForceFunction()

void GRSystem::AdjustForceFunction ( GRSliceHeight sliceheight,
int &  startspring,
int &  endspring,
float  optForce 
)
protected

◆ barRange2ypos()

GRBar::TRanges GRSystem::barRange2ypos ( const ARBar::TRanges r) const
protected

◆ checkCollisions()

void GRSystem::checkCollisions ( TCollisions state,
bool  lyrics 
) const

◆ ComputeBoundingBox()

GRStaff* GRSystem::ComputeBoundingBox ( GRSliceHeight sliceheight)
protected

◆ dospacing()

void GRSystem::dospacing ( )
protected

◆ DrawSystemForce()

void GRSystem::DrawSystemForce ( VGDevice hdc) const
protected

◆ DrawSystemSprings()

void GRSystem::DrawSystemSprings ( VGDevice hdc) const
protected

◆ FinishSystem() [1/2]

void GRSystem::FinishSystem ( )

◆ FinishSystem() [2/2]

void GRSystem::FinishSystem ( ISpringVector pvect,
IRodList prods1,
IRodList prods2,
GRSpaceForceFunction2 psff,
const TYPE_TIMEPOSITION tp,
int  lastline = 0 
)

◆ getARMusic()

const ARMusic* GRSystem::getARMusic ( ) const

◆ getCurPosX()

float GRSystem::getCurPosX ( ) const
inline

◆ getDistance()

float GRSystem::getDistance ( ) const
inline

◆ getFirstGRSystemSlice()

GRSystemSlice* GRSystem::getFirstGRSystemSlice ( ) const

◆ getGRPage()

virtual GRPage* GRSystem::getGRPage ( )
inlinevirtual

◆ getGRSpring()

const GRSpring* GRSystem::getGRSpring ( int  id) const

◆ GetMap()

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

Reimplemented from GObject.

◆ getNewLinePage()

int GRSystem::getNewLinePage ( ) const
inline

◆ getNotesDensity()

float GRSystem::getNotesDensity ( ) const

◆ getSlices()

const SSliceList* GRSystem::getSlices ( ) const
inline

◆ getSpring()

GRSpring* GRSystem::getSpring ( int  id) const

◆ getStaffNumber() [1/2]

virtual int GRNotationElement::getStaffNumber

◆ getStaffNumber() [2/2]

int GRSystem::getStaffNumber ( const GRStaff staff) const

◆ getStaves()

const StaffVector* GRSystem::getStaves ( ) const

◆ getSystemWidthCm()

virtual float GRSystem::getSystemWidthCm ( )
virtual

◆ InitForceFunction()

void GRSystem::InitForceFunction ( GRStaffManager staffmgr,
SSliceList **  psystemslices,
int  count 
)
protected

◆ IsDistanceSet()

bool GRSystem::IsDistanceSet ( ) const
inline

◆ lastSlice()

const GRSystemSlice* GRSystem::lastSlice ( ) const
inline

◆ notifyAccoladeTag()

void GRSystem::notifyAccoladeTag ( const ARAccolade inAccoladeTag)

◆ OnDraw()

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

Reimplemented from GRNotationElement.

◆ print()

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

Reimplemented from GRNotationElement.

◆ setDistance()

void GRSystem::setDistance ( float  inDistance)
inline

◆ setGRPage()

void GRSystem::setGRPage ( GRPage inNewPage)
inline

◆ setMeterOfStaffs()

void GRSystem::setMeterOfStaffs ( int  num,
int  denom 
)

◆ setPosition()

virtual void GRSystem::setPosition ( class NVPoint const &  )
virtual

◆ setSpringParameter()

void GRSystem::setSpringParameter ( float  nconst)

◆ setSystemFormat()

void GRSystem::setSystemFormat ( const ARSystemFormat sysfrm)

◆ updateBoundingBox()

virtual void GRSystem::updateBoundingBox ( )
virtual

Reimplemented from GREvent.

Member Data Documentation

◆ complexrods

IRodList* GRSystem::complexrods
protected

◆ mAccolade

std::vector<GRAccolade *> GRSystem::mAccolade
protected

◆ mCurPosX

float GRSystem::mCurPosX
protected

◆ mDebugSystemDate

TYPE_TIMEPOSITION GRSystem::mDebugSystemDate

◆ mDistance

float GRSystem::mDistance
protected

◆ mDistanceSet

bool GRSystem::mDistanceSet
protected

◆ mIsLastLine

bool GRSystem::mIsLastLine
protected

◆ mMarginLeft

float GRSystem::mMarginLeft
protected

◆ mNewLinePage

int GRSystem::mNewLinePage
protected

◆ mOldPosX

float GRSystem::mOldPosX
protected

◆ mSpaceForceFunc

GRSpaceForceFunction2* GRSystem::mSpaceForceFunc
protected

◆ mSpaceList

NEPointerList GRSystem::mSpaceList
protected

◆ mSpringVector

ISpringVector* GRSystem::mSpringVector
protected

◆ mSystemforce

float GRSystem::mSystemforce
protected

◆ mSystemSlices

SSliceList GRSystem::mSystemSlices
protected

◆ mZeroSpaceList

NEPointerList GRSystem::mZeroSpaceList
protected

◆ simplerods

IRodList* GRSystem::simplerods
protected

◆ sSystemID

int GRSystem::sSystemID
static

Guido Project Copyright © 2019 Grame-CNCM