+++ /dev/null
-%import "layer0.graph"\r
-%import "layer0.graph" L0\r
-%import "animation.graph"\r
-%import "g3d.graph"\r
-%define symmetric()\r
- $subject\r
- $layer0.InverseOf $subject\r
-%define tag($tagname)\r
- $subject\r
- $tagname $subject\r
-%deflib Type _ @ "Types" : TypeLibrary\r
- PartOf CSGOntology\r
-%deflib Relation _ @ "Relations" : RelationLibrary\r
- PartOf CSGOntology\r
-%deflib Library CSGOntology\r
-CSGOntology @ "CSG Ontology" : Ontology\r
- PartOf TypeSystemProject\r
- HasNamespace "http://www.vtt.fi/Simantics/CSG/1.0" : URI\r
- HasVersion "1.0" : Version\r
- HasResourceClass "org.simantics.proconf.g3d.csg.stubs.CSGResource" : String\r
- HasStubsPackage "org.simantics.proconf.g3d.csg.stubs" : String\r
-\r
-CSGNamespace : Namespace\r
- PartOf TypeSystemNamespaces\r
- HasNamespace "http://www.vtt.fi/Simantics/CSG/1.0" : URI\r
- HasNamespaceRoot CSGOntology\r
-\r
-# Project\r
-CSGProjectType <T ProjectType\r
-CSGProject : CSGProjectType <T Project\r
- PartOf ProjectTypes\r
- \r
-CSGShape <T Shape\r
-CSGModel <T G3DModel\r
-Primitive <T CSGShape\r
- [HasSizingProperty card "0..*"]\r
-HasMainShape <R HasGeometryDefinition\r
- HasDomain [BooleanOperation]\r
- HasRange [CSGShape]\r
-HasSecondaryShape <R HasGeometryDefinition\r
- HasDomain [BooleanOperation]\r
- HasRange [CSGShape]\r
-BooleanOperation <T CSGShape\r
- [HasMainShape card "0..1"]\r
- [HasSecondaryShape card "0..*"]\r
-Difference <T BooleanOperation\r
-Intersection <T BooleanOperation\r
-Union <T BooleanOperation\r
-HasSizingProperty <R HasNonTransformation\r
-HasXAxisSize @ "Has X Axis Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasYAxisSize @ "Has Y Axis Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasZAxisSize @ "Has Z Axis Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasXAxisMinimumSize @ "Has X Axis Minimum Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasZAxisMinimumSize @ "Has Z Axis Minimum Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasXAxisMaximumSize @ "Has X Axis Maximum Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasZAxisMaximumSize @ "Has Z Axis Maximum Size" <R HasSizingProperty\r
- HasRange [Double]\r
-HasRadius <R HasSizingProperty\r
- HasRange [Double]\r
-HasMajorRadius <R HasSizingProperty\r
- HasRange [Double]\r
-HasMinorRadius <R HasSizingProperty\r
- HasRange [Double]\r
-HasTopRadius <R HasSizingProperty\r
- HasRange [Double]\r
-HasBottomRadius <R HasSizingProperty\r
- HasRange [Double]\r
-HasHeight <R HasSizingProperty\r
- HasRange [Double]\r
-HasCorners <R HasSizingProperty\r
- HasRange [Integer]\r
-Box <T Primitive\r
- [HasXAxisSize card "1"]\r
- [HasYAxisSize card "1"]\r
- [HasZAxisSize card "1"]\r
-Sphere <T Primitive\r
- [HasRadius card "1"]\r
-Cone <T Primitive\r
- [HasTopRadius card "1"]\r
- [HasBottomRadius card "1"]\r
- [HasHeight card "1"]\r
-Cylinder <T Primitive\r
- [HasRadius card "1"]\r
- [HasHeight card "1"]\r
-Barrel <T Primitive\r
- [HasMinorRadius card "1"]\r
- [HasMajorRadius card "1"]\r
- [HasHeight card "1"]\r
-EllipticCylinder <T Primitive\r
- [HasMinorRadius card "1"]\r
- [HasMajorRadius card "1"]\r
- [HasHeight card "1"]\r
-RegularPrism <T Primitive\r
- [HasHeight card "1"]\r
- [HasRadius card "1"]\r
- [HasCorners card "1"]\r
-Torus <T Primitive\r
- [HasMinorRadius card "1"]\r
- [HasMajorRadius card "1"]\r
-RectangularSolid <T Primitive\r
- [HasXAxisMinimumSize card "1"]\r
- [HasXAxisMaximumSize card "1"]\r
- [HasYAxisSize card "1"]\r
- [HasZAxisMinimumSize card "1"]\r
- [HasZAxisMaximumSize card "1"]\r
-\r
-csgViewpointLibrary @ "Viewpoint Library" : ViewpointLibrary\r
- PartOf CSGOntology\r
-csgState @ _ : ViewpointState\r
-csgTraversalRule @ _ : RelationBasedTraversalRule\r
- HasContext csgState\r
- L0.HasTargetState csgState\r
- AcceptsRelation HasChild\r
-csgAcceptRule @ _ : AcceptAllResourceAcceptRule\r
-CSGStructureViewpoint @ "CSG Structure Viewpoint" : ResourceViewpoint\r
- HasInitialState csgState\r
- HasTraversalRule csgTraversalRule\r
- HasResourceAcceptRule csgAcceptRule\r
- PartOf csgViewpointLibrary\r