diff --git a/core/src/net/sf/openrocket/document/OpenRocketDocument.java b/core/src/net/sf/openrocket/document/OpenRocketDocument.java index 4a3851d69..9a3711d07 100644 --- a/core/src/net/sf/openrocket/document/OpenRocketDocument.java +++ b/core/src/net/sf/openrocket/document/OpenRocketDocument.java @@ -2,12 +2,14 @@ package net.sf.openrocket.document; import java.io.File; import java.util.Collections; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; +import java.util.TreeSet; +import net.sf.openrocket.appearance.Appearance; +import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.document.events.DocumentChangeEvent; import net.sf.openrocket.document.events.DocumentChangeListener; import net.sf.openrocket.document.events.SimulationChangeEvent; @@ -17,9 +19,9 @@ import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; import net.sf.openrocket.rocketcomponent.ComponentChangeListener; import net.sf.openrocket.rocketcomponent.Configuration; import net.sf.openrocket.rocketcomponent.Rocket; +import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.simulation.FlightDataType; import net.sf.openrocket.simulation.customexpression.CustomExpression; -import net.sf.openrocket.simulation.exception.SimulationListenerException; import net.sf.openrocket.simulation.listeners.SimulationListener; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.ArrayList; @@ -184,6 +186,28 @@ public class OpenRocketDocument implements ComponentChangeListener { this.decalRegistry = decalRegistry; } + public Set getDecalList( ) { + + Set decals = new TreeSet(); + // Look for all decals used in the rocket. + for( RocketComponent c : this.getRocket() ) { + if ( c.getAppearance() == null ) { + continue; + } + Appearance ap = c.getAppearance(); + if ( ap.getTexture() == null ) { + continue; + } + + Decal decal = ap.getTexture(); + + String decalName = decal.getImage(); + + decals.add(decalName); + } + return decals; + } + public File getFile() { return file; }