]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.structural.ontology/graph/Structural.pgraph
Define ConnectionRelationType to make searching of instances possible
[simantics/platform.git] / bundles / org.simantics.structural.ontology / graph / Structural.pgraph
index aa31879c524944a994d17f72065de7d328036170..cf6f05ab2a087fcf9b2edac0178d415b97841ae4 100644 (file)
@@ -36,6 +36,8 @@ STR.AbstractDefinedComponentType <T STR.ComponentType
 
 STR.DefinedComponentType <T STR.AbstractDefinedComponentType
 
+STR.ReplaceableDefinedComponentType <T STR.AbstractDefinedComponentType
+
 STR.ProceduralComponentType <T STR.AbstractDefinedComponentType
     >-- STR.ProceduralComponentType.code --> STR.ProceduralComponentTypeCode <R L0.HasProperty : L0.TotalFunction
     >-- STR.ProceduralComponentType.environment --> L0.SCLValue.Environment <R L0.IsRelatedTo : L0.FunctionalRelation
@@ -111,7 +113,9 @@ STR.ConnectionVariable <T STR.Variable <T STR.Connection
 STR.Functions.connectionValueAccessor : L0.ExternalValue
     L0.HasValueType "ValueAccessor"
 
-STR.ConnectionRelation <T L0.Relation
+STR.ConnectionRelationType <T L0.Type
+
+STR.ConnectionRelation <T L0.Relation : STR.ConnectionRelationType
     @L0.assert L0.SharedRange STR.ConnectionRelation
     >-- STR.ConnectionRelation.connectionRequired --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
     >-- STR.ConnectionRelation.equivalentConnectionPoint --> STR.ConnectionRelation <R L0.IsRelatedTo
@@ -262,6 +266,10 @@ STR.Component
   @L0.assert L0.domainChildren 
     STR.Functions.structuralChildDomainChildren : L0.ExternalValue
       L0.HasValueType "VariableMap"
+  @L0.assert L0.typeResource
+    _ : L0.SCLValue
+      L0.SCLValue.expression "structuralTypeResource"
+      L0.HasValueType "Variable -> Resource -> <ReadGraph> Resource"
 
 STR.Run
   @L0.assert L0.domainChildren 
@@ -343,4 +351,10 @@ STR.ComponentTypeScript <T L0.Entity
 STR.ComponentType.Locked
     @L0.defTag
     L0.HasDomain STR.ComponentType
-    L0.HasDescription "Indicates that the component type is locked and cannot be opened for editing."
\ No newline at end of file
+    L0.HasDescription "Indicates that the component type is locked and cannot be opened for editing."
+    
+STR.TypeOverride <T L0.Entity
+    >-- STR.TypeOverride.HasOriginalType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction
+    >-- STR.TypeOverride.HasReplacementType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction 
+STR.HasTypeOverride --> STR.TypeOverride <R L0.IsRelatedTo    
\ No newline at end of file