1 L0 = <http://www.simantics.org/Layer0-1.1>
\r
2 SEL = <http://www.simantics.org/SelectionView-1.2>
\r
4 G2D = <http://www.simantics.org/G2D-1.1> : L0.Ontology
\r
6 L0.HasResourceClass "org.simantics.diagram.stubs.G2DResource"
\r
8 G2D.Point2D <T L0.Literal
\r
9 @L0.assert L0.HasDataType $(Double[2])
\r
10 L0.HasDescription "A double valued property describing a two-dimensional point (x,y) in euclidian coordinates."
\r
12 G2D.Rectangle2D <T L0.Literal
\r
13 @L0.assert L0.HasDataType $(Double[4])
\r
14 L0.HasDescription "A double valued property describing a two-dimensional rectangle (x,y,width,height) in euclidian coordinates."
\r
16 G2D.HasPoint2D <R L0.DependsOn
\r
19 // FIXME: use proper datatypes
\r
20 G2D.Point2DArray <T L0.DoubleArray
\r
21 L0.HasDescription "An array of Point2D property values (x,y) as consecutive double values."
\r
23 G2D.HasPoint2DArray <R L0.DependsOn
\r
24 --> G2D.Point2DArray
\r
26 // FIXME: use proper datatypes
\r
27 G2D.Transform <T L0.Literal
\r
28 @L0.assert L0.HasDataType $(Double[6])
\r
29 L0.HasDescription "A 2x3 matrix of six doubles representing an affine 2D transformation in column-major order."
\r
31 G2D.Transform."i-0" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
32 L0.HasLabel "Scale (X)"
\r
33 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
34 G2D.Transform."i-1" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
35 L0.HasLabel "Shear (Y)"
\r
36 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
37 G2D.Transform."i-2" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
38 L0.HasLabel "Shear (X)"
\r
39 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
40 G2D.Transform."i-3" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
41 L0.HasLabel "Scale (Y)"
\r
42 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
43 G2D.Transform."i-4" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
45 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
46 G2D.Transform."i-5" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
\r
48 L0.HasSubliteralPredicate.Inverse G2D.Transform
\r
50 G2D.HasTransform <R L0.HasProperty : L0.FunctionalRelation
\r
52 L0.InverseOf G2D.IsTransformOf
\r
54 G2D.HasBounds <R L0.HasProperty : L0.FunctionalRelation
\r
55 L0.HasLabel "Bounds"
\r
58 G2D.Shape <T L0.Entity
\r
59 L0.HasDescription "A Graphics Node which has some kind of graphical representation."
\r
60 @L0.optionalProperty G2D.HasStyle
\r
61 @L0.singleProperty G2D.HasLineSegments
\r
62 @L0.singleProperty G2D.HasLineSegmentTypes
\r
63 @L0.optionalProperty G2D.HasFillColor
\r
64 @L0.optionalProperty G2D.HasBorderColor
\r
66 G2D.HasLineSegments <R L0.HasProperty : L0.FunctionalRelation
\r
68 G2D.HasLineSegmentTypes <R L0.HasProperty : L0.FunctionalRelation
\r
71 G2D.Style <T L0.Property
\r
72 L0.HasDescription "A composite property describing a complete SVG style with stroke and fill attributes. An opacity defined for a Style represents an 'object opacity' which effects both stroke and fill opacity."
\r
73 @L0.optionalProperty G2D.HasStroke
\r
74 @L0.optionalProperty G2D.HasOpacity
\r
75 G2D.HasStyle <R L0.HasProperty : L0.FunctionalRelation
\r
77 G2D.Stroke <T L0.Property
\r
78 L0.HasDescription "A composite property describing all stroke painting attributes possible in SVG"
\r
79 @L0.optionalProperty G2D.HasDashArray
\r
80 @L0.optionalProperty G2D.HasDashOffset
\r
81 @L0.optionalProperty G2D.HasStrokeWidth
\r
82 @L0.optionalProperty G2D.HasMiterLimit
\r
83 @L0.optionalProperty G2D.HasLineCap
\r
84 @L0.optionalProperty G2D.HasLineJoin
\r
85 G2D.HasStroke <R L0.HasProperty : L0.FunctionalRelation
\r
87 G2D.HasStrokeType <R L0.IsRelatedTo : L0.FunctionalRelation
\r
88 L0.HasLabel "Stroke Type"
\r
90 G2D.StrokeType <T L0.Property
\r
91 @L0.tag L0.Enumeration
\r
92 G2D.StrokeType.Scaling : G2D.StrokeType
\r
93 G2D.StrokeType.Nonscaling : G2D.StrokeType
\r
94 G2D.LineEnd <T L0.Property
\r
95 @L0.optionalProperty G2D.HasLineEndStyle
\r
96 @L0.singleProperty G2D.HasSize
\r
97 @L0.singleProperty G2D.HasWidthRatio
\r
98 @L0.singleProperty G2D.HasSpace
\r
99 G2D.HasEndArrow <R L0.HasProperty : L0.FunctionalRelation
\r
100 L0.HasLabel "End Arrow"
\r
102 G2D.HasMidArrow <R L0.HasProperty : L0.FunctionalRelation
\r
103 L0.HasLabel "Mid Arrow"
\r
105 G2D.HasBeginArrow <R L0.HasProperty : L0.FunctionalRelation
\r
106 L0.HasLabel "Begin Arrow"
\r
108 G2D.LineEndStyle <T L0.Property
\r
109 @L0.tag L0.Enumeration
\r
110 G2D.LineEndStyle.NormalLineEndStyle : G2D.LineEndStyle
\r
111 G2D.LineEndStyle.FilledLineEndStyle : G2D.LineEndStyle
\r
112 G2D.HasLineEndStyle <R L0.IsRelatedTo : L0.FunctionalRelation
\r
113 L0.HasLabel "Line End Style"
\r
114 --> G2D.LineEndStyle
\r
115 G2D.Font <T L0.Property
\r
116 L0.HasDescription "A composite property describing a single font configuration by its family, style and size."
\r
117 @L0.singleProperty G2D.HasFontFamily
\r
118 @L0.singleProperty G2D.HasFontStyle
\r
119 @L0.singleProperty G2D.HasFontSize
\r
120 @L0.assert G2D.HasFontFamily "Arial"
\r
121 @L0.assert G2D.HasFontStyle G2D.FontStyle.normal_font_style
\r
122 @L0.assert G2D.HasFontSize 12
\r
123 G2D.HasFont <R L0.HasProperty : L0.FunctionalRelation
\r
126 G2D.FontStyle <T L0.Property : L0.FunctionalRelation
\r
127 @L0.tag L0.Enumeration
\r
128 L0.HasDescription "An enumeration of the allowed font styles."
\r
129 G2D.FontStyle.normal_font_style : G2D.FontStyle
\r
130 G2D.FontStyle.italic_font_style : G2D.FontStyle
\r
131 G2D.FontStyle.bold_font_style : G2D.FontStyle
\r
132 G2D.FontStyle.bold_italic_style : G2D.FontStyle
\r
133 G2D.HasFontStyle <R L0.IsRelatedTo : L0.FunctionalRelation
\r
134 L0.HasLabel "Font Style"
\r
136 G2D.LineJoin <T L0.Property
\r
137 @L0.tag L0.Enumeration
\r
138 G2D.LineJoin.MiterJoin : G2D.LineJoin
\r
139 G2D.LineJoin.RoundJoin : G2D.LineJoin
\r
140 G2D.LineJoin.BevelJoin : G2D.LineJoin
\r
141 G2D.HasLineJoin <R L0.IsRelatedTo : L0.FunctionalRelation
\r
142 L0.HasLabel "Line Join"
\r
144 G2D.LineCap <T L0.Property : L0.FunctionalRelation
\r
145 @L0.tag L0.Enumeration
\r
146 G2D.LineCap.ButtCap : G2D.LineCap
\r
147 G2D.LineCap.RoundCap : G2D.LineCap
\r
148 G2D.LineCap.SquareCap : G2D.LineCap
\r
149 G2D.HasLineCap <R L0.IsRelatedTo : L0.FunctionalRelation
\r
150 L0.HasLabel "Line Cap"
\r
152 G2D.HasPaint <R L0.HasProperty : L0.FunctionalRelation
\r
153 L0.HasLabel "Paint"
\r
155 G2D.HasOpacity <R L0.HasProperty : L0.FunctionalRelation
\r
156 L0.HasLabel "Opacity"
\r
158 G2D.HasStrokeWidth <R L0.HasProperty : L0.FunctionalRelation
\r
159 L0.HasLabel "Stroke Width"
\r
161 G2D.HasMiterLimit <R L0.HasProperty : L0.FunctionalRelation
\r
162 L0.HasLabel "Miter Limit"
\r
164 G2D.HasDashArray <R L0.HasProperty : L0.FunctionalRelation
\r
166 L0.HasDescription "The array represents the lengths of the dash segments. Alternate entries in the array represent the user space lengths of the opaque and transparent segments of the dashes."
\r
167 G2D.HasDashOffset <R L0.HasProperty : L0.FunctionalRelation
\r
169 L0.HasDescription "The dash phase is a distance specified in user coordinates that represents an offset into the dashing pattern."
\r
170 G2D.HasRadii <R L0.HasProperty : L0.FunctionalRelation
\r
172 G2D.HasPathData <R L0.HasProperty : L0.FunctionalRelation
\r
174 G2D.HasText <R L0.HasProperty : L0.FunctionalRelation
\r
177 G2D.HasSize <R L0.HasProperty : L0.FunctionalRelation
\r
180 G2D.HasWidthRatio <R L0.HasProperty : L0.FunctionalRelation
\r
181 L0.HasLabel "Ratio of width to length"
\r
183 G2D.HasSpace <R L0.HasProperty : L0.FunctionalRelation
\r
184 L0.HasLabel "Space"
\r
186 G2D.HasFontFamily <R L0.HasProperty : L0.FunctionalRelation
\r
187 L0.HasLabel "Font Family"
\r
189 G2D.HasFontSize <R L0.HasProperty : L0.FunctionalRelation
\r
190 L0.HasLabel "Font Size"
\r
193 G2D.Alignment <T L0.Property
\r
194 @L0.tag L0.Enumeration
\r
195 G2D.Alignment.Leading : G2D.Alignment
\r
196 G2D.Alignment.Center : G2D.Alignment
\r
197 G2D.Alignment.Trailing : G2D.Alignment
\r
198 G2D.Alignment.Baseline : G2D.Alignment
\r
199 G2D.HasHorizontalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
\r
200 L0.HasLabel "Horizontal Alignment"
\r
202 G2D.HasVerticalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
\r
203 L0.HasLabel "Vertical Alignment"
\r
206 G2D.Color <T L0.Literal
\r
207 @L0.assert L0.HasDataType $(Float[4])
\r
208 L0.HasDescription "A 4-component BGRA color as floats."
\r
209 G2D.HasColor <R L0.HasProperty : L0.FunctionalRelation
\r
210 L0.HasLabel "Color"
\r
212 G2D.HasFillColor <R L0.HasProperty : L0.FunctionalRelation
\r
213 L0.HasLabel "Fill Color"
\r
215 G2D.HasBorderColor <R L0.HasProperty : L0.FunctionalRelation
\r
216 L0.HasLabel "Border Color"
\r
219 G2D.ColorProfile <T L0.Library
\r
220 L0.HasDescription "A collection of colors"
\r
222 G2D.Colors : G2D.ColorProfile
\r
224 [0.0,0.0,0.0,1.0] : G2D.Color
\r
226 [1.0,1.0,1.0,1.0] : G2D.Color
\r
229 G2D.ColorGradient <T L0.Property
\r
230 //TODO [G2D.HasColorPlacement card "1..*"]
\r
231 G2D.ColorPlacement <T L0.Property
\r
232 @L0.singleProperty G2D.HasColor
\r
233 @L0.singleProperty G2D.HasGradientPosition
\r
234 G2D.HasColorPlacement <R L0.HasProperty : L0.FunctionalRelation
\r
235 --> G2D.ColorPlacement
\r
236 G2D.HasColorGradient <R L0.HasProperty : L0.FunctionalRelation
\r
237 --> G2D.ColorGradient
\r
238 G2D.HasGradientPosition <R L0.HasProperty : L0.FunctionalRelation
\r
241 G2D.DefaultStroke : G2D.Stroke
\r
242 L0.HasDescription "Default Stroke with width = 1"
\r
243 G2D.HasStrokeWidth 1.0 : L0.Float
\r
244 G2D.HasDashArray [1.0] : L0.FloatArray
\r
245 G2D.HasDashOffset 0.0 : L0.Float
\r
246 G2D.HasMiterLimit 1.0 : L0.Float
\r
247 G2D.HasLineCap G2D.LineCap.SquareCap
\r
248 G2D.HasLineJoin G2D.LineJoin.RoundJoin
\r
250 G2D.HasRasterImage <R L0.HasProperty : L0.FunctionalRelation
\r
253 G2D.HasSVGDocument <R L0.HasProperty : L0.FunctionalRelation
\r
256 G2D.HasSVGScript <R L0.HasProperty : L0.FunctionalRelation
\r
259 G2D.IsVisible <R L0.HasProperty : L0.FunctionalRelation
\r