470 Commits

Author SHA1 Message Date
Kevin Ruland
85f5194c6d Correct the computation of shape mass in integrate() by computing the mass based on the integrated volume * density instead of using the super.getComponentMass(). super.getComponentMass() includes the mass of the shape as well as the shoulders. 2012-05-23 14:47:46 +00:00
Kevin Ruland
32ad0c1df6 Change the textual representation of fractional units to use Unicode superscripts and subscripts. Unfortunately, the default fonts included with iText do not have these characters mapped so we needed to switch to a new true type font DejaVu. Added the DejaVuSerif font definition to the resources and modified the pdf writing process to use this font. Because this font is slightly wider, the column headings in the DesignReport had to be made smaller. Finally, had to modify the ExpressionParser to convert the unicode chars to real digits in order to have the expression parser be able to work with this representation. 2012-05-22 18:36:04 +00:00
Kevin Ruland
f42e6fa85a Remove the old FractionUtil class containing the parser since we're using exp4j now. 2012-05-22 18:32:21 +00:00
Kevin Ruland
7cba979236 Change the in/64 length unit to not allow decimal representations by constructing it with an epsilon of 0.5/64. 2012-05-22 18:29:57 +00:00
Kevin Ruland
473300fa11 Use the fonts defined in PrintUtilities instead of constructing a new font every time. 2012-05-22 18:12:47 +00:00
Sampo Niskanen
9552b2de86 Expression parser updates 2012-05-22 04:11:25 +00:00
Doug Pedrick
e3f173d83e Fix to streamer loading of materials; missing material in Giant Leaps file. 2012-05-21 04:36:20 +00:00
Doug Pedrick
798f631259 Cleanup and tweaks to unit widths. 2012-05-18 04:10:26 +00:00
Kevin Ruland
c997b7bfd3 Added imperial and SI defaults for UNITS_WINDSPEED. 2012-05-17 14:23:10 +00:00
Richard Graham
5320377719 Added ability for doublemodel to evaluate math expressions using exp4j, fixed typeover issue and made the doublemodel more robust to incorrect input. 2012-05-17 06:08:05 +00:00
Kevin Ruland
ba4ceccf26 Added convenience function RocketComponent.getMotorMounts() returning List<MotorMount>. 2012-05-16 06:49:04 +00:00
Kevin Ruland
7420f5c18b Added UNITS_WINDSPEED so the preferred units for entering wind speed can be configured separately from rocket velocities. 2012-05-16 06:36:58 +00:00
Kevin Ruland
672239535a Added clone() implementation to support the ThrustCurveMotor copy constructor. Added serialVersionUID constant from the previous implementation to provide backwards compatibility with serialzied data in the android database. 2012-05-16 06:18:54 +00:00
Kevin Ruland
34a5c097b7 Added protected copy constructor which makes a deep copy. This is used in the android application so ExtendedThrustCurveMotor can extend ThrustCurveMotor instead of use delegation. 2012-05-16 06:17:22 +00:00
Doug Pedrick
ed629bd227 Constrain preset editor on existing files to only use populated Materials; minor other cleanup. 2012-05-16 02:13:18 +00:00
Kevin Ruland
e1081d2df8 Change from ClassLoader.getSystemResourceAsStream to ClassLoader.getResourceAsStream since it is android safe. 2012-05-15 20:43:26 +00:00
Doug Pedrick
a6eda10fcc Rename to ComponentPresetEditor 2012-05-15 04:38:27 +00:00
Doug Pedrick
90ebc01268 Added ability to open *.csv files to menu. 2012-05-15 04:35:33 +00:00
Kevin Ruland
1ee93fdab0 Put the loadMotor() method back since it is useful to python bindings. 2012-05-15 04:28:14 +00:00
Doug Pedrick
538fa66415 Added menu bar and menu items. 2012-05-12 04:19:47 +00:00
Kevin Ruland
a9bbe0f642 Fix up the logic for showing and using the aft/fore match diameter switches. 2012-05-11 18:06:33 +00:00
Kevin Ruland
8b9ead892c Change epsilon in the row filter to be 5mm instead of 1mm. 2012-05-11 18:05:44 +00:00
Kevin Ruland
bd8db9cb10 Upon further investigation getMinimum and getMaximum in the SpinnerNumberModel is only used to determine the text box size. 2012-05-11 18:05:14 +00:00
Kevin Ruland
0cfdc91b2f Fix sorting on double columns. 2012-05-11 03:38:58 +00:00
Kevin Ruland
43dd248d8b Switch to a LinkedBlockingQueue in front of the loader thread pool because it eliminates RejectedExecutionExceptions. The down side is the generator will block when the queue is full. Oh well. 2012-05-11 03:21:27 +00:00
Doug Pedrick
7da68bcb1e Added delete button to preset row in table. 2012-05-11 03:02:35 +00:00
Doug Pedrick
8a5fd187b6 Refactored preset GUI for unit of measure spinners; added launch lug, parachute, and streamer editors. 2012-05-10 23:51:26 +00:00
Kevin Ruland
7681d40b76 A little refactoring of ComponentPreset xml file parsing since android does not support JAXB. 2012-05-10 14:38:36 +00:00
Jason Blood
64c3b0c83a Added PageFitPrintStrategy and related files to print multiple fins, transitions, and nosecones onto the same page(s) 2012-05-10 02:48:13 +00:00
Kevin Ruland
bd680c7e14 Added support for Unit 'in/64' which is inches with fractional representation. DoubleModel has one FIXME indicating that we need to reenable min & max in the abstract spinner model. 2012-05-10 02:48:07 +00:00
Kevin Ruland
7b093f79f8 Implement a multithreaded pipeline to load the component preset files. This greatly reduces the time to load them. 2012-05-09 02:01:57 +00:00
Kevin Ruland
692fcebb11 Give the threads names to facilitate thread performance analysis. 2012-05-09 02:00:54 +00:00
Kevin Ruland
51e2dfe6c7 Rework the ThrustCurve motor loading process to be highly parallel. This significantly reduced loading times. In order to achive this, the implementation of ZipDirectoryIterator.getNext() had to change to not close the iterator when it runs out of things. 2012-05-08 17:57:46 +00:00
Kevin Ruland
8c34d8488a Multithread the orc loading process. 2012-05-07 14:43:50 +00:00
Kevin Ruland
0ff0fe1364 Add slightly better sorting to the manufacturer and partno columns. It attempts to sort numeric portions of the strings separate from the alpha parts. However, it isn't perfect because decimals (numbers containing '.') trips it up. 2012-05-07 01:34:23 +00:00
Kevin Ruland
370dfd0e18 Change the InvalidComponentPresetException so it reports all errors found in a preset instead of just the first. Changed all the test cases to ensure the proper errors are reported. 2012-05-06 13:27:30 +00:00
Doug Pedrick
a32bfe7366 Fixes to number validation and component type combo box selectability. 2012-05-06 00:42:32 +00:00
Doug Pedrick
3d73e9d9eb Initial GUI for editing and saving component presets. See ComponentPresetPanel.main() for standalone execution. 2012-05-05 02:23:14 +00:00
Kevin Ruland
0a199d73c3 Implement MaterialHolder, a container for the Material objects loaded during processing of rocksim csv files. Added logic to streamer and parachutes so it can produce a SURFACE material if the csv file specified a BULK material and thickness. 2012-05-04 20:11:33 +00:00
Kevin Ruland
4eea3292b6 Sort the collections prior to serialization since that makes the output a little easier to search. 2012-05-04 20:08:47 +00:00
Kevin Ruland
9661b47562 Don't use the default material database when loading componentpreset files. 2012-05-04 20:07:20 +00:00
Kevin Ruland
3792528e01 Added LaunchLug, Streamer and Parachute ComponentPresets. 2012-05-01 17:40:55 +00:00
Kevin Ruland
6f653199f2 Make initializeLogging method public since it is a rather nice function to set up logging infrastructure. 2012-05-01 17:25:10 +00:00
Kevin Ruland
2de2fb8a65 Move the component preset selection box outside of the first tab and under the component name. Adjusted the MigLayout parameters to the labels align. 2012-05-01 17:18:41 +00:00
Doug Pedrick
45dae98850 Support for base64 images in .orc; performance improvement to the JAXBContext 2012-04-28 03:16:42 +00:00
Doug Pedrick
df7ab36b5a Javadoc fix 2012-04-27 22:08:58 +00:00
Kevin Ruland
42c74f71a1 Variety of changes to the orc file processing. Added unit annotations to all lengths and masses so a vendor can hand craft a file in units other than MKS system. Fixed a bug in the nose cone where the outerdiameter and shoulder diameter were flipped. 2012-04-27 20:09:27 +00:00
Kevin Ruland
573706323f Added special processing for rocksim csv component files when the mass is specified as 0. In this case, we "reject" the mass and assume it is to be computed based on density. 2012-04-27 19:06:54 +00:00
Kevin Ruland
1acc99b163 Switch component preset loading from using the temporary csv format to orc formatted files. Added orc formatted files to the resources/datafiles/presets for all vendors which have approved inclusion of their files in OpenRocket. Removed the old csv parser and the hand crafted csv files for semroc presets. 2012-04-26 21:14:38 +00:00
Kevin Ruland
2827046b15 Refactored the rocksim csv component parser system to allow for more flexible column definitions. Pulled each type of file parser into its own file. Use template pattern in the RocksimComponentFileLoader hierarchy. Change the OpenRocketComponentSaver (Jaxb driver code) to throw exceptions instead of trying to handle them on its own. 2012-04-26 21:10:34 +00:00