8 #ifndef __VRV_TABGRP_H__
9 #define __VRV_TABGRP_H__
11 #include "durationinterface.h"
12 #include "layerelement.h"
34 std::string GetClassName()
const override {
return "tabGrp"; }
41 DurationInterface *GetDurationInterface()
override {
return vrv_cast<DurationInterface *>(
this); }
42 const DurationInterface *GetDurationInterface()
const override {
return vrv_cast<const DurationInterface *>(
this); }
56 Note *GetBottomNote();
57 const Note *GetBottomNote()
const;
59 int GetYBottom()
const;
72 FunctorCode AcceptEnd(
Functor &functor)
override;
73 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
80 void FilterList(ListOfConstObjects &childList)
const override;
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class is an interface for elements with duration, such as notes and rests.
Definition: durationinterface.h:39
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 models the MEI <note> element.
Definition: note.h:67
This class represents a basic object.
Definition: object.h:61
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:893
This class models the MEI <tabGrp> element.
Definition: tabgrp.h:23
void FilterList(ListOfConstObjects &childList) const override
Filter the flat list and keep only Note elements.
bool IsSupportedChild(ClassId classId) override
Add an element to a element.
void Reset() override
Virtual reset method.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: tabgrp.h:32
Note * GetTopNote()
Return the top or bottom note or their Y position.