]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.g2d.ontology/graph/G2D.pgraph
cb458bed2b28b7e3609036f1a92f1d4d697ba78a
[simantics/platform.git] / bundles / org.simantics.g2d.ontology / graph / G2D.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 SEL = <http://www.simantics.org/SelectionView-1.2>
3
4 G2D = <http://www.simantics.org/G2D-1.1> : L0.Ontology
5     @L0.new
6     L0.HasResourceClass "org.simantics.diagram.stubs.G2DResource"
7
8 G2D.Point2D <T L0.Literal
9     @L0.assert L0.HasDataType $(Double[2])
10     L0.HasDescription "A double valued property describing a two-dimensional point (x,y) in euclidian coordinates."
11
12 G2D.Rectangle2D <T L0.Literal
13     @L0.assert L0.HasDataType $(Double[4])
14     L0.HasDescription "A double valued property describing a two-dimensional rectangle (x,y,width,height) in euclidian coordinates."
15
16 G2D.HasPoint2D <R L0.DependsOn
17     --> G2D.Point2D
18
19 // FIXME: use proper datatypes
20 G2D.Point2DArray <T L0.DoubleArray
21     L0.HasDescription "An array of Point2D property values (x,y) as consecutive double values."
22
23 G2D.HasPoint2DArray <R L0.DependsOn
24     --> G2D.Point2DArray
25
26 // FIXME: use proper datatypes
27 G2D.Transform <T L0.Literal
28     @L0.assert L0.HasDataType $(Double[6])
29     @L0.assert L0.HasValueType "Vector Double"
30     L0.HasDescription "A 2x3 matrix of six doubles representing an affine 2D transformation in column-major order."
31
32 G2D.Transform."i-0" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
33     L0.HasLabel "Scale (X)"    
34     L0.HasSubliteralPredicate.Inverse G2D.Transform    
35 G2D.Transform."i-1" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
36     L0.HasLabel "Shear (Y)"    
37     L0.HasSubliteralPredicate.Inverse G2D.Transform    
38 G2D.Transform."i-2" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
39     L0.HasLabel "Shear (X)"    
40     L0.HasSubliteralPredicate.Inverse G2D.Transform    
41 G2D.Transform."i-3" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
42     L0.HasLabel "Scale (Y)"    
43     L0.HasSubliteralPredicate.Inverse G2D.Transform    
44 G2D.Transform."i-4" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
45     L0.HasLabel "X"    
46     L0.HasSubliteralPredicate.Inverse G2D.Transform    
47 G2D.Transform."i-5" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
48     L0.HasLabel "Y"    
49     L0.HasSubliteralPredicate.Inverse G2D.Transform    
50
51 G2D.HasTransform <R L0.HasProperty : L0.FunctionalRelation
52     --> G2D.Transform
53     L0.InverseOf G2D.IsTransformOf
54
55 G2D.HasBounds <R L0.HasProperty : L0.FunctionalRelation
56     L0.HasLabel "Bounds"
57     --> G2D.Rectangle2D
58
59 G2D.Shape <T L0.Entity
60     L0.HasDescription "A Graphics Node which has some kind of graphical representation."
61     @L0.optionalProperty G2D.HasStyle
62     @L0.singleProperty G2D.HasLineSegments
63     @L0.singleProperty G2D.HasLineSegmentTypes
64     @L0.optionalProperty G2D.HasFillColor
65     @L0.optionalProperty G2D.HasBorderColor
66
67 G2D.HasLineSegments <R L0.HasProperty : L0.FunctionalRelation
68     --> L0.Double
69 G2D.HasLineSegmentTypes <R L0.HasProperty : L0.FunctionalRelation
70     --> L0.Integer
71
72 G2D.Style <T L0.Property
73     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."
74     @L0.optionalProperty G2D.HasStroke
75     @L0.optionalProperty G2D.HasOpacity
76 G2D.HasStyle <R L0.HasProperty : L0.FunctionalRelation
77     --> G2D.Style
78 G2D.Stroke <T L0.Property
79     L0.HasDescription "A composite property describing all stroke painting attributes possible in SVG"
80     @L0.optionalProperty G2D.HasDashArray
81     @L0.optionalProperty G2D.HasDashOffset
82     @L0.optionalProperty G2D.HasStrokeWidth
83     @L0.optionalProperty G2D.HasMiterLimit
84     @L0.optionalProperty G2D.HasLineCap
85     @L0.optionalProperty G2D.HasLineJoin
86 G2D.HasStroke <R L0.HasProperty : L0.FunctionalRelation
87     --> G2D.Stroke
88 G2D.HasStrokeType <R L0.IsRelatedTo : L0.FunctionalRelation
89     L0.HasLabel "Stroke Type"
90     --> G2D.StrokeType
91 G2D.StrokeType <T L0.Property
92     @L0.tag L0.Enumeration
93 G2D.StrokeType.Scaling : G2D.StrokeType
94 G2D.StrokeType.Nonscaling : G2D.StrokeType
95 G2D.LineEnd <T L0.Property
96     @L0.optionalProperty G2D.HasLineEndStyle
97     @L0.singleProperty G2D.HasSize
98     @L0.singleProperty G2D.HasWidthRatio
99     @L0.singleProperty G2D.HasSpace
100 G2D.HasEndArrow <R L0.HasProperty : L0.FunctionalRelation
101     L0.HasLabel "End Arrow"
102     --> G2D.LineEnd
103 G2D.HasMidArrow <R L0.HasProperty : L0.FunctionalRelation
104     L0.HasLabel "Mid Arrow"
105     --> G2D.LineEnd
106 G2D.HasBeginArrow <R L0.HasProperty : L0.FunctionalRelation
107     L0.HasLabel "Begin Arrow"
108     --> G2D.LineEnd
109 G2D.LineEndStyle <T L0.Property
110     @L0.tag L0.Enumeration
111 G2D.LineEndStyle.NormalLineEndStyle : G2D.LineEndStyle
112 G2D.LineEndStyle.FilledLineEndStyle : G2D.LineEndStyle
113 G2D.HasLineEndStyle <R L0.IsRelatedTo : L0.FunctionalRelation
114     L0.HasLabel "Line End Style"
115     --> G2D.LineEndStyle
116 G2D.Font <T L0.Property
117     L0.HasDescription "A composite property describing a single font configuration by its family, style and size."
118     @L0.singleProperty G2D.HasFontFamily
119     @L0.singleProperty G2D.HasFontStyle
120     @L0.singleProperty G2D.HasFontSize
121     @L0.assert G2D.HasFontFamily "Arial"
122     @L0.assert G2D.HasFontStyle G2D.FontStyle.normal_font_style
123     @L0.assert G2D.HasFontSize 12
124 G2D.HasFont <R L0.HasProperty : L0.FunctionalRelation
125     L0.HasLabel "Font"
126     --> G2D.Font
127 G2D.FontStyle <T L0.Property : L0.FunctionalRelation
128     @L0.tag L0.Enumeration
129     L0.HasDescription "An enumeration of the allowed font styles."
130 G2D.FontStyle.normal_font_style : G2D.FontStyle
131 G2D.FontStyle.italic_font_style : G2D.FontStyle
132 G2D.FontStyle.bold_font_style : G2D.FontStyle
133 G2D.FontStyle.bold_italic_style : G2D.FontStyle
134 G2D.HasFontStyle <R L0.IsRelatedTo : L0.FunctionalRelation
135     L0.HasLabel "Font Style"
136     --> G2D.FontStyle
137 G2D.LineJoin <T L0.Property
138     @L0.tag L0.Enumeration
139 G2D.LineJoin.MiterJoin : G2D.LineJoin
140 G2D.LineJoin.RoundJoin : G2D.LineJoin
141 G2D.LineJoin.BevelJoin : G2D.LineJoin
142 G2D.HasLineJoin <R L0.IsRelatedTo : L0.FunctionalRelation
143     L0.HasLabel "Line Join"
144     --> G2D.LineJoin
145 G2D.LineCap <T L0.Property : L0.FunctionalRelation
146     @L0.tag L0.Enumeration
147 G2D.LineCap.ButtCap : G2D.LineCap
148 G2D.LineCap.RoundCap : G2D.LineCap
149 G2D.LineCap.SquareCap : G2D.LineCap
150 G2D.HasLineCap <R L0.IsRelatedTo : L0.FunctionalRelation
151     L0.HasLabel "Line Cap"
152     --> G2D.LineCap
153 G2D.HasPaint <R L0.HasProperty : L0.FunctionalRelation
154     L0.HasLabel "Paint"
155     --> L0.String
156 G2D.HasOpacity <R L0.HasProperty : L0.FunctionalRelation
157     L0.HasLabel "Opacity"
158     --> L0.Float
159 G2D.HasStrokeWidth <R L0.HasProperty : L0.FunctionalRelation
160     L0.HasLabel "Stroke Width"
161     --> L0.Float
162 G2D.HasMiterLimit <R L0.HasProperty : L0.FunctionalRelation
163     L0.HasLabel "Miter Limit"
164     --> L0.Float
165 G2D.HasDashArray <R L0.HasProperty : L0.FunctionalRelation
166     --> L0.FloatArray
167     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."
168 G2D.HasDashOffset <R L0.HasProperty : L0.FunctionalRelation
169     --> L0.Float
170     L0.HasDescription "The dash phase is a distance specified in user coordinates that represents an offset into the dashing pattern."
171 G2D.HasRadii <R L0.HasProperty : L0.FunctionalRelation
172     --> G2D.Point2D
173 G2D.HasPathData <R L0.HasProperty : L0.FunctionalRelation
174     --> L0.String
175 G2D.HasText <R L0.HasProperty : L0.FunctionalRelation
176     L0.HasLabel "Text"
177     --> L0.String
178 G2D.HasSize <R L0.HasProperty : L0.FunctionalRelation
179     L0.HasLabel "Size"
180     --> L0.Double
181 G2D.HasWidthRatio <R L0.HasProperty : L0.FunctionalRelation
182     L0.HasLabel "Ratio of width to length"
183     --> L0.Double
184 G2D.HasSpace <R L0.HasProperty : L0.FunctionalRelation
185     L0.HasLabel "Space"
186     --> L0.Double
187 G2D.HasFontFamily <R L0.HasProperty : L0.FunctionalRelation
188     L0.HasLabel "Font Family"
189     --> L0.String
190 G2D.HasFontSize <R L0.HasProperty : L0.FunctionalRelation
191     L0.HasLabel "Font Size"
192     --> L0.Integer
193
194 G2D.Alignment <T L0.Property
195     @L0.tag L0.Enumeration
196 G2D.Alignment.Leading : G2D.Alignment
197 G2D.Alignment.Center : G2D.Alignment
198 G2D.Alignment.Trailing : G2D.Alignment
199 G2D.Alignment.Baseline : G2D.Alignment
200 G2D.HasHorizontalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
201     L0.HasLabel "Horizontal Alignment"
202     --> G2D.Alignment
203 G2D.HasVerticalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
204     L0.HasLabel "Vertical Alignment"
205     --> G2D.Alignment
206
207 G2D.Color <T L0.Literal
208     @L0.assert L0.HasDataType $(Float[4])
209     L0.HasDescription "A 4-component BGRA color as floats."
210 G2D.HasColor <R L0.HasProperty : L0.FunctionalRelation
211     L0.HasLabel "Color"
212     --> G2D.Color
213 G2D.HasFillColor <R L0.HasProperty : L0.FunctionalRelation
214     L0.HasLabel "Fill Color"
215     --> G2D.Color
216 G2D.HasBorderColor <R L0.HasProperty : L0.FunctionalRelation
217     L0.HasLabel "Border Color"
218     --> G2D.Color
219
220 G2D.ColorProfile <T L0.Library
221     L0.HasDescription "A collection of colors"
222
223 G2D.Colors : G2D.ColorProfile
224     L0.ConsistsOf
225         [0.0,0.0,0.0,1.0] : G2D.Color
226             L0.HasName "black"
227         [1.0,1.0,1.0,1.0] : G2D.Color
228             L0.HasName "white"
229
230 G2D.ColorGradient <T L0.Property
231     //TODO [G2D.HasColorPlacement card "1..*"]
232 G2D.ColorPlacement <T L0.Property 
233     @L0.singleProperty G2D.HasColor
234     @L0.singleProperty G2D.HasGradientPosition 
235 G2D.HasColorPlacement <R L0.HasProperty : L0.FunctionalRelation
236     --> G2D.ColorPlacement
237 G2D.HasColorGradient <R L0.HasProperty : L0.FunctionalRelation
238     --> G2D.ColorGradient
239 G2D.HasGradientPosition <R L0.HasProperty : L0.FunctionalRelation
240     --> L0.Double
241
242 G2D.DefaultStroke : G2D.Stroke
243     L0.HasDescription "Default Stroke with width = 1"
244     G2D.HasStrokeWidth 1.0 : L0.Float
245     G2D.HasDashArray [1.0] : L0.FloatArray
246     G2D.HasDashOffset 0.0 : L0.Float
247     G2D.HasMiterLimit 1.0 : L0.Float
248     G2D.HasLineCap G2D.LineCap.SquareCap
249     G2D.HasLineJoin G2D.LineJoin.RoundJoin
250
251 G2D.HasRasterImage <R L0.HasProperty : L0.FunctionalRelation
252     --> L0.ByteArray
253
254 G2D.HasSVGDocument <R L0.HasProperty : L0.FunctionalRelation
255     --> L0.String
256
257 G2D.HasSVGScript <R L0.HasProperty : L0.FunctionalRelation
258     --> L0.String
259
260 G2D.IsVisible <R L0.HasProperty : L0.FunctionalRelation
261     --> L0.Boolean