11 #include "controlelement.h"
12 #include "timeinterface.h"
39 std::string GetClassName()
const override {
return "tie"; }
46 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
47 const TimePointInterface *GetTimePointInterface()
const override
49 return vrv_cast<const TimePointInterface *>(
this);
51 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
52 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
54 return vrv_cast<const TimeSpanningInterface *>(
this);
58 virtual bool CalculatePosition(
59 const Doc *doc,
const Staff *staff,
int x1,
int x2,
int spanningType, Point bezier[4]);
65 curvature_CURVEDIR drawingCurveDir,
int initialX,
bool isStartPoint)
const;
77 FunctorCode AcceptEnd(
Functor &functor)
override;
78 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
84 const Note *startNote,
const Note *endNote, curvature_CURVEDIR drawingCurveDir)
const;
87 bool CalculateXPosition(
const Doc *doc,
const Staff *staff,
const Chord *startParentChord,
88 const Chord *endParentChord,
int spanningType,
bool isOuterChordNote,
Point &startPoint,
Point &endPoint,
89 curvature_CURVEDIR drawingCurveDir)
const;
93 curvature_CURVEDIR GetPreferredCurveDirection(
const Layer *layer,
const Note *note,
const Chord *startParentChord,
94 data_STEMDIRECTION noteStemDir,
bool isAboveStaffCenter)
const;
98 const Note *startNote,
int height, curvature_CURVEDIR drawingCurveDir)
const;
This class represents a collection of notes in the same layer with the same onset time.
Definition: chord.h:44
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class represents elements appearing within a measure.
Definition: controlelement.h:33
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class represents a basic object for a curve (slur, tie) in the layout domain.
Definition: floatingobject.h:329
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
This class represents a layer in a laid-out score (Doc).
Definition: layer.h:39
This class models the MEI <note> element.
Definition: note.h:67
This class represents a basic object.
Definition: object.h:61
Simple class for representing points.
Definition: devicecontextbase.h:203
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:107
This class models the MEI <tie> element.
Definition: tie.h:27
Object * Clone() const override
Method call for copying child classes.
Definition: tie.h:37
int CalculateAdjacentChordXOffset(const Doc *doc, const Staff *staff, const Chord *parentChord, const Note *note, curvature_CURVEDIR drawingCurveDir, int initialX, bool isStartPoint) const
Calculate starting/ending point for the ties in the chords with adjacent notes.
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class is an interface for elements having a single time point, such as tempo,...
Definition: timeinterface.h:39
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145