1 package net.sf.openrocket.gui.figure3d;
\r
2 import java.awt.BorderLayout;
\r
4 import javax.swing.JFrame;
\r
5 import javax.swing.JPanel;
\r
7 import net.sf.openrocket.database.ComponentPresetDatabase;
\r
8 import net.sf.openrocket.database.ThrustCurveMotorSetDatabase;
\r
9 import net.sf.openrocket.document.OpenRocketDocument;
\r
10 import net.sf.openrocket.file.DatabaseMotorFinder;
\r
11 import net.sf.openrocket.file.openrocket.importt.OpenRocketLoader;
\r
12 import net.sf.openrocket.gui.main.componenttree.ComponentTree;
\r
13 import net.sf.openrocket.gui.scalefigure.RocketPanel;
\r
14 import net.sf.openrocket.gui.util.SwingPreferences;
\r
15 import net.sf.openrocket.l10n.ResourceBundleTranslator;
\r
16 import net.sf.openrocket.startup.Application;
\r
19 * An application for quickly testing 3d figure witout all the OpenRocket user interface
\r
24 public class Quick3dMain {
\r
29 public static void main(String[] args) throws Exception {
\r
30 Application.setBaseTranslator(new ResourceBundleTranslator(
\r
32 Application.setMotorSetDatabase(new ThrustCurveMotorSetDatabase(false) {
\r
38 protected void loadMotors() {
\r
41 Application.setPreferences(new SwingPreferences());
\r
43 // Must be done after localization is initialized
\r
44 ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase() {
\r
47 protected void load() {
\r
48 // This test app doesn't need any presets loaded - just an empty database.
\r
52 Application.setComponentPresetDao( componentPresetDao );
\r
54 OpenRocketDocument doc = new OpenRocketLoader().loadFromStream(
\r
55 Quick3dMain.class.getResourceAsStream("/datafiles/examples/Clustered rocket design.ork"),
\r
56 new DatabaseMotorFinder());
\r
58 JFrame ff = new JFrame();
\r
59 ff.setSize(1200, 400);
\r
60 ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
\r
64 panel = new RocketPanel(doc);
\r
66 ComponentTree ct = new ComponentTree(doc);
\r
67 panel.setSelectionModel(ct.getSelectionModel());
\r
69 JPanel p = new JPanel();
\r
70 p.setLayout(new BorderLayout());
\r
71 p.add(ct, BorderLayout.WEST);
\r
72 p.add(panel, BorderLayout.CENTER);
\r
73 ff.setContentPane(p);
\r
74 ff.setVisible(true);
\r