]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d.ontology/graph/plant3d.pgraph
Support for inline component rotations
[simantics/3d.git] / org.simantics.plant3d.ontology / graph / plant3d.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 PROJ = <http://www.simantics.org/Project-1.2>
3 SIM = <http://www.simantics.org/Simulation-1.1>
4 //STR = <http://www.simantics.org/Structural-1.2>
5 G3D = <http://www.simantics.org/G3D-0.1>
6
7 P3D = <http://www.simantics.org/Plant3D-0.1> : L0.Ontology
8     @L0.new
9     L0.HasResourceClass "org.simantics.plant3d.ontology.Plant3D" : L0.String
10     
11 P3D.ImportedOntologies : PROJ.NamespaceRequirement
12     L0.HasDescription "Specifies the ontologies required by a Plant3D Feature." : L0.String
13     PROJ.RequiresNamespace
14         "http://www.simantics.org/Layer0-1.0" : L0.URI
15         "http://www.simantics.org/Simulation-1.0" : L0.URI
16         
17 P3D.Node <T G3D.Node 
18   
19 P3D.Plant <T G3D.RootNode <T P3D.Node
20
21
22 P3D.childen <R G3D.children
23
24 P3D.hasGeometry <R L0.IsWeaklyRelatedTo
25    
26 P3D.LibraryComponent <T P3D.Node
27
28 P3D.Equipment <T P3D.LibraryComponent
29
30 P3D.PipeRun <T P3D.Node
31
32 P3D.PipelineComponent <T P3D.LibraryComponent
33
34 P3D.Nozzle <T P3D.LibraryComponent
35     //[HasPipeDiameter card "1"]
36     //[HasLength card "1"]
37
38 P3D.PipelineComponentTag <R L0.IsWeaklyRelatedTo
39
40 P3D.SingleConnectedComponent <R P3D.PipelineComponentTag 
41     L0.HasDescription "A component that is connected to only one component" : L0.String
42 P3D.DualConnectedComponent <R P3D.PipelineComponentTag 
43     L0.HasDescription "A component that is connected to two components" : L0.String
44 P3D.MultiConnectedComponent <R P3D.PipelineComponentTag 
45     L0.HasDescription "A component that is connected to more than two components" : L0.String
46
47 P3D.InlineComponent <T P3D.PipelineComponent
48     L0.HasDescription "Component that connects to two or more components, and maintains direction of (main) pipe run. Centerline of main pipeline may have offset: with offset there is two control points for main pipeline, and without offset, there is only one control point for main pipeline. The component may also join two pipe runs together: then there is always one control point for one pipe run." : L0.String
49     //[HasLength card "1"]
50 P3D.EndComponent <T P3D.PipelineComponent
51     L0.HasDescription "Component that ends the pipe run Component may contain other control points" : L0.String
52 P3D.TurnComponent <T P3D.PipelineComponent
53     L0.HasDescription "Component that changes direction of the pipeline Component that connects to two or more components, and specifies connectivity of main pipe run. Is base type for elbows, pipe bends, etc., but also for components that won't maintain main pipeline direction (inline component). CHECK!!!" : L0.String
54     //[HasTurnAngle card "1"]
55     
56 P3D.FixedLengthInlineComponent <R P3D.PipelineComponentTag
57     L0.HasDescription "Inline component that has fixed length" : L0.String
58     //[HasRotationAngle card "1"]
59 P3D.VariableLengthInlineComponent <R P3D.PipelineComponentTag
60     L0.HasDescription "Inline component whose length can be changed" : L0.String
61 P3D.FixedAngleTurnComponent <R P3D.PipelineComponentTag
62     L0.HasDescription "Turn Component that has specific turning angle that cannot be changed" : L0.String
63     //[HasRotationAngle card "1"]
64 P3D.VariableAngleTurnComponent <R P3D.PipelineComponentTag
65     L0.HasDescription "Turn Component whose turning angle can be modified Contains always one control point (there are no contradictory cases / how to calculate?)" : L0.String
66     //[HasTurnRadius card "1"]
67 P3D.SizeChangeComponent <R P3D.PipelineComponentTag
68     L0.HasDescription "Component that changes pipe run along main pipeline. (Spec change)" : L0.String
69 P3D.OffsetComponent<R P3D.PipelineComponentTag
70     L0.HasDescription "Component that offsets the center of piperun." : L0.String
71 P3D.RotateComponent<R P3D.PipelineComponentTag
72     L0.HasDescription "Inline Component that can be rotated around pipe axis." : L0.String    
73 P3D.CodeComponent <T P3D.PipelineComponentTag
74     L0.HasDescription "Component that cannot be added directly by user" : L0.String
75 P3D.NonVisibleComponent <R P3D.PipelineComponentTag
76     L0.HasDescription "(Pseudo) Component that cannot bee seen." : L0.String
77
78     
79
80
81 // relation and property definitions
82
83 P3D.Connects <R L0.IsWeaklyRelatedTo
84     L0.HasDomain P3D.PipelineComponent
85     L0.HasRange P3D.PipelineComponent
86 P3D.HasNext <R P3D.Connects
87     L0.HasDescription "Next point in the piperun" : L0.String
88     L0.InverseOf P3D.NextInverse <R L0.IsWeaklyRelatedTo
89 P3D.HasPrevious <R P3D.Connects
90     L0.HasDescription "Previous point in the piperun" : L0.String
91     L0.InverseOf P3D.PreviousInverse <R L0.IsWeaklyRelatedTo
92 // connections for branches (Objmap requires separate relations!?)
93 P3D.HasBranch0 <R P3D.Connects
94 P3D.HasBranch1 <R P3D.Connects
95 P3D.HasBranch2 <R P3D.Connects
96 P3D.HasBranch3 <R P3D.Connects
97 P3D.HasBranch4 <R P3D.Connects
98 P3D.HasBranch5 <R P3D.Connects
99 P3D.HasBranch6 <R P3D.Connects
100 P3D.HasBranch7 <R P3D.Connects
101 P3D.HasBranch8 <R P3D.Connects
102 P3D.HasBranch9 <R P3D.Connects
103     
104 P3D.HasPipeDiameter <R G3D.hasNonTransformation
105     L0.HasRange L0.Double
106 //P3D.HasLength <R G3D.hasNonTransformation
107 //    L0.HasRange L0.Double
108 //P3D.HasTurnAngle <R G3D.hasNonTransformation
109 //    L0.HasRange L0.Double
110 P3D.HasRotationAngle <R G3D.hasTransformation
111     L0.HasRange L0.Double
112 //P3D.HasOffset <R L0.HasProperty
113 //    L0.HasRange L0.Double
114 //HasRelativePosition <R HasProperty
115 //    HasRange [Position]
116 //HasRelativeDirection <R HasProperty
117 //    HasRange [Tuple3]
118 //HasDirection <R HasProperty
119 //    HasRange [Tuple3]  
120 P3D.HasTurnRadius <R G3D.hasNonTransformation
121     L0.HasRange L0.Double   
122 P3D.IsReversed <R L0.HasProperty
123     L0.HasRange L0.Boolean
124 P3D.HasTurnAxis <R G3D.hasTransformation
125     L0.HasRange G3D.Tuple3D
126     
127 P3D.HasNozzleDefinition <R L0.HasProperty
128     L0.HasDomain P3D.Equipment
129     L0.HasRange P3D.Nozzle
130     L0.HasDescription "This relation is used to connect nozzles to equipment in the template. For instantiated equipment nozzles must be connected with HasNozzle relation." : L0.String  
131 P3D.HasNozzle <R G3D.children
132     L0.InverseOf P3D.NozzleOf
133     L0.HasDomain P3D.Equipment
134     L0.HasRange P3D.Nozzle
135     L0.HasDescription "Used to connect nozzles to equipment." : L0.String
136 P3D.HasNozzleRestriction <R L0.HasProperty
137     L0.HasDescription "Used in template equipment to restrict amount of nozzles. If template has as many nozzleDefinitions that maximum count in this restriction, user cannot add new nozzles to the equipment instance." : L0.String
138
139 P3D.HasNozzleId <R L0.HasProperty
140     L0.HasDomain P3D.Nozzle
141     L0.HasRange L0.Integer
142
143 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
144     L0.HasDomain P3D.Nozzle
145     L0.HasRange P3D.PipeRun
146     
147 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
148     L0.HasDomain P3D.PipelineComponent
149     L0.HasRange P3D.PipeRun
150     
151 P3D.Parameter <T L0.Entity
152     
153 P3D.hasParameter <R L0.IsRelatedTo
154    L0.HasDomain P3D.Node
155    L0.HasRange P3D.Parameter    
156     
157 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
158    L0.HasDomain P3D.Parameter
159    L0.HasRange L0.Literal
160