From 10de4b1c560e95339c71170cdf248dfe7983c799 Mon Sep 17 00:00:00 2001 From: rodinia814 Date: Mon, 21 May 2012 04:36:20 +0000 Subject: [PATCH] Fix to streamer loading of materials; missing material in Giant Leaps file. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@695 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .../giantleaprocketry/MATERIAL.CSV | 1 + .../openrocket/preset/loader/StreamerLoader.java | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/core/resources-src/datafiles/rocksim_components/giantleaprocketry/MATERIAL.CSV b/core/resources-src/datafiles/rocksim_components/giantleaprocketry/MATERIAL.CSV index 1fb18038..462e87db 100644 --- a/core/resources-src/datafiles/rocksim_components/giantleaprocketry/MATERIAL.CSV +++ b/core/resources-src/datafiles/rocksim_components/giantleaprocketry/MATERIAL.CSV @@ -3,3 +3,4 @@ Cardboard,lb/ft3,43,,,,1,1,1,1,0,1,0,0,1,1,1,1,1,1,,,,,,,,None,0,0 Birch,lb/ft3,42.5,,,Wood,1,0,1,0,0,1,0,1,1,1,1,1,0,0,,,,,,,,None,0,0 Kraft phenolic,lb/ft3,59.85,,,,1,1,0,0,0,0,0,0,0,1,0,0,1,1,,,,,,,,None,0,0 Polycarbonate,lb/ft3,74.9,,,,1,1,1,1,0,1,0,0,1,1,1,1,1,1,,,,,,,,None,0,0 +Rip stop nylon,g/cm2,0.006685,,,,1,0,0,0,0,0,1,1,0,0,0,0,0,0,,,,,,,,None,0,0 diff --git a/core/src/net/sf/openrocket/preset/loader/StreamerLoader.java b/core/src/net/sf/openrocket/preset/loader/StreamerLoader.java index 4a2f38a9..652b2d42 100644 --- a/core/src/net/sf/openrocket/preset/loader/StreamerLoader.java +++ b/core/src/net/sf/openrocket/preset/loader/StreamerLoader.java @@ -11,9 +11,19 @@ public class StreamerLoader extends BaseComponentLoader { private final MaterialHolder materials; - public StreamerLoader(MaterialHolder materials, File theBasePath) { - super(materials, theBasePath); - this.materials = materials; + public StreamerLoader(MaterialHolder theMaterials, File theBasePath) { + super(theMaterials, theBasePath); + materials = theMaterials; + + //The base component loader adds a bulk material loader, which is incompatible with the surface loader + //for a streamer. Remove the file column parser here so we can set your own in the code that follows. + for (int i = 0; i < fileColumns.size(); i++) { + RocksimComponentFileColumnParser rocksimComponentFileColumnParser = fileColumns.get(i); + if (rocksimComponentFileColumnParser instanceof MaterialColumnParser) { + fileColumns.remove(rocksimComponentFileColumnParser); + } + } + fileColumns.add(new SurfaceMaterialColumnParser(materials,"Material",ComponentPreset.MATERIAL)); fileColumns.add(new DoubleUnitColumnParser("Length","Units",ComponentPreset.LENGTH)); fileColumns.add(new DoubleUnitColumnParser("Width","Units",ComponentPreset.WIDTH)); -- 2.47.2