+package org.simantics.g3d.scenegraph.structural;\r
+\r
+import java.util.Collection;\r
+\r
+import org.simantics.layer0.Layer0;\r
+import org.simantics.objmap.graph.annotations.RelatedElementsAdd;\r
+import org.simantics.objmap.graph.annotations.RelatedElementsGet;\r
+import org.simantics.objmap.graph.annotations.RelatedElementsRem;\r
+import org.simantics.objmap.structural.annotations.TypeRelatedElementsAdd;\r
+import org.simantics.objmap.structural.annotations.TypeRelatedElementsGet;\r
+import org.simantics.objmap.structural.annotations.TypeRelatedElementsRem;\r
+\r
+public interface IStructuralRootNode extends IStructuralNode {\r
+ \r
+ @RelatedElementsAdd(Layer0.URIs.ConsistsOf)\r
+ public void addComponent(IStructuralNode node);\r
+ @RelatedElementsGet(Layer0.URIs.ConsistsOf)\r
+ public Collection<IStructuralNode> getComponent();\r
+ @RelatedElementsRem(Layer0.URIs.ConsistsOf)\r
+ public void removeComponent(IStructuralNode node);\r
+ \r
+ @TypeRelatedElementsAdd(Layer0.URIs.ConsistsOf)\r
+ public void addTypeComponent(IStructuralNode node);\r
+ @TypeRelatedElementsGet(Layer0.URIs.ConsistsOf)\r
+ public Collection<IStructuralNode> getTypeComponent();\r
+ @TypeRelatedElementsRem(Layer0.URIs.ConsistsOf)\r
+ public void removeTypeComponent(IStructuralNode node);\r
+ \r
+ @RelatedElementsAdd(Layer0.URIs.DomainOf)\r
+ public void addPublished(IStructuralNode node);\r
+ @RelatedElementsGet(Layer0.URIs.DomainOf)\r
+ public Collection<IStructuralNode> getPublished();\r
+ @RelatedElementsRem(Layer0.URIs.DomainOf)\r
+ public void removePublished(IStructuralNode node);\r
+ \r
+ @TypeRelatedElementsAdd(Layer0.URIs.DomainOf)\r
+ public void addTypePublished(IStructuralNode node);\r
+ @TypeRelatedElementsGet(Layer0.URIs.DomainOf)\r
+ public Collection<IStructuralNode> getTypePublished();\r
+ @TypeRelatedElementsRem(Layer0.URIs.DomainOf)\r
+ public void removeTypePublished(IStructuralNode node);\r
+\r
+}\r