Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / gui / figure3d / Quick3dMain.java
diff --git a/core/src/net/sf/openrocket/gui/figure3d/Quick3dMain.java b/core/src/net/sf/openrocket/gui/figure3d/Quick3dMain.java
new file mode 100644 (file)
index 0000000..d7c2e84
--- /dev/null
@@ -0,0 +1,76 @@
+package net.sf.openrocket.gui.figure3d;\r
+import java.awt.BorderLayout;\r
+\r
+import javax.swing.JFrame;\r
+import javax.swing.JPanel;\r
+\r
+import net.sf.openrocket.database.ComponentPresetDatabase;\r
+import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;\r
+import net.sf.openrocket.document.OpenRocketDocument;\r
+import net.sf.openrocket.file.DatabaseMotorFinder;\r
+import net.sf.openrocket.file.openrocket.importt.OpenRocketLoader;\r
+import net.sf.openrocket.gui.main.componenttree.ComponentTree;\r
+import net.sf.openrocket.gui.scalefigure.RocketPanel;\r
+import net.sf.openrocket.gui.util.SwingPreferences;\r
+import net.sf.openrocket.l10n.ResourceBundleTranslator;\r
+import net.sf.openrocket.startup.Application;\r
+\r
+/**\r
+ * An application for quickly testing 3d figure witout all the OpenRocket user interface\r
+ * \r
+ * @author bkuker\r
+ *\r
+ */\r
+public class Quick3dMain {\r
+\r
+       /**\r
+        * @param args\r
+        */\r
+       public static void main(String[] args) throws Exception {\r
+               Application.setBaseTranslator(new ResourceBundleTranslator(\r
+                               "l10n.messages"));\r
+               Application.setMotorSetDatabase(new ThrustCurveMotorSetDatabase(false) {\r
+                       {\r
+                               startLoading();\r
+                       }\r
+\r
+                       @Override\r
+                       protected void loadMotors() {\r
+                       }\r
+               });\r
+               Application.setPreferences(new SwingPreferences());\r
+               \r
+               // Must be done after localization is initialized\r
+               ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase() {\r
+\r
+                       @Override\r
+                       protected void load() {\r
+                               // This test app doesn't need any presets loaded - just an empty database.\r
+                       }\r
+                       \r
+               };\r
+               Application.setComponentPresetDao( componentPresetDao );\r
+\r
+               OpenRocketDocument doc = new OpenRocketLoader().loadFromStream(\r
+                               Quick3dMain.class.getResourceAsStream("/datafiles/examples/Clustered rocket design.ork"),\r
+                               new DatabaseMotorFinder());\r
+\r
+               JFrame ff = new JFrame();\r
+               ff.setSize(1200, 400);\r
+               ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r
+\r
+               RocketPanel panel;\r
+\r
+               panel = new RocketPanel(doc);\r
+\r
+               ComponentTree ct = new ComponentTree(doc);\r
+               panel.setSelectionModel(ct.getSelectionModel());\r
+\r
+               JPanel p = new JPanel();\r
+               p.setLayout(new BorderLayout());\r
+               p.add(ct, BorderLayout.WEST);\r
+               p.add(panel, BorderLayout.CENTER);\r
+               ff.setContentPane(p);\r
+               ff.setVisible(true);\r
+       }\r
+}\r