1 package org.simantics.g3d.csg.ontology;
3 import org.simantics.db.RequestProcessor;
4 import org.simantics.db.Resource;
5 import org.simantics.db.ReadGraph;
6 import org.simantics.db.request.Read;
7 import org.simantics.db.Session;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.db.service.QueryControl;
13 public final Resource Barrel;
14 public final Resource BooleanOperation;
15 public final Resource Box;
16 public final Resource CSGBrowseContext;
17 public final Resource CSGBrowseContext_ActiveLabelDecorationRule;
18 public final Resource CSGBrowseContext_RunLabelRule;
19 public final Resource CSGBrowseContext_ShapeTabContribution;
20 public final Resource Cone;
21 public final Resource Cylinder;
22 public final Resource Difference;
23 public final Resource EllipticCylinder;
24 public final Resource HasBottomRadius;
25 public final Resource HasBottomRadius_Inverse;
26 public final Resource HasCorners;
27 public final Resource HasCorners_Inverse;
28 public final Resource HasHeight;
29 public final Resource HasHeight_Inverse;
30 public final Resource HasMajorRadius;
31 public final Resource HasMajorRadius_Inverse;
32 public final Resource HasMinorRadius;
33 public final Resource HasMinorRadius_Inverse;
34 public final Resource HasRadius;
35 public final Resource HasRadius_Inverse;
36 public final Resource HasSizingProperty;
37 public final Resource HasSizingProperty_Inverse;
38 public final Resource HasTopRadius;
39 public final Resource HasTopRadius_Inverse;
40 public final Resource HasXAxisMaximumSize;
41 public final Resource HasXAxisMaximumSize_Inverse;
42 public final Resource HasXAxisMinimumSize;
43 public final Resource HasXAxisMinimumSize_Inverse;
44 public final Resource HasXAxisSize;
45 public final Resource HasXAxisSize_Inverse;
46 public final Resource HasYAxisSize;
47 public final Resource HasYAxisSize_Inverse;
48 public final Resource HasZAxisMaximumSize;
49 public final Resource HasZAxisMaximumSize_Inverse;
50 public final Resource HasZAxisMinimumSize;
51 public final Resource HasZAxisMinimumSize_Inverse;
52 public final Resource HasZAxisSize;
53 public final Resource HasZAxisSize_Inverse;
54 public final Resource Images;
55 public final Resource Images_Difference;
56 public final Resource Images_Intersection;
57 public final Resource Images_Ruby;
58 public final Resource Images_Union;
59 public final Resource Intersection;
60 public final Resource Model;
61 public final Resource Primitive;
62 public final Resource RectangularSolid;
63 public final Resource RegularPrism;
64 public final Resource Shape;
65 public final Resource Sphere;
66 public final Resource Torus;
67 public final Resource Union;
68 public final Resource hasChildShape;
69 public final Resource hasChildShape_Inverse;
70 public final Resource hasPrimaryShape;
71 public final Resource hasPrimaryShape_Inverse;
72 public final Resource hasSecondaryShape;
73 public final Resource hasSecondaryShape_Inverse;
75 public static class URIs {
76 public static final String Barrel = "http://www.simantics.org/CSG-0.1/Barrel";
77 public static final String BooleanOperation = "http://www.simantics.org/CSG-0.1/BooleanOperation";
78 public static final String Box = "http://www.simantics.org/CSG-0.1/Box";
79 public static final String CSGBrowseContext = "http://www.simantics.org/CSG-0.1/CSGBrowseContext";
80 public static final String CSGBrowseContext_ActiveLabelDecorationRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ActiveLabelDecorationRule";
81 public static final String CSGBrowseContext_RunLabelRule = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/RunLabelRule";
82 public static final String CSGBrowseContext_ShapeTabContribution = "http://www.simantics.org/CSG-0.1/CSGBrowseContext/ShapeTabContribution";
83 public static final String Cone = "http://www.simantics.org/CSG-0.1/Cone";
84 public static final String Cylinder = "http://www.simantics.org/CSG-0.1/Cylinder";
85 public static final String Difference = "http://www.simantics.org/CSG-0.1/Difference";
86 public static final String EllipticCylinder = "http://www.simantics.org/CSG-0.1/EllipticCylinder";
87 public static final String HasBottomRadius = "http://www.simantics.org/CSG-0.1/HasBottomRadius";
88 public static final String HasBottomRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasBottomRadius/Inverse";
89 public static final String HasCorners = "http://www.simantics.org/CSG-0.1/HasCorners";
90 public static final String HasCorners_Inverse = "http://www.simantics.org/CSG-0.1/HasCorners/Inverse";
91 public static final String HasHeight = "http://www.simantics.org/CSG-0.1/HasHeight";
92 public static final String HasHeight_Inverse = "http://www.simantics.org/CSG-0.1/HasHeight/Inverse";
93 public static final String HasMajorRadius = "http://www.simantics.org/CSG-0.1/HasMajorRadius";
94 public static final String HasMajorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMajorRadius/Inverse";
95 public static final String HasMinorRadius = "http://www.simantics.org/CSG-0.1/HasMinorRadius";
96 public static final String HasMinorRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasMinorRadius/Inverse";
97 public static final String HasRadius = "http://www.simantics.org/CSG-0.1/HasRadius";
98 public static final String HasRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasRadius/Inverse";
99 public static final String HasSizingProperty = "http://www.simantics.org/CSG-0.1/HasSizingProperty";
100 public static final String HasSizingProperty_Inverse = "http://www.simantics.org/CSG-0.1/HasSizingProperty/Inverse";
101 public static final String HasTopRadius = "http://www.simantics.org/CSG-0.1/HasTopRadius";
102 public static final String HasTopRadius_Inverse = "http://www.simantics.org/CSG-0.1/HasTopRadius/Inverse";
103 public static final String HasXAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize";
104 public static final String HasXAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMaximumSize/Inverse";
105 public static final String HasXAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize";
106 public static final String HasXAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisMinimumSize/Inverse";
107 public static final String HasXAxisSize = "http://www.simantics.org/CSG-0.1/HasXAxisSize";
108 public static final String HasXAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasXAxisSize/Inverse";
109 public static final String HasYAxisSize = "http://www.simantics.org/CSG-0.1/HasYAxisSize";
110 public static final String HasYAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasYAxisSize/Inverse";
111 public static final String HasZAxisMaximumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize";
112 public static final String HasZAxisMaximumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMaximumSize/Inverse";
113 public static final String HasZAxisMinimumSize = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize";
114 public static final String HasZAxisMinimumSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisMinimumSize/Inverse";
115 public static final String HasZAxisSize = "http://www.simantics.org/CSG-0.1/HasZAxisSize";
116 public static final String HasZAxisSize_Inverse = "http://www.simantics.org/CSG-0.1/HasZAxisSize/Inverse";
117 public static final String Images = "http://www.simantics.org/CSG-0.1/Images";
118 public static final String Images_Difference = "http://www.simantics.org/CSG-0.1/Images/Difference";
119 public static final String Images_Intersection = "http://www.simantics.org/CSG-0.1/Images/Intersection";
120 public static final String Images_Ruby = "http://www.simantics.org/CSG-0.1/Images/Ruby";
121 public static final String Images_Union = "http://www.simantics.org/CSG-0.1/Images/Union";
122 public static final String Intersection = "http://www.simantics.org/CSG-0.1/Intersection";
123 public static final String Model = "http://www.simantics.org/CSG-0.1/Model";
124 public static final String Primitive = "http://www.simantics.org/CSG-0.1/Primitive";
125 public static final String RectangularSolid = "http://www.simantics.org/CSG-0.1/RectangularSolid";
126 public static final String RegularPrism = "http://www.simantics.org/CSG-0.1/RegularPrism";
127 public static final String Shape = "http://www.simantics.org/CSG-0.1/Shape";
128 public static final String Sphere = "http://www.simantics.org/CSG-0.1/Sphere";
129 public static final String Torus = "http://www.simantics.org/CSG-0.1/Torus";
130 public static final String Union = "http://www.simantics.org/CSG-0.1/Union";
131 public static final String hasChildShape = "http://www.simantics.org/CSG-0.1/hasChildShape";
132 public static final String hasChildShape_Inverse = "http://www.simantics.org/CSG-0.1/hasChildShape/Inverse";
133 public static final String hasPrimaryShape = "http://www.simantics.org/CSG-0.1/hasPrimaryShape";
134 public static final String hasPrimaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasPrimaryShape/Inverse";
135 public static final String hasSecondaryShape = "http://www.simantics.org/CSG-0.1/hasSecondaryShape";
136 public static final String hasSecondaryShape_Inverse = "http://www.simantics.org/CSG-0.1/hasSecondaryShape/Inverse";
139 public static Resource getResourceOrNull(ReadGraph graph, String uri) {
141 return graph.getResource(uri);
142 } catch(DatabaseException e) {
143 System.err.println(e.getMessage());
148 public CSG(ReadGraph graph) {
149 Barrel = getResourceOrNull(graph, URIs.Barrel);
150 BooleanOperation = getResourceOrNull(graph, URIs.BooleanOperation);
151 Box = getResourceOrNull(graph, URIs.Box);
152 CSGBrowseContext = getResourceOrNull(graph, URIs.CSGBrowseContext);
153 CSGBrowseContext_ActiveLabelDecorationRule = getResourceOrNull(graph, URIs.CSGBrowseContext_ActiveLabelDecorationRule);
154 CSGBrowseContext_RunLabelRule = getResourceOrNull(graph, URIs.CSGBrowseContext_RunLabelRule);
155 CSGBrowseContext_ShapeTabContribution = getResourceOrNull(graph, URIs.CSGBrowseContext_ShapeTabContribution);
156 Cone = getResourceOrNull(graph, URIs.Cone);
157 Cylinder = getResourceOrNull(graph, URIs.Cylinder);
158 Difference = getResourceOrNull(graph, URIs.Difference);
159 EllipticCylinder = getResourceOrNull(graph, URIs.EllipticCylinder);
160 HasBottomRadius = getResourceOrNull(graph, URIs.HasBottomRadius);
161 HasBottomRadius_Inverse = getResourceOrNull(graph, URIs.HasBottomRadius_Inverse);
162 HasCorners = getResourceOrNull(graph, URIs.HasCorners);
163 HasCorners_Inverse = getResourceOrNull(graph, URIs.HasCorners_Inverse);
164 HasHeight = getResourceOrNull(graph, URIs.HasHeight);
165 HasHeight_Inverse = getResourceOrNull(graph, URIs.HasHeight_Inverse);
166 HasMajorRadius = getResourceOrNull(graph, URIs.HasMajorRadius);
167 HasMajorRadius_Inverse = getResourceOrNull(graph, URIs.HasMajorRadius_Inverse);
168 HasMinorRadius = getResourceOrNull(graph, URIs.HasMinorRadius);
169 HasMinorRadius_Inverse = getResourceOrNull(graph, URIs.HasMinorRadius_Inverse);
170 HasRadius = getResourceOrNull(graph, URIs.HasRadius);
171 HasRadius_Inverse = getResourceOrNull(graph, URIs.HasRadius_Inverse);
172 HasSizingProperty = getResourceOrNull(graph, URIs.HasSizingProperty);
173 HasSizingProperty_Inverse = getResourceOrNull(graph, URIs.HasSizingProperty_Inverse);
174 HasTopRadius = getResourceOrNull(graph, URIs.HasTopRadius);
175 HasTopRadius_Inverse = getResourceOrNull(graph, URIs.HasTopRadius_Inverse);
176 HasXAxisMaximumSize = getResourceOrNull(graph, URIs.HasXAxisMaximumSize);
177 HasXAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMaximumSize_Inverse);
178 HasXAxisMinimumSize = getResourceOrNull(graph, URIs.HasXAxisMinimumSize);
179 HasXAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisMinimumSize_Inverse);
180 HasXAxisSize = getResourceOrNull(graph, URIs.HasXAxisSize);
181 HasXAxisSize_Inverse = getResourceOrNull(graph, URIs.HasXAxisSize_Inverse);
182 HasYAxisSize = getResourceOrNull(graph, URIs.HasYAxisSize);
183 HasYAxisSize_Inverse = getResourceOrNull(graph, URIs.HasYAxisSize_Inverse);
184 HasZAxisMaximumSize = getResourceOrNull(graph, URIs.HasZAxisMaximumSize);
185 HasZAxisMaximumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMaximumSize_Inverse);
186 HasZAxisMinimumSize = getResourceOrNull(graph, URIs.HasZAxisMinimumSize);
187 HasZAxisMinimumSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisMinimumSize_Inverse);
188 HasZAxisSize = getResourceOrNull(graph, URIs.HasZAxisSize);
189 HasZAxisSize_Inverse = getResourceOrNull(graph, URIs.HasZAxisSize_Inverse);
190 Images = getResourceOrNull(graph, URIs.Images);
191 Images_Difference = getResourceOrNull(graph, URIs.Images_Difference);
192 Images_Intersection = getResourceOrNull(graph, URIs.Images_Intersection);
193 Images_Ruby = getResourceOrNull(graph, URIs.Images_Ruby);
194 Images_Union = getResourceOrNull(graph, URIs.Images_Union);
195 Intersection = getResourceOrNull(graph, URIs.Intersection);
196 Model = getResourceOrNull(graph, URIs.Model);
197 Primitive = getResourceOrNull(graph, URIs.Primitive);
198 RectangularSolid = getResourceOrNull(graph, URIs.RectangularSolid);
199 RegularPrism = getResourceOrNull(graph, URIs.RegularPrism);
200 Shape = getResourceOrNull(graph, URIs.Shape);
201 Sphere = getResourceOrNull(graph, URIs.Sphere);
202 Torus = getResourceOrNull(graph, URIs.Torus);
203 Union = getResourceOrNull(graph, URIs.Union);
204 hasChildShape = getResourceOrNull(graph, URIs.hasChildShape);
205 hasChildShape_Inverse = getResourceOrNull(graph, URIs.hasChildShape_Inverse);
206 hasPrimaryShape = getResourceOrNull(graph, URIs.hasPrimaryShape);
207 hasPrimaryShape_Inverse = getResourceOrNull(graph, URIs.hasPrimaryShape_Inverse);
208 hasSecondaryShape = getResourceOrNull(graph, URIs.hasSecondaryShape);
209 hasSecondaryShape_Inverse = getResourceOrNull(graph, URIs.hasSecondaryShape_Inverse);
212 public static CSG getInstance(ReadGraph graph) {
213 Session session = graph.getSession();
214 CSG ret = session.peekService(CSG.class);
216 QueryControl qc = graph.getService(QueryControl.class);
217 ret = new CSG(qc.getIndependentGraph(graph));
218 session.registerService(CSG.class, ret);
223 public static CSG getInstance(RequestProcessor session) throws DatabaseException {
224 CSG ret = session.peekService(CSG.class);
226 ret = session.syncRequest(new Read<CSG>() {
227 public CSG perform(ReadGraph graph) throws DatabaseException {
228 QueryControl qc = graph.getService(QueryControl.class);
229 return new CSG(qc.getIndependentGraph(graph));
232 session.registerService(CSG.class, ret);