]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.g2d.ontology/graph/G2D.pgraph
Export auditlogging package & fix server address prefix check
[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.HasRounding <R L0.HasProperty : L0.FunctionalRelation
96     --> L0.Double
97 G2D.HasBranchPointRadius <R L0.HasProperty : L0.FunctionalRelation
98     --> L0.Double
99 G2D.LineEnd <T L0.Property
100     @L0.optionalProperty G2D.HasLineEndStyle
101     @L0.singleProperty G2D.HasSize
102     @L0.singleProperty G2D.HasWidthRatio
103     @L0.singleProperty G2D.HasSpace
104 G2D.HasEndArrow <R L0.HasProperty : L0.FunctionalRelation
105     L0.HasLabel "End Arrow"
106     --> G2D.LineEnd
107 G2D.HasMidArrow <R L0.HasProperty : L0.FunctionalRelation
108     L0.HasLabel "Mid Arrow"
109     --> G2D.LineEnd
110 G2D.HasBeginArrow <R L0.HasProperty : L0.FunctionalRelation
111     L0.HasLabel "Begin Arrow"
112     --> G2D.LineEnd
113 G2D.LineEndStyle <T L0.Property
114     @L0.tag L0.Enumeration
115 G2D.LineEndStyle.NormalLineEndStyle : G2D.LineEndStyle
116 G2D.LineEndStyle.FilledLineEndStyle : G2D.LineEndStyle
117 G2D.HasLineEndStyle <R L0.IsRelatedTo : L0.FunctionalRelation
118     L0.HasLabel "Line End Style"
119     --> G2D.LineEndStyle
120 G2D.Font <T L0.Property
121     L0.HasDescription "A composite property describing a single font configuration by its family, style and size."
122     @L0.singleProperty G2D.HasFontFamily
123     @L0.singleProperty G2D.HasFontStyle
124     @L0.singleProperty G2D.HasFontSize
125     @L0.assert G2D.HasFontFamily "Arial"
126     @L0.assert G2D.HasFontStyle G2D.FontStyle.normal_font_style
127     @L0.assert G2D.HasFontSize 12
128 G2D.HasFont <R L0.HasProperty : L0.FunctionalRelation
129     L0.HasLabel "Font"
130     --> G2D.Font
131 G2D.FontStyle <T L0.Property : L0.FunctionalRelation
132     @L0.tag L0.Enumeration
133     L0.HasDescription "An enumeration of the allowed font styles."
134 G2D.FontStyle.normal_font_style : G2D.FontStyle
135 G2D.FontStyle.italic_font_style : G2D.FontStyle
136 G2D.FontStyle.bold_font_style : G2D.FontStyle
137 G2D.FontStyle.bold_italic_style : G2D.FontStyle
138 G2D.HasFontStyle <R L0.IsRelatedTo : L0.FunctionalRelation
139     L0.HasLabel "Font Style"
140     --> G2D.FontStyle
141 G2D.LineJoin <T L0.Property
142     @L0.tag L0.Enumeration
143 G2D.LineJoin.MiterJoin : G2D.LineJoin
144 G2D.LineJoin.RoundJoin : G2D.LineJoin
145 G2D.LineJoin.BevelJoin : G2D.LineJoin
146 G2D.HasLineJoin <R L0.IsRelatedTo : L0.FunctionalRelation
147     L0.HasLabel "Line Join"
148     --> G2D.LineJoin
149 G2D.LineCap <T L0.Property : L0.FunctionalRelation
150     @L0.tag L0.Enumeration
151 G2D.LineCap.ButtCap : G2D.LineCap
152 G2D.LineCap.RoundCap : G2D.LineCap
153 G2D.LineCap.SquareCap : G2D.LineCap
154 G2D.HasLineCap <R L0.IsRelatedTo : L0.FunctionalRelation
155     L0.HasLabel "Line Cap"
156     --> G2D.LineCap
157 G2D.HasPaint <R L0.HasProperty : L0.FunctionalRelation
158     L0.HasLabel "Paint"
159     --> L0.String
160 G2D.HasOpacity <R L0.HasProperty : L0.FunctionalRelation
161     L0.HasLabel "Opacity"
162     --> L0.Float
163 G2D.HasStrokeWidth <R L0.HasProperty : L0.FunctionalRelation
164     L0.HasLabel "Stroke Width"
165     --> L0.Float
166 G2D.HasMiterLimit <R L0.HasProperty : L0.FunctionalRelation
167     L0.HasLabel "Miter Limit"
168     --> L0.Float
169 G2D.HasDashArray <R L0.HasProperty : L0.FunctionalRelation
170     --> L0.FloatArray
171     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."
172 G2D.HasDashOffset <R L0.HasProperty : L0.FunctionalRelation
173     --> L0.Float
174     L0.HasDescription "The dash phase is a distance specified in user coordinates that represents an offset into the dashing pattern."
175 G2D.HasRadii <R L0.HasProperty : L0.FunctionalRelation
176     --> G2D.Point2D
177 G2D.HasPathData <R L0.HasProperty : L0.FunctionalRelation
178     --> L0.String
179 G2D.HasText <R L0.HasProperty : L0.FunctionalRelation
180     L0.HasLabel "Text"
181     --> L0.String
182 G2D.HasSize <R L0.HasProperty : L0.FunctionalRelation
183     L0.HasLabel "Size"
184     --> L0.Double
185 G2D.HasWidthRatio <R L0.HasProperty : L0.FunctionalRelation
186     L0.HasLabel "Ratio of width to length"
187     --> L0.Double
188 G2D.HasSpace <R L0.HasProperty : L0.FunctionalRelation
189     L0.HasLabel "Space"
190     --> L0.Double
191 G2D.HasFontFamily <R L0.HasProperty : L0.FunctionalRelation
192     L0.HasLabel "Font Family"
193     --> L0.String
194 G2D.HasFontSize <R L0.HasProperty : L0.FunctionalRelation
195     L0.HasLabel "Font Size"
196     --> L0.Integer
197
198 G2D.Alignment <T L0.Property
199     @L0.tag L0.Enumeration
200 G2D.Alignment.Leading : G2D.Alignment
201 G2D.Alignment.Center : G2D.Alignment
202 G2D.Alignment.Trailing : G2D.Alignment
203 G2D.Alignment.Baseline : G2D.Alignment
204 G2D.HasHorizontalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
205     L0.HasLabel "Horizontal Alignment"
206     --> G2D.Alignment
207 G2D.HasVerticalAlignment <R L0.IsRelatedTo : L0.FunctionalRelation
208     L0.HasLabel "Vertical Alignment"
209     --> G2D.Alignment
210
211 G2D.Color <T L0.Literal
212     @L0.assert L0.HasDataType $(Float[4])
213     L0.HasDescription "A 4-component BGRA color as floats."
214 G2D.HasColor <R L0.HasProperty : L0.FunctionalRelation
215     L0.HasLabel "Color"
216     --> G2D.Color
217 G2D.HasFillColor <R L0.HasProperty : L0.FunctionalRelation
218     L0.HasLabel "Fill Color"
219     --> G2D.Color
220 G2D.HasBorderColor <R L0.HasProperty : L0.FunctionalRelation
221     L0.HasLabel "Border Color"
222     --> G2D.Color
223
224 G2D.ColorProfile <T L0.Library
225     L0.HasDescription "A collection of colors"
226
227 G2D.Colors : G2D.ColorProfile
228     L0.ConsistsOf
229         [0.0,0.0,0.0,1.0] : G2D.Color
230             L0.HasName "black"
231         [1.0,1.0,1.0,1.0] : G2D.Color
232             L0.HasName "white"
233
234 G2D.ColorGradient <T L0.Property
235     //TODO [G2D.HasColorPlacement card "1..*"]
236 G2D.ColorPlacement <T L0.Property 
237     @L0.singleProperty G2D.HasColor
238     @L0.singleProperty G2D.HasGradientPosition 
239 G2D.HasColorPlacement <R L0.HasProperty : L0.FunctionalRelation
240     --> G2D.ColorPlacement
241 G2D.HasColorGradient <R L0.HasProperty : L0.FunctionalRelation
242     --> G2D.ColorGradient
243 G2D.HasGradientPosition <R L0.HasProperty : L0.FunctionalRelation
244     --> L0.Double
245
246 G2D.DefaultStroke : G2D.Stroke
247     L0.HasDescription "Default Stroke with width = 1"
248     G2D.HasStrokeWidth 1.0 : L0.Float
249     G2D.HasDashArray [1.0] : L0.FloatArray
250     G2D.HasDashOffset 0.0 : L0.Float
251     G2D.HasMiterLimit 1.0 : L0.Float
252     G2D.HasLineCap G2D.LineCap.SquareCap
253     G2D.HasLineJoin G2D.LineJoin.RoundJoin
254
255 G2D.HasRasterImage <R L0.HasProperty : L0.FunctionalRelation
256     --> L0.ByteArray
257
258 G2D.HasSVGDocument <R L0.HasProperty : L0.FunctionalRelation
259     --> L0.String
260
261 G2D.HasSVGScript <R L0.HasProperty : L0.FunctionalRelation
262     --> L0.String
263
264 G2D.IsVisible <R L0.HasProperty : L0.FunctionalRelation
265     --> L0.Boolean
266
267 G2D.fontProperty : L0.Template
268     @template %subject %predicate %family %size %style
269         %subject
270             %predicate _ : G2D.Font
271               G2D.HasFontFamily %family
272               G2D.HasFontSize %size
273               G2D.HasFontStyle %style
274               
275 G2D.font : L0.Template
276     @template %subject %family %size %style
277         %subject : G2D.Font
278           G2D.HasFontFamily %family
279           G2D.HasFontSize %size
280           G2D.HasFontStyle %style
281               
282