Verovio
Source code documentation
btrem.h
1 // Name: btrem.h
3 // Author: Laurent Pugin
4 // Created: 2015
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_BTREM_H__
9 #define __VRV_BTREM_H__
10 
11 #include "atts_cmn.h"
12 #include "layerelement.h"
13 
14 namespace vrv {
15 
16 //----------------------------------------------------------------------------
17 // BTrem (bowed tremolo)
18 //----------------------------------------------------------------------------
19 
23 class BTrem : public LayerElement,
24  public AttNumbered,
25  public AttNumberPlacement,
26  public AttTremForm,
27  public AttTremMeasured {
28 public:
34  BTrem();
35  virtual ~BTrem();
36  Object *Clone() const override { return new BTrem(*this); }
37  void Reset() override;
38  std::string GetClassName() const override { return "bTrem"; }
40 
45  bool IsSupportedChild(ClassId classId) override;
46 
50  data_STEMMODIFIER GetDrawingStemMod() const override;
51 
55  data_DURATION CalcIndividualNoteDuration() const;
56 
57  //----------//
58  // Functors //
59  //----------//
60 
65  FunctorCode Accept(Functor &functor) override;
66  FunctorCode Accept(ConstFunctor &functor) const override;
67  FunctorCode AcceptEnd(Functor &functor) override;
68  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
70 
71 private:
72  //
73 public:
74  //
75 private:
76  //
77 };
78 
79 } // namespace vrv
80 
81 #endif
This class models the MEI <bTrem> element.
Definition: btrem.h:27
bool IsSupportedChild(ClassId classId) override
Add an element (a note or a chord) to a fTrem.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
Object * Clone() const override
Method call for copying child classes.
Definition: btrem.h:36
data_DURATION CalcIndividualNoteDuration() const
Calculate the duration of an individual note in a measured tremolo.
data_STEMMODIFIER GetDrawingStemMod() const override
Get stem mod if encoded explicitly, or determine based on duration of bTrem and underlying elements.
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 basic object.
Definition: object.h:61