import java.awt.event.MouseAdapter;\r
import java.awt.event.MouseEvent;\r
import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.IOException;\r
import java.util.HashSet;\r
import java.util.Iterator;\r
import java.util.List;\r
import net.sf.openrocket.aerodynamics.Warning;\r
import net.sf.openrocket.document.OpenRocketDocument;\r
import net.sf.openrocket.document.Simulation;\r
+import net.sf.openrocket.file.DatabaseMotorFinder;\r
import net.sf.openrocket.file.RocketLoadException;\r
-import net.sf.openrocket.file.openrocket.OpenRocketLoader;\r
+import net.sf.openrocket.file.openrocket.importt.OpenRocketLoader;\r
import net.sf.openrocket.gui.plot.PlotConfiguration;\r
import net.sf.openrocket.gui.plot.SimulationPlotDialog;\r
import net.sf.openrocket.gui.util.SwingPreferences;\r
static {\r
Application.setBaseTranslator(new ResourceBundleTranslator(\r
"l10n.messages"));\r
- Application.setMotorSetDatabase(new OneMotorDatabase());\r
+ //Application.setMotorSetDatabase(new OneMotorDatabase());\r
Application.setPreferences(new SwingPreferences());\r
\r
}\r
preferredUnitsChanged();\r
}\r
\r
- public void openRocket(File f) throws RocketLoadException {\r
- this.doc = new OpenRocketLoader().load(f);\r
+ public void openRocket(File f) throws RocketLoadException, IOException {\r
+ this.doc = new OpenRocketLoader().loadFromStream(new FileInputStream(f), new DatabaseMotorFinder());\r
// JPanel rocketInfo = new JPanel();\r
// JLabel name = new JLabel("File: " + f.getAbsolutePath());\r
// rocketInfo.add(name);\r
import javax.swing.JSeparator;\r
import javax.swing.JTabbedPane;\r
\r
-import net.sf.openrocket.file.RocketLoadException;\r
-\r
import org.apache.log4j.Logger;\r
\r
import com.billkuker.rocketry.motorsim.Burn;\r
log.warn("Opening File " + file.getAbsolutePath());\r
try {\r
rst.openRocket(file);\r
- } catch (RocketLoadException e) {\r
+ } catch (Exception e) {\r
log.error(e);\r
}\r
}\r
--- /dev/null
+<object-stream>\r
+ <com.billkuker.rocketry.motorsim.Motor>\r
+ <chamber class="com.billkuker.rocketry.motorsim.CylindricalChamber">\r
+ <ID>100 mm</ID>\r
+ <OD>120 mm</OD>\r
+ <length>920 mm</length>\r
+ </chamber>\r
+ <fuel class="com.billkuker.rocketry.motorsim.fuel.KNDX"\r
+ serialization="custom">\r
+ <java.net.URI>\r
+ <default>\r
+ <string>motorsim:KNDX</string>\r
+ </default>\r
+ </java.net.URI>\r
+ </fuel>\r
+ <grain class="com.billkuker.rocketry.motorsim.grain.MultiGrain">\r
+ <count>4</count>\r
+ <grain class="com.billkuker.rocketry.motorsim.grain.MultiPort">\r
+ <aftEndInhibited>false</aftEndInhibited>\r
+ <coreD>15 mm</coreD>\r
+ <foreEndInhibited>false</foreEndInhibited>\r
+ <inhibitOutside>true</inhibitOutside>\r
+ <length>215 mm</length>\r
+ <oD>100 mm</oD>\r
+ <r1Count>5</r1Count>\r
+ <r1D>15 mm</r1D>\r
+ <r1Offset>20 mm</r1Offset>\r
+ <r2Count>9</r2Count>\r
+ <r2D>15 mm</r2D>\r
+ <r2Offset>40 mm</r2Offset>\r
+ <ringTwoRot>20 °</ringTwoRot>\r
+ </grain>\r
+ <spacing>6 mm</spacing>\r
+ </grain>\r
+ <name>New Motor 1</name>\r
+ <nozzle class="com.billkuker.rocketry.motorsim.ConvergentDivergentNozzle">\r
+ <efficiency>0.85</efficiency>\r
+ <exitDiameter>90 mm</exitDiameter>\r
+ <throatDiameter>33 mm</throatDiameter>\r
+ </nozzle>\r
+ </com.billkuker.rocketry.motorsim.Motor>\r
+</object-stream>
\ No newline at end of file