Verovio
Source code documentation
oriscus.h
1 // Name: oriscus.h
3 // Author: Klaus Rettinghaus
4 // Created: 2024
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_oriscus_H__
9 #define __VRV_oriscus_H__
10 
11 #include "atts_analytical.h"
12 #include "atts_shared.h"
13 #include "layerelement.h"
14 #include "offsetinterface.h"
15 #include "pitchinterface.h"
16 #include "positioninterface.h"
17 
18 namespace vrv {
19 
20 //----------------------------------------------------------------------------
21 // oriscus
22 //----------------------------------------------------------------------------
23 
24 class Oriscus : public LayerElement,
25  public OffsetInterface,
26  public PitchInterface,
27  public PositionInterface,
28  public AttColor {
29 public:
35  Oriscus();
36  virtual ~Oriscus();
37  Object *Clone() const override { return new Oriscus(*this); }
38  void Reset() override;
39  std::string GetClassName() const override { return "oriscus"; }
41 
46  OffsetInterface *GetOffsetInterface() override { return vrv_cast<OffsetInterface *>(this); }
47  const OffsetInterface *GetOffsetInterface() const override { return vrv_cast<const OffsetInterface *>(this); }
48  PitchInterface *GetPitchInterface() override { return vrv_cast<PitchInterface *>(this); }
49  const PitchInterface *GetPitchInterface() const override { return vrv_cast<const PitchInterface *>(this); }
51 
53  bool HasToBeAligned() const override { return true; }
54 
55 private:
56  //
57 public:
58  //
59 private:
60 };
61 
62 } // namespace vrv
63 
64 #endif
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
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
Definition: oriscus.h:28
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: oriscus.h:37
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: oriscus.h:53
This class is an interface for elements with pitch, such as notes and neumes.
Definition: pitchinterface.h:28
This class is an interface for elements with a position on the staff, such as rests.
Definition: positioninterface.h:30