Merge pull request #1077 from JoePfeiffer/fix-713
Fix 713: Include legacy and new databases
This commit is contained in:
commit
6e4faa8b6a
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@ -13,7 +13,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Checkout repository and submodules
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup JDK 11
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "swing/resources-src/datafiles/components"]
|
||||
path = swing/resources-src/datafiles/components
|
||||
url = git@github.com:dbcook/openrocket-database.git
|
@ -2040,8 +2040,10 @@ ComponentPresetChooserDialog.menu.sortAsc = Sort Ascending
|
||||
ComponentPresetChooserDialog.menu.sortDesc = Sort Descending
|
||||
ComponentPresetChooserDialog.menu.units = Units
|
||||
ComponentPresetChooserDialog.checkbox.showAllCompatible = Show all compatible
|
||||
ComponentPresetChooserDialog.checkbox.showLegacyCheckBox = Show Legacy Database
|
||||
ComponentPresetChooserDialog.lbl.favorites = Select to add preset to drop-down menu
|
||||
table.column.Favorite = Favorite
|
||||
table.column.Legacy = Legacy
|
||||
table.column.Manufacturer = Manufacturer
|
||||
table.column.PartNo = Part Number
|
||||
table.column.Description = Description
|
||||
|
@ -44,7 +44,6 @@ class ComponentPresetSetter implements Setter {
|
||||
}
|
||||
|
||||
List<ComponentPreset> presets = Application.getComponentPresetDao().find(manufacturerName, productNo);
|
||||
|
||||
ComponentPreset matchingPreset = null;
|
||||
|
||||
for (ComponentPreset preset : presets) {
|
||||
@ -53,6 +52,7 @@ class ComponentPresetSetter implements Setter {
|
||||
matchingPreset = preset;
|
||||
break;
|
||||
}
|
||||
|
||||
if (type != null && preset.getType().name().equals(type) && matchingPreset != null) {
|
||||
// Found the first one with matching type.
|
||||
matchingPreset = preset;
|
||||
|
@ -47,6 +47,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
|
||||
public enum Type {
|
||||
BODY_TUBE(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -55,6 +56,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
NOSE_CONE(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -65,6 +67,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
TRANSITION(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -78,6 +81,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
TUBE_COUPLER(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -86,6 +90,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
BULK_HEAD(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -93,6 +98,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
CENTERING_RING(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -101,6 +107,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
ENGINE_BLOCK(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -109,6 +116,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
LAUNCH_LUG(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -117,6 +125,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.LENGTH }),
|
||||
|
||||
RAIL_BUTTON(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -128,6 +137,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.HEIGHT }),
|
||||
|
||||
STREAMER(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -137,6 +147,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset.MATERIAL }),
|
||||
|
||||
PARACHUTE(new TypedKey<?>[] {
|
||||
ComponentPreset.LEGACY,
|
||||
ComponentPreset.MANUFACTURER,
|
||||
ComponentPreset.PARTNO,
|
||||
ComponentPreset.DESCRIPTION,
|
||||
@ -173,6 +184,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
|
||||
}
|
||||
|
||||
public final static TypedKey<Boolean> LEGACY = new TypedKey<Boolean>("Legacy", Boolean.class);
|
||||
public final static TypedKey<Manufacturer> MANUFACTURER = new TypedKey<Manufacturer>("Manufacturer", Manufacturer.class);
|
||||
public final static TypedKey<String> PARTNO = new TypedKey<String>("PartNo", String.class);
|
||||
public final static TypedKey<String> DESCRIPTION = new TypedKey<String>("Description", String.class);
|
||||
@ -204,6 +216,7 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
public final static TypedKey<Double> FLANGE_HEIGHT = new TypedKey<Double>("FlangeHeight", Double.class, UnitGroup.UNITS_LENGTH);
|
||||
|
||||
public final static List<TypedKey<?>> ORDERED_KEY_LIST = Collections.unmodifiableList(Arrays.asList(
|
||||
LEGACY,
|
||||
MANUFACTURER,
|
||||
PARTNO,
|
||||
DESCRIPTION,
|
||||
@ -237,6 +250,15 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
ComponentPreset() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method to determine whether this is from the legacy database
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Boolean getLegacy() {
|
||||
return properties.get(LEGACY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method to retrieve the Type of this ComponentPreset.
|
||||
*
|
||||
@ -355,6 +377,9 @@ public class ComponentPreset implements Comparable<ComponentPreset>, Serializabl
|
||||
});
|
||||
|
||||
for (TypedKey<?> key : keys) {
|
||||
if (key == ComponentPreset.LEGACY) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Object value = properties.get(key);
|
||||
|
||||
|
@ -156,7 +156,7 @@ public abstract class BaseComponentDTO {
|
||||
}
|
||||
}
|
||||
|
||||
public abstract ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException;
|
||||
public abstract ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException;
|
||||
|
||||
void addProps(TypedPropertyMap props, List<MaterialDTO> materialList) {
|
||||
props.put(ComponentPreset.MANUFACTURER, Manufacturer.getManufacturer(manufacturer));
|
||||
@ -228,14 +228,16 @@ public abstract class BaseComponentDTO {
|
||||
|
||||
static class AnnotatedLengthDTO {
|
||||
@XmlAttribute(name = "Unit", required = false)
|
||||
private final String unitName = "m";
|
||||
private final String unitName;
|
||||
@XmlValue
|
||||
private double length;
|
||||
|
||||
AnnotatedLengthDTO() {
|
||||
this.unitName = "m";
|
||||
}
|
||||
|
||||
AnnotatedLengthDTO(double length) {
|
||||
this.unitName = "m";
|
||||
this.length = length;
|
||||
}
|
||||
|
||||
@ -246,14 +248,16 @@ public abstract class BaseComponentDTO {
|
||||
|
||||
static class AnnotatedMassDTO {
|
||||
@XmlAttribute(name = "Unit", required = false)
|
||||
private final String unitName = "kg";
|
||||
private final String unitName;
|
||||
@XmlValue
|
||||
private double mass;
|
||||
|
||||
AnnotatedMassDTO() {
|
||||
unitName = "kg";
|
||||
}
|
||||
|
||||
AnnotatedMassDTO(double mass) {
|
||||
unitName = "kg";
|
||||
this.mass = mass;
|
||||
}
|
||||
|
||||
|
@ -83,12 +83,13 @@ public class BodyTubeDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(ComponentPreset.Type.BODY_TUBE, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(legacy, ComponentPreset.Type.BODY_TUBE, materials);
|
||||
}
|
||||
|
||||
public ComponentPreset asComponentPreset(ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.INNER_DIAMETER, this.getInsideDiameter());
|
||||
props.put(ComponentPreset.OUTER_DIAMETER, this.getOutsideDiameter());
|
||||
|
@ -65,8 +65,9 @@ public class BulkHeadDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.OUTER_DIAMETER, this.getOutsideDiameter());
|
||||
props.put(ComponentPreset.LENGTH, this.getLength());
|
||||
|
@ -35,7 +35,7 @@ public class CenteringRingDTO extends BodyTubeDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(ComponentPreset.Type.CENTERING_RING, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(legacy, ComponentPreset.Type.CENTERING_RING, materials);
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ public class EngineBlockDTO extends BodyTubeDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(ComponentPreset.Type.ENGINE_BLOCK, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(legacy, ComponentPreset.Type.ENGINE_BLOCK, materials);
|
||||
}
|
||||
}
|
||||
|
@ -83,12 +83,13 @@ public class LaunchLugDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(ComponentPreset.Type.LAUNCH_LUG, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(legacy, ComponentPreset.Type.LAUNCH_LUG, materials);
|
||||
}
|
||||
|
||||
public ComponentPreset asComponentPreset(ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.INNER_DIAMETER, this.getInsideDiameter());
|
||||
props.put(ComponentPreset.OUTER_DIAMETER, this.getOutsideDiameter());
|
||||
|
@ -131,8 +131,9 @@ public class NoseConeDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.SHAPE, shape.getORShape());
|
||||
props.put(ComponentPreset.AFT_OUTER_DIAMETER, this.getOutsideDiameter());
|
||||
|
@ -10,6 +10,7 @@ import javax.xml.bind.annotation.XmlElementRef;
|
||||
import javax.xml.bind.annotation.XmlElementRefs;
|
||||
import javax.xml.bind.annotation.XmlElementWrapper;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlValue;
|
||||
|
||||
import net.sf.openrocket.material.Material;
|
||||
import net.sf.openrocket.preset.ComponentPreset;
|
||||
@ -25,6 +26,9 @@ public class OpenRocketComponentDTO {
|
||||
@XmlElement(name = "Version")
|
||||
private final String version = "0.1";
|
||||
|
||||
@XmlElement(name = "Legacy", required = false)
|
||||
private String legacy;
|
||||
|
||||
@XmlElementWrapper(name = "Materials")
|
||||
@XmlElement(name = "Material")
|
||||
List<MaterialDTO> materials = new ArrayList<MaterialDTO>();
|
||||
@ -47,11 +51,27 @@ public class OpenRocketComponentDTO {
|
||||
public OpenRocketComponentDTO() {
|
||||
}
|
||||
|
||||
public OpenRocketComponentDTO(final List<MaterialDTO> theMaterials, final List<BaseComponentDTO> theComponents) {
|
||||
public OpenRocketComponentDTO(boolean isLegacy, final List<MaterialDTO> theMaterials, final List<BaseComponentDTO> theComponents) {
|
||||
setLegacy(isLegacy);
|
||||
materials = theMaterials;
|
||||
components = theComponents;
|
||||
}
|
||||
|
||||
public Boolean getLegacy() {
|
||||
if (null == legacy) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setLegacy(Boolean isLegacy) {
|
||||
if (isLegacy) {
|
||||
legacy = "";
|
||||
} else {
|
||||
legacy = null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<MaterialDTO> getMaterials() {
|
||||
return materials;
|
||||
}
|
||||
@ -79,7 +99,7 @@ public class OpenRocketComponentDTO {
|
||||
public List<ComponentPreset> asComponentPresets() throws InvalidComponentPresetException {
|
||||
List<ComponentPreset> result = new ArrayList<ComponentPreset>(components.size());
|
||||
for (int i = 0; i < components.size(); i++) {
|
||||
result.add(components.get(i).asComponentPreset(materials));
|
||||
result.add(components.get(i).asComponentPreset(getLegacy(), materials));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -108,12 +108,13 @@ public class ParachuteDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(ComponentPreset.Type.PARACHUTE, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(legacy, ComponentPreset.Type.PARACHUTE, materials);
|
||||
}
|
||||
|
||||
public ComponentPreset asComponentPreset(ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
// TODO - seems some vendors use a bulk material for the sheet along with a Thickness.
|
||||
// need to fix the MATERIAL packed into the componentpreset.
|
||||
|
@ -113,12 +113,13 @@ public class RailButtonDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(ComponentPreset.Type.RAIL_BUTTON, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(legacy, ComponentPreset.Type.RAIL_BUTTON, materials);
|
||||
}
|
||||
|
||||
public ComponentPreset asComponentPreset(ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.INNER_DIAMETER, this.getInsideDiameter());
|
||||
props.put(ComponentPreset.OUTER_DIAMETER, this.getOutsideDiameter());
|
||||
|
@ -83,13 +83,14 @@ public class StreamerDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(ComponentPreset.Type.STREAMER, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, java.util.List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return asComponentPreset(legacy, ComponentPreset.Type.STREAMER, materials);
|
||||
}
|
||||
|
||||
public ComponentPreset asComponentPreset(ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, ComponentPreset.Type type, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
// TODO - seems some vendors use a bulk material for the sheet along with a Thickness.
|
||||
// need to fix the MATERIAL packed into the componentpreset.
|
||||
props.put(ComponentPreset.WIDTH, this.getWidth());
|
||||
|
@ -176,8 +176,9 @@ public class TransitionDTO extends BaseComponentDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
TypedPropertyMap props = new TypedPropertyMap();
|
||||
props.put(ComponentPreset.LEGACY, legacy);
|
||||
addProps(props, materials);
|
||||
props.put(ComponentPreset.SHAPE, shape.getORShape());
|
||||
props.put(ComponentPreset.FORE_OUTER_DIAMETER, this.getForeOutsideDiameter());
|
||||
|
@ -34,7 +34,7 @@ public class TubeCouplerDTO extends BodyTubeDTO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentPreset asComponentPreset(List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(ComponentPreset.Type.TUBE_COUPLER, materials);
|
||||
public ComponentPreset asComponentPreset(Boolean legacy, List<MaterialDTO> materials) throws InvalidComponentPresetException {
|
||||
return super.asComponentPreset(legacy, ComponentPreset.Type.TUBE_COUPLER, materials);
|
||||
}
|
||||
}
|
||||
|
@ -64,6 +64,7 @@
|
||||
<target name="clean" description="Removes all build artifacts">
|
||||
<delete dir="${build.dir}"/>
|
||||
<delete dir="${tmp.dir}/"/>
|
||||
<delete dir="${resources.dir}/datafiles/presets"/>
|
||||
</target>
|
||||
|
||||
|
||||
@ -75,7 +76,7 @@
|
||||
</target>
|
||||
|
||||
<!-- Executible Eclipse-Jar-In-Jar style JAR -->
|
||||
<target name="jar" depends="build,serialize-presets" description="Create the OpenRocket executable JAR">
|
||||
<target name="jar" depends="build,copy-orc-files" description="Create the OpenRocket executable JAR">
|
||||
<mkdir dir="${jar.dir}" />
|
||||
<jar destfile="${jar.file}" basedir="${classes.dir}">
|
||||
<manifest>
|
||||
@ -125,21 +126,13 @@
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="serialize-presets" depends="build" description="Preprocess the orc preset files into serialized form">
|
||||
<java classname="net.sf.openrocket.utils.SerializePresets"
|
||||
fork="true"
|
||||
classpathref="run-classpath"
|
||||
failonerror="true">
|
||||
</java>
|
||||
</target>
|
||||
|
||||
<!-- CONVERT vendor csv to ORC files -->
|
||||
<macrodef name="build-orc-file">
|
||||
<attribute name="dir"/>
|
||||
<attribute name="vendor"/>
|
||||
<sequential>
|
||||
<echo>Generating ORC file for vendor @{vendor}</echo>
|
||||
<java classname="net.sf.openrocket.preset.loader.RocksimComponentFileTranslator"
|
||||
<java classname="net.sf.openrocket.utils.RocksimComponentFileTranslator"
|
||||
fork="true"
|
||||
classpathref="run-classpath"
|
||||
failonerror="true">
|
||||
@ -167,6 +160,18 @@
|
||||
</for>
|
||||
</target>
|
||||
|
||||
<!-- COPY orc files from source directories to build directory -->
|
||||
<target name="copy-orc-files"
|
||||
description="Copy orc files">
|
||||
|
||||
<copy todir="${resources.dir}/datafiles/presets">
|
||||
<fileset dir="${resources-src.dir}/datafiles/legacy_components"/>
|
||||
</copy>
|
||||
<copy todir="${resources.dir}/datafiles/presets">
|
||||
<fileset dir="${resources-src.dir}/datafiles/components/orc"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<!-- DIST-SRC -->
|
||||
<target name="dist-src">
|
||||
<echo>
|
||||
|
1
swing/resources-src/datafiles/components
Submodule
1
swing/resources-src/datafiles/components
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 52e1e2c0800ebf62fd0e9cecd69aaaed6cddf80e
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name></Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name>[material:.060 Carbon Fiber]</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name></Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name>Vulcanized Fiber</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name>Balsa</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name>Balsa</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/cm3">
|
||||
<Name>Birch</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/m">
|
||||
<Name>1/16 In. braided nylon</Name>
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<OpenRocketComponent>
|
||||
<Version>0.1</Version>
|
||||
<Legacy />
|
||||
<Materials>
|
||||
<Material UnitsOfMeasure="g/m">
|
||||
<Name>1/16 In. braided nylon</Name>
|
||||
@ -107,7 +108,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-08542 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004252428464999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -136,7 +137,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1016 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0034019427719999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -165,7 +166,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1019 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003685438003</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -194,7 +195,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1020E [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003685438003</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -223,7 +224,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1022 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004252428464999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -252,7 +253,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1024 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004252428464999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -281,7 +282,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1031 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004252428464999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -310,7 +311,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1032 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004252428464999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -339,7 +340,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1037 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004535923696</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -368,7 +369,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1039 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004819418927</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -397,7 +398,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1041 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -426,7 +427,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1041G [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -455,7 +456,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1041P [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -484,7 +485,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1045 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005386409389</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -513,7 +514,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1045P [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005386409389</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -542,7 +543,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1048 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005386409389</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -571,7 +572,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1050 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.030900980179</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -600,7 +601,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1051 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.00566990462</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -629,7 +630,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BC-1052 [R]</PartNumber>
|
||||
<Description>Balsa Nose Cone – Reversed</Description>
|
||||
<Description>Balsa Nose Cone - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006236895082</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -3989,7 +3990,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-085225 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 085 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 085 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.022112628018</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4021,7 +4022,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1013 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 10 to 13 – Reversed</Description>
|
||||
<Description>Balsa Reducer 10 to 13 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4053,7 +4054,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1016 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 10 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 10 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009071847392</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4085,7 +4086,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1016S [R]</PartNumber>
|
||||
<Description>Balsa Reducer 10 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 10 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008221361698999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4117,7 +4118,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1116 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 11 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 11 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009355342623</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4149,7 +4150,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1118 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 11 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 11 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.010205828315999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4181,7 +4182,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-11516 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 115 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 115 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.029766999255</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4213,7 +4214,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-11518 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 115 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 115 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.031184475410000002</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4245,7 +4246,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-125-175 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 125 to 175 – Reversed</Description>
|
||||
<Description>Balsa Reducer 125 to 175 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.01417476155</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4277,7 +4278,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-125-175L [R]</PartNumber>
|
||||
<Description>Balsa Reducer 125 to 175 – Reversed</Description>
|
||||
<Description>Balsa Reducer 125 to 175 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.018427190015</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4309,7 +4310,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-125-225 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 125 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 125 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.017009713859999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4341,7 +4342,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1316 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0068038855439999995</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4373,7 +4374,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1316F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.010205828315999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4405,7 +4406,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1316L [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008504856929999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4437,7 +4438,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1316M [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007937866468</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4469,7 +4470,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1320 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007937866468</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4501,7 +4502,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1320L [R]</PartNumber>
|
||||
<Description>Balsa Reducer 13 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 13 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.015875732936</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4533,7 +4534,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-150-225 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 150 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 150 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.029766999255</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4565,7 +4566,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-150-275 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 150 to 275 – Reversed</Description>
|
||||
<Description>Balsa Reducer 150 to 275 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.041106808495</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4597,7 +4598,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1618 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 16 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 16 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007937866468</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4629,7 +4630,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1618F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 16 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 16 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008504856929999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4661,7 +4662,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1620 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 16 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 16 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008504856929999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4693,7 +4694,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1620F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 16 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 16 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0076543712370000004</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4725,7 +4726,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-16225F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 16 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 16 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009355342623</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4757,7 +4758,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-175-225 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 175 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 175 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.02267961848</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4789,7 +4790,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-1820 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 18 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 18 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007087380775</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4821,7 +4822,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-18225 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 18 to 225 – Reversed</Description>
|
||||
<Description>Balsa Reducer 18 to 225 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008788352160999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4853,7 +4854,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-225-80H [R]</PartNumber>
|
||||
<Description>Balsa Reducer 225 to BT-80H – Reversed</Description>
|
||||
<Description>Balsa Reducer 225 to BT-80H - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.03685438003</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4885,7 +4886,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-510 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 10 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 10 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003118447541</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4917,7 +4918,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-511 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 11 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 11 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0034019427719999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4949,7 +4950,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-513 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 13 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 13 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004535923696</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -4981,7 +4982,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-57 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 7 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 7 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.001984466617</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5013,7 +5014,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-58 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 8 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 8 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.00283495231</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5045,7 +5046,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-58F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 8F – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 8F - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.00283495231</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5077,7 +5078,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-59 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 5 to 9 – Reversed</Description>
|
||||
<Description>Balsa Reducer 5 to 9 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5109,7 +5110,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-60-18 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-60 to ST-18 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-60 to ST-18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008221361698999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5141,7 +5142,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-710 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 10 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 10 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0034019427719999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5173,7 +5174,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-711 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 11 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 11 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003685438003</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5205,7 +5206,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-713 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 13 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 13 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5237,7 +5238,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-716 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.010205828315999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5269,7 +5270,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-718 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.011906799701999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5301,7 +5302,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-78 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 8 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 8 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003685438003</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5333,7 +5334,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-78F [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 8F – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 8F - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004819418927</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5365,7 +5366,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-78S [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 8 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 8 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.00283495231</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5397,7 +5398,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-79 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 9 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 9 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004819418927</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5429,7 +5430,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-79L [R]</PartNumber>
|
||||
<Description>Balsa Reducer 7 to 9 – Reversed</Description>
|
||||
<Description>Balsa Reducer 7 to 9 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006520390313</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5461,7 +5462,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-810 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8 to 10 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8 to 10 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003968933234</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5493,7 +5494,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-813 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8 to 13 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8 to 13 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007370876006</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5525,7 +5526,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-813P [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8 to 13 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8 to 13 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007370876006</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5557,7 +5558,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-816 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008504856929999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5589,7 +5590,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-816NT [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.010772818778</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5621,7 +5622,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-8F11 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8F to 11 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8F to 11 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.005102914157999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5653,7 +5654,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-8F11L [R]</PartNumber>
|
||||
<Description>Balsa Reducer 8F to 11 – Reversed</Description>
|
||||
<Description>Balsa Reducer 8F to 11 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006236895082</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5685,7 +5686,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-916 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 9 to 16 – Reversed</Description>
|
||||
<Description>Balsa Reducer 9 to 16 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008504856929999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5717,7 +5718,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-918 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 9 to 18 – Reversed</Description>
|
||||
<Description>Balsa Reducer 9 to 18 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009071847392</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -5749,7 +5750,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>BR-920 [R]</PartNumber>
|
||||
<Description>Balsa Reducer 9 to 20 – Reversed</Description>
|
||||
<Description>Balsa Reducer 9 to 20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009638837854</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9836,7 +9837,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-2050 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.004819418927</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9868,7 +9869,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-2050A [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003118447541</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9900,7 +9901,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-2050B [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-20 to BT-50 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0059533998509999995</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9932,7 +9933,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-2055 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-20 to BT-55 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-20 to BT-55 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006236895082</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9964,7 +9965,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-2060 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-20 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-20 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.00566990462</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -9996,7 +9997,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5055 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-55 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-55 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.017009713859999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10028,7 +10029,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5055L [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-55 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-55 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.020128161401</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10060,7 +10061,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5060 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006520390313</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10092,7 +10093,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5060C [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.003968933234</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10124,7 +10125,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5060E [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0059533998509999995</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10156,7 +10157,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5065 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-50 to BT-65 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-50 to BT-65 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007370876006</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10188,7 +10189,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-520 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-5 to BT-20 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-5 to BT-20 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.001133980924</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10220,7 +10221,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5260A [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-52 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-52 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006520390313</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10252,7 +10253,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5260C [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-52 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-52 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.009355342623</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10284,7 +10285,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-550 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-5 to BT-50 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-5 to BT-50 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.0017009713859999999</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10316,7 +10317,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5560 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-55 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-55 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.007087380775</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10348,7 +10349,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5560A [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-55 to BT-60 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-55 to BT-60 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.008221361698999998</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10380,7 +10381,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-5565 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-55 to BT-65 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-55 to BT-65 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.010772818778</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10412,7 +10413,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-6065 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-60 to BT-65 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-60 to BT-65 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.006520390313</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10444,7 +10445,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-6070 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-60 to BT-70 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-60 to BT-70 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.018427190015</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10476,7 +10477,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-6080 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-60 to BT-80 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-60 to BT-80 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.018427190015</Mass>
|
||||
<Filled>true</Filled>
|
||||
@ -10508,7 +10509,7 @@
|
||||
<Transition>
|
||||
<Manufacturer>SEMROC Astronautics</Manufacturer>
|
||||
<PartNumber>TA-7080 [R]</PartNumber>
|
||||
<Description>Balsa Reducer BT-70 to BT-80 – Reversed</Description>
|
||||
<Description>Balsa Reducer BT-70 to BT-80 - Reversed</Description>
|
||||
<Material Type="BULK">Balsa</Material>
|
||||
<Mass Unit="kg">0.018427190015</Mass>
|
||||
<Filled>true</Filled>
|
Binary file not shown.
@ -91,23 +91,17 @@ public class ComponentPresetDatabaseLoader extends AsynchronousDatabaseLoader {
|
||||
*/
|
||||
private void loadPresetComponents() {
|
||||
log.info("Loading component presets from " + SYSTEM_PRESET_DIR);
|
||||
FileIterator iterator = DirectoryIterator.findDirectory(SYSTEM_PRESET_DIR, new SimpleFileFilter("", false, "ser"));
|
||||
FileIterator iterator = DirectoryIterator.findDirectory(SYSTEM_PRESET_DIR, new SimpleFileFilter("", false, "orc"));
|
||||
|
||||
if(iterator == null)
|
||||
return;
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Pair<String, InputStream> f = iterator.next();
|
||||
try {
|
||||
ObjectInputStream ois = new ObjectInputStream(f.getV());
|
||||
@SuppressWarnings("unchecked")
|
||||
List<ComponentPreset> list = (List<ComponentPreset>) ois.readObject();
|
||||
componentPresetDao.addAll(list);
|
||||
fileCount++;
|
||||
presetCount += list.size();
|
||||
} catch (Exception ex) {
|
||||
throw new BugException(ex);
|
||||
}
|
||||
Collection<ComponentPreset> presets = loadFile(f.getU(), f.getV());
|
||||
componentPresetDao.addAll(presets);
|
||||
fileCount++;
|
||||
presetCount += presets.size();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,9 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
private JTextField filterText;
|
||||
private JCheckBox foreDiameterFilterCheckBox;
|
||||
private JCheckBox aftDiameterFilterCheckBox;
|
||||
private JCheckBox showLegacyCheckBox;
|
||||
|
||||
private ComponentPresetRowFilter legacyFilter;
|
||||
private ComponentPresetRowFilter foreDiameterFilter;
|
||||
private ComponentPresetRowFilter aftDiameterFilter;
|
||||
|
||||
@ -58,6 +60,7 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
* outerDiamtereColumnIndex is the index of the column associated with the OUTER_DIAMETER
|
||||
* field. This index is needed by the matchOuterDiameterCheckBox to implement filtering.
|
||||
*/
|
||||
int legacyColumnIndex = -1;
|
||||
int aftDiameterColumnIndex = -1;
|
||||
int foreDiameterColumnIndex = -1;
|
||||
|
||||
@ -87,6 +90,9 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
if (!displayedColumnKeys.contains(key)) {
|
||||
continue;
|
||||
}
|
||||
if (key == ComponentPreset.LEGACY) {
|
||||
legacyColumnIndex = i;
|
||||
}
|
||||
if (key == ComponentPreset.OUTER_DIAMETER || key == ComponentPreset.AFT_OUTER_DIAMETER) {
|
||||
aftDiameterColumnIndex = i;
|
||||
}
|
||||
@ -127,17 +133,20 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
|
||||
panel.add(sub, "growx, ay 0, gapright para");
|
||||
|
||||
|
||||
panel.add(getFilterCheckboxes(), "wrap para");
|
||||
|
||||
// need to create componentSelectionTable before filter checkboxes,
|
||||
// but add to panel after
|
||||
componentSelectionTable = new ComponentPresetTable(presetType, presets, displayedColumnKeys);
|
||||
// GUIUtil.setAutomaticColumnTableWidths(componentSelectionTable, 20);
|
||||
int w = componentSelectionTable.getRowHeight() + 4;
|
||||
TableColumn tc = componentSelectionTable.getColumnModel().getColumn(0);
|
||||
XTableColumnModel tm = componentSelectionTable.getXColumnModel();
|
||||
//TableColumn tc = componentSelectionTable.getColumnModel().getColumn(0);
|
||||
TableColumn tc = tm.getColumn(0);
|
||||
tc.setPreferredWidth(w);
|
||||
tc.setMaxWidth(w);
|
||||
tc.setMinWidth(w);
|
||||
|
||||
panel.add(getFilterCheckboxes(tm, legacyColumnIndex), "wrap para");
|
||||
|
||||
JScrollPane scrollpane = new JScrollPane();
|
||||
scrollpane.setViewportView(componentSelectionTable);
|
||||
panel.add(scrollpane, "grow, width 700lp, height 300lp, spanx, wrap rel");
|
||||
@ -169,10 +178,12 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
|
||||
GUIUtil.rememberWindowSize(this);
|
||||
GUIUtil.setDisposableDialogOptions(this, okButton);
|
||||
|
||||
updateFilters();
|
||||
}
|
||||
|
||||
|
||||
private JPanel getFilterCheckboxes() {
|
||||
private JPanel getFilterCheckboxes(XTableColumnModel tm, int legacyColumnIndex) {
|
||||
JPanel panel = new JPanel(new MigLayout("ins 0"));
|
||||
|
||||
/*
|
||||
@ -194,9 +205,27 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
}
|
||||
componentSelectionTable.updateData(presets);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Add legacy component filter checkbox
|
||||
*/
|
||||
TableColumn legacyColumn = tm.getColumn(legacyColumnIndex);
|
||||
tm.setColumnVisible(legacyColumn, false);
|
||||
legacyFilter = new ComponentPresetRowFilter(false, legacyColumnIndex);
|
||||
showLegacyCheckBox = new JCheckBox();
|
||||
showLegacyCheckBox.setText(trans.get("ComponentPresetChooserDialog.checkbox.showLegacyCheckBox"));
|
||||
panel.add(showLegacyCheckBox, "wrap");
|
||||
|
||||
showLegacyCheckBox.addItemListener(new ItemListener() {
|
||||
@Override
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
updateFilters();
|
||||
tm.setColumnVisible(legacyColumn, showLegacyCheckBox.isSelected());
|
||||
}
|
||||
});
|
||||
|
||||
if(component instanceof SymmetricComponent) {
|
||||
final SymmetricComponent curSym = (SymmetricComponent) component;
|
||||
/*
|
||||
@ -268,12 +297,15 @@ public class ComponentPresetChooserDialog extends JDialog {
|
||||
} catch (java.util.regex.PatternSyntaxException e) {
|
||||
}
|
||||
}
|
||||
if (aftDiameterFilterCheckBox.isSelected()) {
|
||||
if ((null != aftDiameterFilterCheckBox) && aftDiameterFilterCheckBox.isSelected()) {
|
||||
filters.add(aftDiameterFilter);
|
||||
}
|
||||
if (foreDiameterFilterCheckBox.isSelected()) {
|
||||
if ((null != foreDiameterFilterCheckBox) && foreDiameterFilterCheckBox.isSelected()) {
|
||||
filters.add(foreDiameterFilter);
|
||||
}
|
||||
if (!showLegacyCheckBox.isSelected()) {
|
||||
filters.add(legacyFilter);
|
||||
}
|
||||
|
||||
componentSelectionTable.setRowFilter(RowFilter.andFilter(filters));
|
||||
}
|
||||
|
@ -8,12 +8,13 @@ import net.sf.openrocket.util.MathUtil;
|
||||
|
||||
public class ComponentPresetRowFilter extends RowFilter<TableModel, Object> {
|
||||
|
||||
private final double value;
|
||||
private Boolean bvalue = false;
|
||||
private double dvalue = 0.0;
|
||||
private double epsilon = 0.0;
|
||||
private final int column;
|
||||
private final double epsilon;
|
||||
|
||||
ComponentPresetRowFilter(double value, int column) {
|
||||
this.value = value;
|
||||
this.dvalue = value;
|
||||
this.column = column;
|
||||
/*
|
||||
* Accept 5% difference, but at least 1mm.
|
||||
@ -21,17 +22,30 @@ public class ComponentPresetRowFilter extends RowFilter<TableModel, Object> {
|
||||
this.epsilon = MathUtil.max(value * 0.05, 0.001);
|
||||
}
|
||||
|
||||
ComponentPresetRowFilter(Boolean value, int column) {
|
||||
this.bvalue = value;
|
||||
this.column = column;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean include(RowFilter.Entry<? extends TableModel, ? extends Object> entry) {
|
||||
Object o = entry.getValue(column);
|
||||
if (o instanceof Value) {
|
||||
Value v = (Value) o;
|
||||
return Math.abs(value - v.getValue()) < epsilon;
|
||||
return Math.abs(dvalue - v.getValue()) < epsilon;
|
||||
}
|
||||
|
||||
if (o instanceof Double) {
|
||||
Double d = (Double) o;
|
||||
return Math.abs(value - d) < epsilon;
|
||||
return Math.abs(dvalue - d) < epsilon;
|
||||
}
|
||||
|
||||
if (o instanceof Boolean) {
|
||||
Boolean b = (Boolean) o;
|
||||
return b.equals(bvalue);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user