]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.csg/src/org/simantics/g3d/csg/wizard/CSGExportPage.java
3D framework (Simca 2012)
[simantics/3d.git] / org.simantics.g3d.csg / src / org / simantics / g3d / csg / wizard / CSGExportPage.java
diff --git a/org.simantics.g3d.csg/src/org/simantics/g3d/csg/wizard/CSGExportPage.java b/org.simantics.g3d.csg/src/org/simantics/g3d/csg/wizard/CSGExportPage.java
new file mode 100644 (file)
index 0000000..c9354d3
--- /dev/null
@@ -0,0 +1,51 @@
+package org.simantics.g3d.csg.wizard;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.common.NamedResource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.g3d.csg.ontology.CSG;\r
+import org.simantics.g3d.wizard.ModelExportWizardPage;\r
+import org.simantics.layer0.Layer0;\r
+\r
+public class CSGExportPage extends ModelExportWizardPage<CSGExportModel> {\r
+       \r
+\r
+    \r
+       public CSGExportPage(CSGExportModel model) {\r
+               super("Export CSG Model","Define Export Location",null,model);\r
+       }\r
+       \r
+       @Override\r
+       public String[] getFilterExtensions() {\r
+               return new String[]{"*.brep"};\r
+       }\r
+       \r
+       @Override\r
+       public String[] getFilterNames() {\r
+               return new String[]{"OpenCASCADE Brep file"};\r
+       }\r
+       \r
+       \r
+       @Override\r
+       protected List<NamedResource> getSupportedModels(ReadGraph graph, Resource project) throws DatabaseException {\r
+               List<NamedResource> models = new ArrayList<NamedResource>();\r
+               Layer0 L0 = Layer0.getInstance(graph);\r
+        CSG csg = CSG.getInstance(graph);\r
+        \r
+        for (Resource r : graph.getObjects(project, L0.ConsistsOf)) {\r
+                if (graph.isInstanceOf(r, csg.Model)) {\r
+                        models.add(new NamedResource((String)graph.getRelatedValue(r, L0.HasName), r));\r
+                }\r
+        }\r
+        return models;\r
+       }\r
+   \r
+\r
\r
+\r
+\r
+}\r