diff --git a/core/src/main/java/info/openrocket/core/document/OpenRocketDocument.java b/core/src/main/java/info/openrocket/core/document/OpenRocketDocument.java index fd12c35fb..66ed3e066 100644 --- a/core/src/main/java/info/openrocket/core/document/OpenRocketDocument.java +++ b/core/src/main/java/info/openrocket/core/document/OpenRocketDocument.java @@ -110,6 +110,7 @@ public class OpenRocketDocument implements ComponentChangeListener, StateChangeL */ OpenRocketDocument(Rocket rocket) { this.rocket = rocket; + rocket.setDocument(this); this.objOptions = prefs.loadOBJExportOptions(rocket); rocket.enableEvents(); init(); diff --git a/core/src/main/java/info/openrocket/core/rocketcomponent/Rocket.java b/core/src/main/java/info/openrocket/core/rocketcomponent/Rocket.java index 867b6ea6d..53a886055 100644 --- a/core/src/main/java/info/openrocket/core/rocketcomponent/Rocket.java +++ b/core/src/main/java/info/openrocket/core/rocketcomponent/Rocket.java @@ -3,6 +3,7 @@ package info.openrocket.core.rocketcomponent; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import info.openrocket.core.document.OpenRocketDocument; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,6 +52,7 @@ public class Rocket extends ComponentAssembly { private boolean eventsEnabled = false; + private OpenRocketDocument document; private ReferenceType refType = ReferenceType.MAXIMUM; // Set in constructor private double customReferenceLength = DEFAULT_REFERENCE_LENGTH; @@ -191,7 +193,23 @@ public class Rocket extends ComponentAssembly { public int getFunctionalModID() { return functionalModID; } - + + /** + * Return the OpenRocketDocument that this rocket is part of, or null if it is not part of any document. + * @return the document, or null + */ + public OpenRocketDocument getDocument() { + return document; + } + + /** + * Set the OpenRocketDocument that this rocket is part of. + * @param document the document + */ + public void setDocument(OpenRocketDocument document) { + this.document = document; + } + public Collection getStageList() { return this.stageMap.values(); }