///////////////////////////////////////////////////////////////////////////// // Name: section.h // Author: Laurent Pugin // Created: 24/08/2016 // Copyright (c) Authors and others. All rights reserved. ///////////////////////////////////////////////////////////////////////////// #ifndef __VRV_SECTION_H__ #define __VRV_SECTION_H__ #include "atts_shared.h" #include "boundary.h" #include "systemelement.h" namespace vrv { class Section; //---------------------------------------------------------------------------- // Section //---------------------------------------------------------------------------- /** * This class represents a MEI section. * It can be both a container (in score-based MEI) and a boundary (in page-based MEI) */ class Section : public SystemElement, public BoundaryStartInterface, public AttNNumberLike { public: /** * @name Constructors, destructors, and other standard methods * Reset method resets all attribute classes */ ///@{ Section(); virtual ~Section(); virtual Object *Clone() const { return new Section(*this); } virtual void Reset(); virtual std::string GetClassName() const { return "Section"; } virtual ClassId GetClassId() const { return SECTION; } ///@} /** * Method for adding allowed content */ virtual bool IsSupportedChild(Object *object); //----------// // Functors // //----------// /** * See Object::ConvertToPageBased */ ///@{ virtual int ConvertToPageBased(FunctorParams *functorParams); virtual int ConvertToPageBasedEnd(FunctorParams *functorParams); ///@} /** * See Object::ConvertToUnCastOffMensural */ virtual int ConvertToUnCastOffMensural(FunctorParams *params); /** * See Object::PrepareBoundaries */ virtual int PrepareBoundaries(FunctorParams *functorParams); /** * See Object::ResetDrawing */ virtual int ResetDrawing(FunctorParams *functorParams); private: // public: // private: // }; } // namespace vrv #endif