1 %import "layer0.graph"
\r
2 %import "layer0.graph" L0
\r
3 %import "animation.graph"
\r
7 $layer0.InverseOf $subject
\r
8 %define tag($tagname)
\r
11 %deflib Type _ @ "Types" : TypeLibrary
\r
13 %deflib Relation _ @ "Relations" : RelationLibrary
\r
15 %deflib Library CSGOntology
\r
16 CSGOntology @ "CSG Ontology" : Ontology
\r
17 PartOf TypeSystemProject
\r
18 HasNamespace "http://www.vtt.fi/Simantics/CSG/1.0" : URI
\r
19 HasVersion "1.0" : Version
\r
20 HasResourceClass "org.simantics.proconf.g3d.csg.stubs.CSGResource" : String
\r
21 HasStubsPackage "org.simantics.proconf.g3d.csg.stubs" : String
\r
23 CSGNamespace : Namespace
\r
24 PartOf TypeSystemNamespaces
\r
25 HasNamespace "http://www.vtt.fi/Simantics/CSG/1.0" : URI
\r
26 HasNamespaceRoot CSGOntology
\r
29 CSGProjectType <T ProjectType
\r
30 CSGProject : CSGProjectType <T Project
\r
34 CSGModel <T G3DModel
\r
35 Primitive <T CSGShape
\r
36 [HasSizingProperty card "0..*"]
\r
37 HasMainShape <R HasGeometryDefinition
\r
38 HasDomain [BooleanOperation]
\r
40 HasSecondaryShape <R HasGeometryDefinition
\r
41 HasDomain [BooleanOperation]
\r
43 BooleanOperation <T CSGShape
\r
44 [HasMainShape card "0..1"]
\r
45 [HasSecondaryShape card "0..*"]
\r
46 Difference <T BooleanOperation
\r
47 Intersection <T BooleanOperation
\r
48 Union <T BooleanOperation
\r
49 HasSizingProperty <R HasNonTransformation
\r
50 HasXAxisSize @ "Has X Axis Size" <R HasSizingProperty
\r
52 HasYAxisSize @ "Has Y Axis Size" <R HasSizingProperty
\r
54 HasZAxisSize @ "Has Z Axis Size" <R HasSizingProperty
\r
56 HasXAxisMinimumSize @ "Has X Axis Minimum Size" <R HasSizingProperty
\r
58 HasZAxisMinimumSize @ "Has Z Axis Minimum Size" <R HasSizingProperty
\r
60 HasXAxisMaximumSize @ "Has X Axis Maximum Size" <R HasSizingProperty
\r
62 HasZAxisMaximumSize @ "Has Z Axis Maximum Size" <R HasSizingProperty
\r
64 HasRadius <R HasSizingProperty
\r
66 HasMajorRadius <R HasSizingProperty
\r
68 HasMinorRadius <R HasSizingProperty
\r
70 HasTopRadius <R HasSizingProperty
\r
72 HasBottomRadius <R HasSizingProperty
\r
74 HasHeight <R HasSizingProperty
\r
76 HasCorners <R HasSizingProperty
\r
79 [HasXAxisSize card "1"]
\r
80 [HasYAxisSize card "1"]
\r
81 [HasZAxisSize card "1"]
\r
83 [HasRadius card "1"]
\r
85 [HasTopRadius card "1"]
\r
86 [HasBottomRadius card "1"]
\r
87 [HasHeight card "1"]
\r
88 Cylinder <T Primitive
\r
89 [HasRadius card "1"]
\r
90 [HasHeight card "1"]
\r
92 [HasMinorRadius card "1"]
\r
93 [HasMajorRadius card "1"]
\r
94 [HasHeight card "1"]
\r
95 EllipticCylinder <T Primitive
\r
96 [HasMinorRadius card "1"]
\r
97 [HasMajorRadius card "1"]
\r
98 [HasHeight card "1"]
\r
99 RegularPrism <T Primitive
\r
100 [HasHeight card "1"]
\r
101 [HasRadius card "1"]
\r
102 [HasCorners card "1"]
\r
104 [HasMinorRadius card "1"]
\r
105 [HasMajorRadius card "1"]
\r
106 RectangularSolid <T Primitive
\r
107 [HasXAxisMinimumSize card "1"]
\r
108 [HasXAxisMaximumSize card "1"]
\r
109 [HasYAxisSize card "1"]
\r
110 [HasZAxisMinimumSize card "1"]
\r
111 [HasZAxisMaximumSize card "1"]
\r
113 csgViewpointLibrary @ "Viewpoint Library" : ViewpointLibrary
\r
115 csgState @ _ : ViewpointState
\r
116 csgTraversalRule @ _ : RelationBasedTraversalRule
\r
117 HasContext csgState
\r
118 L0.HasTargetState csgState
\r
119 AcceptsRelation HasChild
\r
120 csgAcceptRule @ _ : AcceptAllResourceAcceptRule
\r
121 CSGStructureViewpoint @ "CSG Structure Viewpoint" : ResourceViewpoint
\r
122 HasInitialState csgState
\r
123 HasTraversalRule csgTraversalRule
\r
124 HasResourceAcceptRule csgAcceptRule
\r
125 PartOf csgViewpointLibrary
\r