]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/src/org/simantics/plant3d/scl/SCLUtil.java
Ask component rotation angle when adding components
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / scl / SCLUtil.java
index 4c4b6d5760a6f40b68533dba92a67b741585fc27..e892106d08bd891ba88fdd1e5146dc7f3abf880e 100644 (file)
@@ -5,6 +5,7 @@ import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.request.Read;
+import org.simantics.g3d.scenegraph.base.INode;
 import org.simantics.objmap.graph.IMapping;
 import org.simantics.objmap.graph.Mappings;
 import org.simantics.objmap.graph.schema.IMappingSchema;
@@ -19,11 +20,11 @@ import org.simantics.plant3d.utils.P3DUtil;
 public class SCLUtil {
 
        public static interface SchemaProvider {
-               IMappingSchema<Resource,Object> get(ReadGraph graph) throws DatabaseException;
+               IMappingSchema<Resource,INode> get(ReadGraph graph) throws DatabaseException;
        }
 
        public static interface NodeMapProvider {
-               P3DScriptNodeMap get(IMapping<Resource, Object> mapping, P3DRootNode rootNode);
+               P3DScriptNodeMap get(IMapping<Resource, INode> mapping, P3DRootNode rootNode);
        }
        
        public static P3DScriptNodeMap load(final Resource root) throws DatabaseException {
@@ -55,10 +56,10 @@ public class SCLUtil {
                        @Override
                        public NodeMap perform(ReadGraph graph) throws DatabaseException {
                                PipingRules.setEnabled(false);
-                               IMappingSchema<Resource, Object> schema = schemaProvider.get(graph);
-                               IMapping<Resource, Object> mapping = Mappings.createWithListening(schema);
+                               IMappingSchema<Resource, INode> schema = schemaProvider.get(graph);
+                               IMapping<Resource, INode> mapping = Mappings.createWithListening(schema);
                                P3DRootNode rootNode = (P3DRootNode) mapping.map(graph, root);
-                               rootNode.setMapping((IMapping)mapping);
+                               rootNode.setMapping(mapping);
                                try {
                                        P3DUtil.finalizeDBLoad(rootNode);
                                        // FIXME: Something needs to be done here...
@@ -80,11 +81,11 @@ public class SCLUtil {
                        @Override
                        public Root perform(ReadGraph graph) throws DatabaseException {
                                PipingRules.setEnabled(false);
-                               IMappingSchema<Resource, Object> schema = schemaProvider.get(graph);
-                               IMapping<Resource, Object> mapping = Mappings.createWithoutListening(schema);
+                               IMappingSchema<Resource, INode> schema = schemaProvider.get(graph);
+                               IMapping<Resource, INode> mapping = Mappings.createWithoutListening(schema);
                                @SuppressWarnings("unchecked")
                                Root rootNode = (Root) mapping.map(graph, root);
-                               rootNode.setMapping((IMapping)mapping);
+                               rootNode.setMapping(mapping);
                                try {
                                        P3DUtil.finalizeDBLoad(rootNode);
                                        P3DUtil.finalizeDBLoad2(rootNode);