--- /dev/null
+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