8 #ifndef __VRV_MREST_H__
9 #define __VRV_MREST_H__
12 #include "atts_shared.h"
13 #include "layerelement.h"
14 #include "offsetinterface.h"
15 #include "positioninterface.h"
35 public AttFermataPresent,
36 public AttVisibility {
47 std::string GetClassName()
const override {
return "mRest"; }
54 OffsetInterface *GetOffsetInterface()
override {
return vrv_cast<OffsetInterface *>(
this); }
55 const OffsetInterface *GetOffsetInterface()
const override {
return vrv_cast<const OffsetInterface *>(
this); }
56 PositionInterface *GetPositionInterface()
override {
return vrv_cast<PositionInterface *>(
this); }
57 const PositionInterface *GetPositionInterface()
const override {
return vrv_cast<const PositionInterface *>(
this); }
75 FunctorCode AcceptEnd(
Functor &functor)
override;
76 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
This abstract class is the base class for all const functors.
Definition: functor.h:126
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 <mRest> element.
Definition: mrest.h:36
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
int GetOptimalLayerLocation(const Layer *layer, int defaultLocation) const
Get the vertical location for mRest considering other layer elements.
Object * Clone() const override
Method call for copying child classes.
Definition: mrest.h:45
This class represents a basic object.
Definition: object.h:64
This class is an interface for elements having a single visual offset, such as arpeg,...
Definition: offsetinterface.h:28
This class is an interface for elements with a position on the staff, such as rests.
Definition: positioninterface.h:30