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
45 componentPresetDao.load("datafiles", ".*csv");
\r
46 Application.setComponentPresetDao( componentPresetDao );
\r
48 OpenRocketDocument doc = new OpenRocketLoader().loadFromStream(
\r
49 Quick3dMain.class.getResourceAsStream("/datafiles/examples/Clustered rocket design.ork"),
\r
50 new DatabaseMotorFinder());
\r
52 JFrame ff = new JFrame();
\r
53 ff.setSize(1200, 400);
\r
54 ff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
\r
58 panel = new RocketPanel(doc);
\r
60 ComponentTree ct = new ComponentTree(doc);
\r
61 panel.setSelectionModel(ct.getSelectionModel());
\r
63 JPanel p = new JPanel();
\r
64 p.setLayout(new BorderLayout());
\r
65 p.add(ct, BorderLayout.WEST);
\r
66 p.add(panel, BorderLayout.CENTER);
\r
67 ff.setContentPane(p);
\r
68 ff.setVisible(true);
\r