MUSX Document Model
|
Represents a shape created in Finale's Shape Designer. More...
#include <ShapeDesigner.h>
Public Types | |
enum class | InstructionType { Undocumented , Bracket , CloneChar , ClosePath , CurveTo , DrawChar , Ellipse , EndGroup , ExternalGraphic , FillAlt , FillSolid , GoToOrigin , GoToStart , LineWidth , Rectangle , RLineTo , RMoveTo , SetArrowhead , SetBlack , SetDash , SetFont , SetGray , SetWhite , Slur , StartGroup , StartObject , Stroke , VerticalMode } |
Defines the instruction types for Shape Designer shapes. More... | |
enum class | ShapeType { Other = 0 , Articulation = 1 , Barline = 2 , Executable = 3 , Expression = 4 , CustomStem = 5 , Frame = 6 , Arrowhead = 7 , Fretboard = 8 , Clef = 9 } |
Represents different types of shapes in Finale's Shape Designer. More... | |
![]() | |
enum class | ShareMode { All , Partial , None } |
Describes how this instance is shared between part and score. More... | |
using | SharedNodes = std::set< std::string > |
The container type for shared nodes. | |
Public Member Functions | |
ShapeDef (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper) | |
Constructor function. | |
bool | isBlank () const |
Returns true if this shape does not draw anything. | |
void | iterateInstructions (std::function< bool(InstructionType, std::vector< int >)> callback) const |
Iterates through the instructions in the shape. | |
std::optional< KnownShapeDefType > | recognize () const |
Determine if this is a recognized shape type. | |
![]() | |
OthersBase (const OthersBase &)=default | |
explicit default copy constructor | |
OthersBase (OthersBase &&) noexcept=default | |
explicit default move constructor | |
Cmper | getCmper () const |
Gets the cmper key value. | |
std::optional< Inci > | getInci () const |
Gets the optional array index (inci ). | |
Cmper | getRequestedPartId () const |
If this instance was retrieved from an object pool, it contains the part ID that was used to retrieve it. If this value is different than getSourcePartId, then this instance is a copy of the pool instance. | |
![]() | |
virtual | ~Base () noexcept(false)=default |
Virtual destructor for polymorphic behavior. | |
DocumentPtr | getDocument () const |
Gets a reference to the Document. | |
Cmper | getSourcePartId () const |
Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it. | |
ShareMode | getShareMode () const |
Gets the sharing mode for this instance. | |
const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial ) | |
void | addUnlinkedNode (const std::string &nodeName) |
Adds a shared node for this instance. | |
virtual void | integrityCheck (const std::shared_ptr< Base > &ptrToThis) |
Allows a class to determine if it has been properly contructed by the factory and fix issues that it can, such as creating default instances of contained classes. | |
virtual bool | requireAllFields () const |
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class. | |
Static Public Member Functions | |
static const xml::XmlElementArray< ShapeDef > & | xmlMappingArray () |
Required for musx::factory::FieldPopulator. | |
Public Attributes | |
Cmper | instructionList |
Instruction list Cmper. (xml node is <instList> ) | |
Cmper | dataList |
Instruction data list Cmper. | |
ShapeType | shapeType |
Shape type (specifies which type of entity this shape pertains to) | |
Static Public Attributes | |
static constexpr std::string_view | XmlNodeName = "shapeDef" |
The XML node name for this type. | |
Additional Inherited Members | |
![]() | |
OthersBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, std::optional< Inci > inci=std::nullopt) | |
Constructs an OthersBase object. | |
OthersBase & | operator= (const OthersBase &other) |
Assignment operator delegates to base, preserving OthersBase state. | |
OthersBase & | operator= (OthersBase &&other) noexcept |
Assignment operator delegates to base, preserving OthersBase state. | |
![]() | |
Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
Constructs the base class. | |
Base (const Base &)=default | |
explicit default copy constructor | |
Base (Base &&) noexcept=default | |
explicit default move constructor | |
Base & | operator= (const Base &) |
no-op copy assignment operator allows subclasses to copy their values. | |
Base & | operator= (Base &&) noexcept |
no-op move assignment operator allows subclasses to move their values. | |
Represents a shape created in Finale's Shape Designer.
This class is identified by the XML node name "shapeDef".
|
strong |
Defines the instruction types for Shape Designer shapes.
Enumerator | |
---|---|
Undocumented | catch-all for possible undocumented instruction tags. |
Bracket | bracket
|
CloneChar | cloned character for horizontal lines (e.g. trills)
|
ClosePath | close path |
CurveTo | relative curveto (bezier) |
DrawChar | draw character (current font) |
Ellipse | ellipse |
EndGroup | marks the end of a group |
ExternalGraphic | external graphic (eps, pict, tiff, etc) |
FillAlt | fill path (alternating, or even-odd rule) |
FillSolid | fill path (solid, or non-zero winding rule) |
GoToOrigin | go to origin point |
GoToStart | go to start of path, same as close path for filled shapes |
LineWidth | line width |
Rectangle | rectangle |
RLineTo | relative lineto |
RMoveTo | relative moveto |
SetArrowhead | set arrowhead |
SetBlack | set black: equivalent to |
SetDash | set dash |
SetFont | set font |
SetGray | set gray |
SetWhite | set white: equivalent to |
Slur | slur |
StartGroup | start group |
StartObject | start object
|
Stroke | stroke path |
VerticalMode | pen vertical mode |
|
strong |
Represents different types of shapes in Finale's Shape Designer.
void musx::dom::others::ShapeDef::iterateInstructions | ( | std::function< bool(InstructionType, std::vector< int >)> | callback | ) | const |
Iterates through the instructions in the shape.
callback | The callback function. Returning false from this function aborts the iteration loop. |
std::optional< KnownShapeDefType > musx::dom::others::ShapeDef::recognize | ( | ) | const |
Determine if this is a recognized shape type.