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