664 lines
34 KiB
HTML
664 lines
34 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>QtRocket: Rocket Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { init_search(); });
|
|
/* @license-end */
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">QtRocket
|
|
</div>
|
|
</td>
|
|
<td> <div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
|
|
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('classRocket.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
|
<a href="classRocket-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">Rocket Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Represents a complete rocket vehicle composed of stages, motors, and recovery systems.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="Rocket_8h_source.html">Rocket.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a71892ff2f0688dca670e1c2be3bec5b3" id="r_a71892ff2f0688dca670e1c2be3bec5b3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a71892ff2f0688dca670e1c2be3bec5b3">Rocket</a> (const std::string &name)</td></tr>
|
|
<tr class="memdesc:a71892ff2f0688dca670e1c2be3bec5b3"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="classRocket.html" title="Represents a complete rocket vehicle composed of stages, motors, and recovery systems.">Rocket</a> with a given name. <br /></td></tr>
|
|
<tr class="separator:a71892ff2f0688dca670e1c2be3bec5b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab175518667f63d715023487eb968ab38" id="r_ab175518667f63d715023487eb968ab38"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab175518667f63d715023487eb968ab38">~Rocket</a> ()=default</td></tr>
|
|
<tr class="memdesc:ab175518667f63d715023487eb968ab38"><td class="mdescLeft"> </td><td class="mdescRight">Default destructor. <br /></td></tr>
|
|
<tr class="separator:ab175518667f63d715023487eb968ab38"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa5aa56f1d3eb3a6f5e8f3d526e850169" id="r_aa5aa56f1d3eb3a6f5e8f3d526e850169"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5aa56f1d3eb3a6f5e8f3d526e850169">getTotalMass</a> () const</td></tr>
|
|
<tr class="memdesc:aa5aa56f1d3eb3a6f5e8f3d526e850169"><td class="mdescLeft"> </td><td class="mdescRight">Returns the total mass of the rocket (including all stages and payloads). <br /></td></tr>
|
|
<tr class="separator:aa5aa56f1d3eb3a6f5e8f3d526e850169"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a145038e958d8d42800a27ea0eb785dac" id="r_a145038e958d8d42800a27ea0eb785dac"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a145038e958d8d42800a27ea0eb785dac">getTotalPropellantMass</a> () const</td></tr>
|
|
<tr class="memdesc:a145038e958d8d42800a27ea0eb785dac"><td class="mdescLeft"> </td><td class="mdescRight">Returns the total remaining propellant mass of all motors. <br /></td></tr>
|
|
<tr class="separator:a145038e958d8d42800a27ea0eb785dac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa8b94b2337c21da2b8620864d4cc55e9" id="r_aa8b94b2337c21da2b8620864d4cc55e9"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8b94b2337c21da2b8620864d4cc55e9">getCenterOfGravity</a> () const</td></tr>
|
|
<tr class="memdesc:aa8b94b2337c21da2b8620864d4cc55e9"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current center of gravity (CG) of the rocket. <br /></td></tr>
|
|
<tr class="separator:aa8b94b2337c21da2b8620864d4cc55e9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5bd123403b68652d0f93e0864d60a79b" id="r_a5bd123403b68652d0f93e0864d60a79b"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5bd123403b68652d0f93e0864d60a79b">getCenterOfPressure</a> () const</td></tr>
|
|
<tr class="memdesc:a5bd123403b68652d0f93e0864d60a79b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current center of pressure (CP) of the rocket. <br /></td></tr>
|
|
<tr class="separator:a5bd123403b68652d0f93e0864d60a79b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aee638259d9d98ddfe9c2833f7cfc97f4" id="r_aee638259d9d98ddfe9c2833f7cfc97f4"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#aee638259d9d98ddfe9c2833f7cfc97f4">getStabilityMargin</a> () const</td></tr>
|
|
<tr class="memdesc:aee638259d9d98ddfe9c2833f7cfc97f4"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the rocket's stability margin. <br /></td></tr>
|
|
<tr class="separator:aee638259d9d98ddfe9c2833f7cfc97f4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a58e4d117b09b5b25bb0b7cb679c18aa1" id="r_a58e4d117b09b5b25bb0b7cb679c18aa1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a58e4d117b09b5b25bb0b7cb679c18aa1">addStage</a> (std::unique_ptr< <a class="el" href="classStage.html">Stage</a> > stage)</td></tr>
|
|
<tr class="memdesc:a58e4d117b09b5b25bb0b7cb679c18aa1"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new stage to the rocket. <br /></td></tr>
|
|
<tr class="separator:a58e4d117b09b5b25bb0b7cb679c18aa1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f98740182177dbee1f624e42dd6a6f8" id="r_a5f98740182177dbee1f624e42dd6a6f8"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classStage.html">Stage</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f98740182177dbee1f624e42dd6a6f8">getStages</a> () const</td></tr>
|
|
<tr class="memdesc:a5f98740182177dbee1f624e42dd6a6f8"><td class="mdescLeft"> </td><td class="mdescRight">Returns a const reference to the list of stages. <br /></td></tr>
|
|
<tr class="separator:a5f98740182177dbee1f624e42dd6a6f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a40c13a45af5f4ef4f29fac62248f655e" id="r_a40c13a45af5f4ef4f29fac62248f655e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a40c13a45af5f4ef4f29fac62248f655e">updateMassProperties</a> ()</td></tr>
|
|
<tr class="memdesc:a40c13a45af5f4ef4f29fac62248f655e"><td class="mdescLeft"> </td><td class="mdescRight">Recalculates total mass, CG, CP, and stability margin. <br /></td></tr>
|
|
<tr class="separator:a40c13a45af5f4ef4f29fac62248f655e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9ffef23f1318dd34733e41d7e72e933b" id="r_a9ffef23f1318dd34733e41d7e72e933b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9ffef23f1318dd34733e41d7e72e933b">prepareForFlight</a> (const <a class="el" href="classEnvironment.html">Environment</a> &env)</td></tr>
|
|
<tr class="memdesc:a9ffef23f1318dd34733e41d7e72e933b"><td class="mdescLeft"> </td><td class="mdescRight">Prepares the rocket for flight simulation. <br /></td></tr>
|
|
<tr class="separator:a9ffef23f1318dd34733e41d7e72e933b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa6088e11bf866ee450c1714fde18ea94" id="r_aa6088e11bf866ee450c1714fde18ea94"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6088e11bf866ee450c1714fde18ea94">applyFlightState</a> (const <a class="el" href="classFlightState.html">FlightState</a> &state)</td></tr>
|
|
<tr class="memdesc:aa6088e11bf866ee450c1714fde18ea94"><td class="mdescLeft"> </td><td class="mdescRight">Applies a given flight state to the rocket. <br /></td></tr>
|
|
<tr class="separator:aa6088e11bf866ee450c1714fde18ea94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a192661606e0a4190991e696e5af4b12f" id="r_a192661606e0a4190991e696e5af4b12f"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a192661606e0a4190991e696e5af4b12f">getName</a> () const</td></tr>
|
|
<tr class="memdesc:a192661606e0a4190991e696e5af4b12f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the name of the rocket. <br /></td></tr>
|
|
<tr class="separator:a192661606e0a4190991e696e5af4b12f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6f3bd1455b93e47149aee4f06c8abe2a" id="r_a6f3bd1455b93e47149aee4f06c8abe2a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f3bd1455b93e47149aee4f06c8abe2a">setName</a> (const std::string &name)</td></tr>
|
|
<tr class="memdesc:a6f3bd1455b93e47149aee4f06c8abe2a"><td class="mdescLeft"> </td><td class="mdescRight">Sets the name of the rocket. <br /></td></tr>
|
|
<tr class="separator:a6f3bd1455b93e47149aee4f06c8abe2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
|
Private Attributes</h2></td></tr>
|
|
<tr class="memitem:a572fcaeebe49951462fc4d1fed27a906" id="r_a572fcaeebe49951462fc4d1fed27a906"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="#a572fcaeebe49951462fc4d1fed27a906">name_</a></td></tr>
|
|
<tr class="memdesc:a572fcaeebe49951462fc4d1fed27a906"><td class="mdescLeft"> </td><td class="mdescRight">Name of the rocket. <br /></td></tr>
|
|
<tr class="separator:a572fcaeebe49951462fc4d1fed27a906"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34370c53292fffa9ab7cd18e70533995" id="r_a34370c53292fffa9ab7cd18e70533995"><td class="memItemLeft" align="right" valign="top">std::vector< std::unique_ptr< <a class="el" href="classStage.html">Stage</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a34370c53292fffa9ab7cd18e70533995">stages_</a></td></tr>
|
|
<tr class="memdesc:a34370c53292fffa9ab7cd18e70533995"><td class="mdescLeft"> </td><td class="mdescRight">List of rocket stages. <br /></td></tr>
|
|
<tr class="separator:a34370c53292fffa9ab7cd18e70533995"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9cbf9e0023c14d1191bbcb055ed206f2" id="r_a9cbf9e0023c14d1191bbcb055ed206f2"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9cbf9e0023c14d1191bbcb055ed206f2">totalMass_</a></td></tr>
|
|
<tr class="memdesc:a9cbf9e0023c14d1191bbcb055ed206f2"><td class="mdescLeft"> </td><td class="mdescRight">Total mass of the rocket [kg]. <br /></td></tr>
|
|
<tr class="separator:a9cbf9e0023c14d1191bbcb055ed206f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c224ce46fd374a658f7913520e792a3" id="r_a0c224ce46fd374a658f7913520e792a3"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0c224ce46fd374a658f7913520e792a3">totalPropellantMass_</a></td></tr>
|
|
<tr class="memdesc:a0c224ce46fd374a658f7913520e792a3"><td class="mdescLeft"> </td><td class="mdescRight">Total remaining propellant mass [kg]. <br /></td></tr>
|
|
<tr class="separator:a0c224ce46fd374a658f7913520e792a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abf16931cce85274a393ee96493d7a9a2" id="r_abf16931cce85274a393ee96493d7a9a2"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#abf16931cce85274a393ee96493d7a9a2">centerOfGravity_</a></td></tr>
|
|
<tr class="memdesc:abf16931cce85274a393ee96493d7a9a2"><td class="mdescLeft"> </td><td class="mdescRight">Center of gravity location [m]. <br /></td></tr>
|
|
<tr class="separator:abf16931cce85274a393ee96493d7a9a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4bf13f3e1084864bdad14fd58b66911b" id="r_a4bf13f3e1084864bdad14fd58b66911b"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4bf13f3e1084864bdad14fd58b66911b">centerOfPressure_</a></td></tr>
|
|
<tr class="memdesc:a4bf13f3e1084864bdad14fd58b66911b"><td class="mdescLeft"> </td><td class="mdescRight">Center of pressure location [m]. <br /></td></tr>
|
|
<tr class="separator:a4bf13f3e1084864bdad14fd58b66911b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Represents a complete rocket vehicle composed of stages, motors, and recovery systems. </p>
|
|
<p>The <a class="el" href="classRocket.html" title="Represents a complete rocket vehicle composed of stages, motors, and recovery systems.">Rocket</a> class encapsulates the full vehicle configuration, including mass properties, center of gravity (CG), center of pressure (CP), and stability margin calculations. It is the central object for design, simulation, and flight state management. </p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a71892ff2f0688dca670e1c2be3bec5b3" name="a71892ff2f0688dca670e1c2be3bec5b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a71892ff2f0688dca670e1c2be3bec5b3">◆ </a></span>Rocket()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Rocket::Rocket </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constructs a new <a class="el" href="classRocket.html" title="Represents a complete rocket vehicle composed of stages, motors, and recovery systems.">Rocket</a> with a given name. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">name</td><td>The name of the rocket. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab175518667f63d715023487eb968ab38" name="ab175518667f63d715023487eb968ab38"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab175518667f63d715023487eb968ab38">◆ </a></span>~Rocket()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Rocket::~Rocket </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel default">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Default destructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a58e4d117b09b5b25bb0b7cb679c18aa1" name="a58e4d117b09b5b25bb0b7cb679c18aa1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a58e4d117b09b5b25bb0b7cb679c18aa1">◆ </a></span>addStage()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Rocket::addStage </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::unique_ptr< <a class="el" href="classStage.html">Stage</a> ></td> <td class="paramname"><span class="paramname"><em>stage</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a new stage to the rocket. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">stage</td><td>A unique_ptr to the <a class="el" href="classStage.html" title="Represents a single stage of a (potentially) multi-stage rocket.">Stage</a> object to add. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa6088e11bf866ee450c1714fde18ea94" name="aa6088e11bf866ee450c1714fde18ea94"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa6088e11bf866ee450c1714fde18ea94">◆ </a></span>applyFlightState()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Rocket::applyFlightState </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classFlightState.html">FlightState</a> &</td> <td class="paramname"><span class="paramname"><em>state</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies a given flight state to the rocket. </p>
|
|
<p>Intended for advanced simulation stages, including 6-DoF dynamics.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">state</td><td>The current flight state. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa8b94b2337c21da2b8620864d4cc55e9" name="aa8b94b2337c21da2b8620864d4cc55e9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8b94b2337c21da2b8620864d4cc55e9">◆ </a></span>getCenterOfGravity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::getCenterOfGravity </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the current center of gravity (CG) of the rocket. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Distance from reference point (e.g., nose tip) in meters. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5bd123403b68652d0f93e0864d60a79b" name="a5bd123403b68652d0f93e0864d60a79b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5bd123403b68652d0f93e0864d60a79b">◆ </a></span>getCenterOfPressure()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::getCenterOfPressure </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the current center of pressure (CP) of the rocket. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Distance from reference point (e.g., nose tip) in meters. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a192661606e0a4190991e696e5af4b12f" name="a192661606e0a4190991e696e5af4b12f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a192661606e0a4190991e696e5af4b12f">◆ </a></span>getName()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::string & Rocket::getName </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Gets the name of the rocket. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classRocket.html" title="Represents a complete rocket vehicle composed of stages, motors, and recovery systems.">Rocket</a> name as a constant reference. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aee638259d9d98ddfe9c2833f7cfc97f4" name="aee638259d9d98ddfe9c2833f7cfc97f4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aee638259d9d98ddfe9c2833f7cfc97f4">◆ </a></span>getStabilityMargin()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::getStabilityMargin </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculates the rocket's stability margin. </p>
|
|
<p>Defined as the normalized distance between CG and CP. Positive margin indicates stable configuration.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Stability margin (calibers). </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5f98740182177dbee1f624e42dd6a6f8" name="a5f98740182177dbee1f624e42dd6a6f8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f98740182177dbee1f624e42dd6a6f8">◆ </a></span>getStages()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< std::unique_ptr< <a class="el" href="classStage.html">Stage</a> > > & Rocket::getStages </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a const reference to the list of stages. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Vector of unique_ptr to <a class="el" href="classStage.html" title="Represents a single stage of a (potentially) multi-stage rocket.">Stage</a> objects. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa5aa56f1d3eb3a6f5e8f3d526e850169" name="aa5aa56f1d3eb3a6f5e8f3d526e850169"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa5aa56f1d3eb3a6f5e8f3d526e850169">◆ </a></span>getTotalMass()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::getTotalMass </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the total mass of the rocket (including all stages and payloads). </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Total mass in kilograms. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a145038e958d8d42800a27ea0eb785dac" name="a145038e958d8d42800a27ea0eb785dac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a145038e958d8d42800a27ea0eb785dac">◆ </a></span>getTotalPropellantMass()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::getTotalPropellantMass </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the total remaining propellant mass of all motors. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>Propellant mass in kilograms. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9ffef23f1318dd34733e41d7e72e933b" name="a9ffef23f1318dd34733e41d7e72e933b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9ffef23f1318dd34733e41d7e72e933b">◆ </a></span>prepareForFlight()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Rocket::prepareForFlight </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classEnvironment.html">Environment</a> &</td> <td class="paramname"><span class="paramname"><em>env</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Prepares the rocket for flight simulation. </p>
|
|
<p>Typically called once at simulation setup to adjust for environmental conditions.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">env</td><td>The environment (atmospheric conditions) at launch. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6f3bd1455b93e47149aee4f06c8abe2a" name="a6f3bd1455b93e47149aee4f06c8abe2a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6f3bd1455b93e47149aee4f06c8abe2a">◆ </a></span>setName()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Rocket::setName </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string &</td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the name of the rocket. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">name</td><td>The new name. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a40c13a45af5f4ef4f29fac62248f655e" name="a40c13a45af5f4ef4f29fac62248f655e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a40c13a45af5f4ef4f29fac62248f655e">◆ </a></span>updateMassProperties()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Rocket::updateMassProperties </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Recalculates total mass, CG, CP, and stability margin. </p>
|
|
<p>Should be called after any modification to the rocket structure. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="abf16931cce85274a393ee96493d7a9a2" name="abf16931cce85274a393ee96493d7a9a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abf16931cce85274a393ee96493d7a9a2">◆ </a></span>centerOfGravity_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::centerOfGravity_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Center of gravity location [m]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4bf13f3e1084864bdad14fd58b66911b" name="a4bf13f3e1084864bdad14fd58b66911b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4bf13f3e1084864bdad14fd58b66911b">◆ </a></span>centerOfPressure_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::centerOfPressure_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Center of pressure location [m]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a572fcaeebe49951462fc4d1fed27a906" name="a572fcaeebe49951462fc4d1fed27a906"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a572fcaeebe49951462fc4d1fed27a906">◆ </a></span>name_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string Rocket::name_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Name of the rocket. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a34370c53292fffa9ab7cd18e70533995" name="a34370c53292fffa9ab7cd18e70533995"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a34370c53292fffa9ab7cd18e70533995">◆ </a></span>stages_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector<std::unique_ptr<<a class="el" href="classStage.html">Stage</a>> > Rocket::stages_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>List of rocket stages. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9cbf9e0023c14d1191bbcb055ed206f2" name="a9cbf9e0023c14d1191bbcb055ed206f2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9cbf9e0023c14d1191bbcb055ed206f2">◆ </a></span>totalMass_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::totalMass_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Total mass of the rocket [kg]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0c224ce46fd374a658f7913520e792a3" name="a0c224ce46fd374a658f7913520e792a3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0c224ce46fd374a658f7913520e792a3">◆ </a></span>totalPropellantMass_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double Rocket::totalPropellantMass_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Total remaining propellant mass [kg]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li>include/<a class="el" href="Rocket_8h_source.html">Rocket.h</a></li>
|
|
<li>src/<a class="el" href="Rocket_8cpp.html">Rocket.cpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="classRocket.html">Rocket</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|