Verovio
Source code documentation
calcchordnoteheadsfunctor.h
1 // Name: calcchordnoteheadsfunctor.h
3 // Author: David Bauer
4 // Created: 2023
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_CALCCHORDNOTEHEADSFUNCTOR_H__
9 #define __VRV_CALCCHORDNOTEHEADSFUNCTOR_H__
10 
11 #include "functor.h"
12 
13 namespace vrv {
14 
15 //----------------------------------------------------------------------------
16 // CalcChordNoteHeadsFunctor
17 //----------------------------------------------------------------------------
18 
23 public:
29  virtual ~CalcChordNoteHeadsFunctor() = default;
31 
32  /*
33  * Abstract base implementation
34  */
35  bool ImplementsEndInterface() const override { return false; }
36 
37  /*
38  * Functor interface
39  */
41  FunctorCode VisitChord(Chord *chord) override;
42  FunctorCode VisitNote(Note *note) override;
43  FunctorCode VisitTabDurSym(TabDurSym *tabDurSym) override;
44  FunctorCode VisitTabGrp(TabGrp *tabGrp) override;
46 
47 protected:
48  //
49 private:
50  //
51 public:
52  //
53 private:
54  // The diameter of the anchoring note of the chord
55  int m_diameter;
56  // The alignment type
57  int m_alignmentType;
58 };
59 
60 } // namespace vrv
61 
62 #endif // __VRV_CALCCHORDNOTEHEADSFUNCTOR_H__
This class sets the note head flipped positions.
Definition: calcchordnoteheadsfunctor.h:22
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: calcchordnoteheadsfunctor.h:35
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 mutable functors that need access to the document.
Definition: functor.h:151
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class models the MEI <note> element.
Definition: note.h:69
This class models the MEI <tabDurSym> element.
Definition: tabdursym.h:29
This class models the MEI <tabGrp> element.
Definition: tabgrp.h:24