]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.csg.ontology/graph/csg.pgraph
3D framework (Simca 2012)
[simantics/3d.git] / org.simantics.g3d.csg.ontology / graph / csg.pgraph
diff --git a/org.simantics.g3d.csg.ontology/graph/csg.pgraph b/org.simantics.g3d.csg.ontology/graph/csg.pgraph
new file mode 100644 (file)
index 0000000..1a0f67c
--- /dev/null
@@ -0,0 +1,91 @@
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+G3D = <http://www.simantics.org/G3D-0.1>\r
+\r
+CSG = <http://www.simantics.org/CSG-0.1> : L0.Ontology\r
+    @L0.new\r
+    L0.HasResourceClass "org.simantics.g3d.csg.ontology.CSG"\r
+\r
+CSG.Shape <T G3D.Node\r
+CSG.Model <T G3D.RootNode\r
+CSG.Primitive <T CSG.Shape\r
+    @L0.property CSG.HasSizingProperty\r
+\r
+CSG.hasPrimaryShape <R G3D.geometryDefinition\r
+    L0.HasDomain CSG.BooleanOperation\r
+    L0.HasRange CSG.Shape\r
+CSG.hasSecondaryShape <R G3D.geometryDefinition\r
+    L0.HasDomain CSG.BooleanOperation\r
+    L0.HasRange CSG.Shape\r
+CSG.hasChildShape <R G3D.children\r
+    L0.HasDomain CSG.Shape\r
+    L0.HasRange CSG.Shape\r
+CSG.BooleanOperation <T CSG.Shape\r
+    @L0.optionalProperty CSG.hasPrimaryShape\r
+    @L0.property CSG.hasSecondaryShape\r
+CSG.Difference <T CSG.BooleanOperation\r
+CSG.Intersection <T CSG.BooleanOperation\r
+CSG.Union <T CSG.BooleanOperation\r
+\r
+CSG.HasSizingProperty <R G3D.hasNonTransformation \r
+CSG.HasXAxisSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasYAxisSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasZAxisSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasXAxisMinimumSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasZAxisMinimumSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasXAxisMaximumSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasZAxisMaximumSize <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasRadius <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasMajorRadius <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasMinorRadius <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasTopRadius <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasBottomRadius <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasHeight <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Double\r
+CSG.HasCorners <R CSG.HasSizingProperty : L0.FunctionalRelation\r
+    L0.HasRange L0.Integer\r
+CSG.Box <T CSG.Primitive\r
+    @L0.assert CSG.HasXAxisSize 1.0\r
+    @L0.assert CSG.HasYAxisSize 1.0\r
+    @L0.assert CSG.HasZAxisSize 1.0\r
+CSG.Sphere <T CSG.Primitive\r
+    @L0.assert CSG.HasRadius 1.0\r
+CSG.Cone <T CSG.Primitive\r
+    @L0.assert CSG.HasTopRadius 0.5\r
+    @L0.assert CSG.HasBottomRadius 1.0\r
+    @L0.assert CSG.HasHeight 1.0\r
+CSG.Cylinder <T CSG.Primitive\r
+    @L0.assert CSG.HasRadius 1.0\r
+    @L0.assert CSG.HasHeight 1.0\r
+CSG.Barrel <T CSG.Primitive\r
+    @L0.assert CSG.HasMinorRadius 0.9\r
+    @L0.assert CSG.HasMajorRadius 1.0\r
+    @L0.assert CSG.HasHeight 1.0\r
+CSG.EllipticCylinder <T CSG.Primitive\r
+    @L0.assert CSG.HasMinorRadius 0.5\r
+    @L0.assert CSG.HasMajorRadius 1.0\r
+    @L0.assert CSG.HasHeight 1.0\r
+CSG.RegularPrism <T CSG.Primitive\r
+    @L0.assert CSG.HasHeight 1.0\r
+    @L0.assert CSG.HasRadius 1.0\r
+    @L0.assert CSG.HasCorners 3\r
+CSG.Torus <T CSG.Primitive\r
+    @L0.assert CSG.HasMinorRadius 0.5\r
+    @L0.assert CSG.HasMajorRadius 1.0\r
+CSG.RectangularSolid <T CSG.Primitive\r
+    @L0.assert CSG.HasXAxisMinimumSize 0.5\r
+    @L0.assert CSG.HasXAxisMaximumSize 1.0\r
+    @L0.assert CSG.HasYAxisSize 1.0\r
+    @L0.assert CSG.HasZAxisMinimumSize 0.5\r
+    @L0.assert CSG.HasZAxisMaximumSize 1.0\r