OMG Diagram Definition metamodels

//OMG Diagram Definition metamodels
//DC
abstract Point
x : int
y : int
abstract Dimension
width : int
height : int
[ width >= 0 && height >= 0 ]
abstract Bounds
x : int
y : int
width : int
height : int
[ width > 0 && height > 0 ]
enum AlignmentKind = start | end | center
enum KnownColor = maroon | red | orange | yellow | olive | purple | fuchsia | white | lime | green | navy | blue | aqua | teal | black | silver | gray
abstract Color
red : int
green : int
blue : int
[ red >= 0 && red <= 255 && green >= 0 && green <= 255 && blue >= 0 && blue <= 255 ]
//DG
abstract RadialGradient : Gradient
centerX : int
centerY : int
radius : int
focusX : int
focusY : int
[ focusX >= 0 && focusX <= 1 && focusY >= 0 && focusY <= 1 ]
[ radius >= 0 && radius <= 1 ]
abstract Gradient : Fill
stop : GradientStop 2..*
abstract Fill
canvas -> Canvas
[ parent in this.fill ]
transform : Transform *
abstract Canvas : Group
backgroundFill -> Fill ?
backgroundColor : Color ?
marker : Marker *
[ parent in this.canvas ]
fill : Fill *
[ parent in this.canvas ]
abstract Group : GraphicalElement
member : GraphicalElement *
[ parent in this.group ]
abstract GraphicalElement
group -> Group ?
[ parent in this.member ]
localStyle : Style ?
sharedStyle -> Style ?
transform : Transform *
clipPath : ClipPath ?
[ parent in this.clippedElement ]
abstract Style
fillOpacity : int ?
[ this >= 0 && this <= 1 ]
strokeWidth : int ?
[ this >= 0 ]
strokeOpacity : int ?
[ this >= 0 && this <= 1 ]
strokeDashLength : int *
fontSize : int ?
[ this >= 0 ]
fontName : string ?
fontItalic ?
fontBold ?
fontUnderline ?
fontStrikeThrough ?
fill -> Fill ?
fillColor : Color ?
strokeColor : Color ?
fontColor : Color ?
[ # strokeDashLength - # strokeDashLength / 2 * 2 = 0 ]
abstract Transform
abstract ClipPath : Group
clippedElement -> GraphicalElement
[ parent in this.clipPath ]
abstract Marker : Group
size : Dimension
reference : Point
canvas -> Canvas
[ parent in this.marker ]
abstract GradientStop
offset : int
opacity : int
color : Color
[ offset >= 0 && offset <= 1 ]
[ opacity >= 0 && opacity <= 1 ]
abstract Pattern : Fill
bounds : Bounds
abstract LinearGradient : Gradient
x1 : int
x2 : int
y1 : int
y2 : int
[ x1 >= 0 && x1 <= 1 && x2 >= 0 && x2 <= 1 && y1 >= 0 && y1 <= 1 && y2 >= 0 && y2 <= 1 ]
abstract MarkedElement : GraphicalElement
startMarker -> Marker ?
endMarker -> Marker ?
midMarker -> Marker ?
abstract Rectangle : GraphicalElement
cornerRadius : int
bounds : Bounds
abstract Ellipse : GraphicalElement
center : Point
radii : Dimension
abstract Text : GraphicalElement
data : string
alignment -> AlignmentKind
bounds : Bounds
abstract Line : MarkedElement
start : Point
end : Point
abstract Polyline : MarkedElement
point : Point 2..*
abstract Polygon : MarkedElement
point : Point 3..*
abstract Path : MarkedElement
commands : PathCommand *
abstract PathCommand
isRelative ?
abstract Translate : Transform
deltaX : int
deltaY : int
abstract Scale : Transform
factorX : int
factorY : int
[ factorX >= 0 && factorY >= 0 ]
abstract Rotate : Transform
angle : int
center : Point ?
abstract Skew : Transform
angleX : int
angleY : int
abstract Image : GraphicalElement
source : string
isAspectRatioPreserved ?
bounds : Bounds
abstract Circle : GraphicalElement
radius : int
center : Point
[ radius >= 0 ]
abstract Matrix : Transform
a : int
b : int
c : int
d : int
e : int
f : int
abstract MoveTo : PathCommand
point : Point
abstract LineTo : PathCommand
point : Point
abstract CubicCurveTo : PathCommand
point : Point
startControl : Point
endControl : Point
abstract QuadraticCurveTo : PathCommand
point : Point
control : Point
abstract EllipticalArcTo : PathCommand
rotation : int
isLargeArc ?
isSweep ?
point : Point
radii : Dimension
abstract ClosePath : PathCommand
c0_Point abstract Point c0_Dimension abstract Dimension c0_Bounds abstract Bounds c0_Color abstract Color c0_RadialGradient abstract RadialGradient : Gradient c0_Gradient abstract Gradient : Fill c0_RadialGradient->c0_Gradient c0_Fill abstract Fill c0_Gradient->c0_Fill c0_GradientStop abstract GradientStop c0_Gradient->c0_GradientStop c0_Canvas abstract Canvas : Group c0_Fill->c0_Canvas canvas c0_Transform abstract Transform c0_Fill->c0_Transform c0_GradientStop->c0_Color c0_Canvas->c0_Color c0_Canvas->c0_Fill backgroundFill c0_Canvas->c0_Fill c0_Group abstract Group : GraphicalElement c0_Canvas->c0_Group c0_Marker abstract Marker : Group c0_Canvas->c0_Marker c0_GraphicalElement abstract GraphicalElement c0_Group->c0_GraphicalElement c0_Group->c0_GraphicalElement c0_Marker->c0_Point c0_Marker->c0_Dimension c0_Marker->c0_Canvas canvas c0_Marker->c0_Group c0_GraphicalElement->c0_Transform c0_GraphicalElement->c0_Group group c0_Style abstract Style c0_GraphicalElement->c0_Style c0_GraphicalElement->c0_Style sharedStyle c0_ClipPath abstract ClipPath : Group c0_GraphicalElement->c0_ClipPath c0_Style->c0_Color c0_Style->c0_Color c0_Style->c0_Color c0_Style->c0_Fill fill c0_ClipPath->c0_Group c0_ClipPath->c0_GraphicalElement clippedElement c0_Pattern abstract Pattern : Fill c0_Pattern->c0_Bounds c0_Pattern->c0_Fill c0_Pattern->c0_GraphicalElement c0_LinearGradient abstract LinearGradient : Gradient c0_LinearGradient->c0_Gradient c0_MarkedElement abstract MarkedElement : GraphicalElement c0_MarkedElement->c0_Marker startMarker c0_MarkedElement->c0_Marker endMarker c0_MarkedElement->c0_Marker midMarker c0_MarkedElement->c0_GraphicalElement c0_Rectangle abstract Rectangle : GraphicalElement c0_Rectangle->c0_Bounds c0_Rectangle->c0_GraphicalElement c0_Ellipse abstract Ellipse : GraphicalElement c0_Ellipse->c0_Point c0_Ellipse->c0_Dimension c0_Ellipse->c0_GraphicalElement c0_Text abstract Text : GraphicalElement c0_Text->c0_Bounds c0_Text->c0_GraphicalElement c0_AlignmentKind c0_AlignmentKind c0_Text->c0_AlignmentKind alignment c0_Line abstract Line : MarkedElement c0_Line->c0_Point c0_Line->c0_Point c0_Line->c0_MarkedElement c0_Polyline abstract Polyline : MarkedElement c0_Polyline->c0_Point c0_Polyline->c0_MarkedElement c0_Polygon abstract Polygon : MarkedElement c0_Polygon->c0_Point c0_Polygon->c0_MarkedElement c0_Path abstract Path : MarkedElement c0_Path->c0_MarkedElement c0_PathCommand abstract PathCommand c0_Path->c0_PathCommand c0_Translate abstract Translate : Transform c0_Translate->c0_Transform c0_Scale abstract Scale : Transform c0_Scale->c0_Transform c0_Rotate abstract Rotate : Transform c0_Rotate->c0_Point c0_Rotate->c0_Transform c0_Skew abstract Skew : Transform c0_Skew->c0_Transform c0_Image abstract Image : GraphicalElement c0_Image->c0_Bounds c0_Image->c0_GraphicalElement c0_Circle abstract Circle : GraphicalElement c0_Circle->c0_Point c0_Circle->c0_GraphicalElement c0_Matrix abstract Matrix : Transform c0_Matrix->c0_Transform c0_MoveTo abstract MoveTo : PathCommand c0_MoveTo->c0_Point c0_MoveTo->c0_PathCommand c0_LineTo abstract LineTo : PathCommand c0_LineTo->c0_Point c0_LineTo->c0_PathCommand c0_CubicCurveTo abstract CubicCurveTo : PathCommand c0_CubicCurveTo->c0_Point c0_CubicCurveTo->c0_Point c0_CubicCurveTo->c0_Point c0_CubicCurveTo->c0_PathCommand c0_QuadraticCurveTo abstract QuadraticCurveTo : PathCommand c0_QuadraticCurveTo->c0_Point c0_QuadraticCurveTo->c0_Point c0_QuadraticCurveTo->c0_PathCommand c0_EllipticalArcTo abstract EllipticalArcTo : PathCommand c0_EllipticalArcTo->c0_Point c0_EllipticalArcTo->c0_Dimension c0_EllipticalArcTo->c0_PathCommand c0_ClosePath abstract ClosePath : PathCommand c0_ClosePath->c0_PathCommand
Module Statistics: | All clafers: 164 | Abstract: 41 | Concrete: 123 | Reference: 57 | Constraints: 23 | Goals: 0 | Global scope: 1..* | Can skip name resolver: no |

Module Downloads: | [.cfr] | [.html] |