qtrocket2/docs/simulation_core.svg

1 line
20 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="862px" preserveAspectRatio="none" style="width:523px;height:862px;background:#FFFFFF;" version="1.1" viewBox="0 0 523 862" width="523px" zoomAndPan="magnify"><defs/><g><!--class FlightSimulator--><g class="entity" data-entity="FlightSimulator" data-source-line="1" data-uid="ent0002" id="entity_FlightSimulator"><rect fill="#F1F1F1" height="162.4075" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="152.3215" x="179.24" y="7"/><ellipse cx="203.1067" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M202.5755,29.9219 Q200.8255,29.9219 199.6849,29.1875 Q198.5599,28.4375 197.9974,27.0938 Q197.4505,25.7344 197.4505,23.9375 Q197.4505,21.9063 198.1067,20.4531 Q198.763,19 200.0442,18.2188 Q201.3255,17.4375 203.2005,17.4375 Q204.0911,17.4375 204.763,17.625 Q205.4349,17.7969 206.1224,18.1406 L205.3099,20.1563 Q204.6849,19.8438 204.138,19.7188 Q203.6067,19.5938 203.1224,19.5938 Q201.9505,19.5938 201.2474,20.125 Q200.5442,20.6563 200.2474,21.6094 Q199.9505,22.5625 199.9505,23.8281 Q199.9505,25.8438 200.6692,26.8125 Q201.388,27.7656 202.9817,27.7656 Q203.5755,27.7656 204.2005,27.6094 Q204.8255,27.4531 205.6536,27.0781 L205.6536,29.2969 Q204.9192,29.6094 204.1224,29.7656 Q203.3411,29.9219 202.5755,29.9219 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.6176" x="219.0771" y="28.432">FlightSimulator</text><line style="stroke:#181818;stroke-width:0.5;" x1="180.24" x2="330.5615" y1="39" y2="39"/><line style="stroke:#181818;stroke-width:0.5;" x1="180.24" x2="330.5615" y1="47" y2="47"/><ellipse cx="190.24" cy="62.034" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31.4859" x="199.24" y="65.9659">run()</text><ellipse cx="190.24" cy="81.1019" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36.6659" x="199.24" y="85.0339">step()</text><ellipse cx="190.24" cy="100.1698" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62.4957" x="199.24" y="104.1018">initialize()</text><ellipse cx="190.24" cy="119.2377" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96.8796" x="199.24" y="123.1697">handleEvents()</text><ellipse cx="190.24" cy="138.3056" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126.3215" x="199.24" y="142.2376">checkTermination()</text><ellipse cx="190.24" cy="157.3735" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102.2556" x="199.24" y="161.3055">updateMotors()</text></g><!--class ForcesModel--><g class="entity" data-entity="ForcesModel" data-source-line="10" data-uid="ent0003" id="entity_ForcesModel"><rect fill="#F1F1F1" height="143.3396" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="212.1293" x="197.34" y="566.22"/><ellipse cx="257.0918" cy="582.22" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M256.5606,589.1419 Q254.8106,589.1419 253.6699,588.4075 Q252.5449,587.6575 251.9824,586.3138 Q251.4356,584.9544 251.4356,583.1575 Q251.4356,581.1263 252.0918,579.6731 Q252.7481,578.22 254.0293,577.4388 Q255.3106,576.6575 257.1856,576.6575 Q258.0762,576.6575 258.7481,576.845 Q259.4199,577.0169 260.1074,577.3606 L259.2949,579.3763 Q258.6699,579.0638 258.1231,578.9388 Q257.5918,578.8138 257.1074,578.8138 Q255.9356,578.8138 255.2324,579.345 Q254.5293,579.8763 254.2324,580.8294 Q253.9356,581.7825 253.9356,583.0481 Q253.9356,585.0638 254.6543,586.0325 Q255.3731,586.9856 256.9668,586.9856 Q257.5606,586.9856 258.1856,586.8294 Q258.8106,586.6731 259.6387,586.2981 L259.6387,588.5169 Q258.9043,588.8294 258.1074,588.9856 Q257.3262,589.1419 256.5606,589.1419 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.1257" x="277.5918" y="587.652">ForcesModel</text><line style="stroke:#181818;stroke-width:0.5;" x1="198.34" x2="408.4693" y1="598.22" y2="598.22"/><line style="stroke:#181818;stroke-width:0.5;" x1="198.34" x2="408.4693" y1="606.22" y2="606.22"/><ellipse cx="208.34" cy="621.254" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126.6155" x="217.34" y="625.1859">computeNetForce()</text><ellipse cx="208.34" cy="640.3219" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146.3414" x="217.34" y="644.2539">computeNetMoment()</text><ellipse cx="208.34" cy="659.3898" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109.5216" x="217.34" y="663.3218">computeThrust()</text><ellipse cx="208.34" cy="678.4577" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="186.1293" x="217.34" y="682.3897">computeAerodynamicDrag()</text><ellipse cx="208.34" cy="697.5256" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113.6376" x="217.34" y="701.4576">computeGravity()</text></g><!--class FlightState--><g class="entity" data-entity="FlightState" data-source-line="18" data-uid="ent0004" id="entity_FlightState"><rect fill="#F1F1F1" height="276.815" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="158.9715" x="109.91" y="229.41"/><ellipse cx="150.3898" cy="245.41" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M149.8585,252.3319 Q148.1085,252.3319 146.9679,251.5975 Q145.8429,250.8475 145.2804,249.5038 Q144.7335,248.1444 144.7335,246.3475 Q144.7335,244.3163 145.3898,242.8631 Q146.046,241.41 147.3273,240.6288 Q148.6085,239.8475 150.4835,239.8475 Q151.3742,239.8475 152.046,240.035 Q152.7179,240.2069 153.4054,240.5506 L152.5929,242.5663 Q151.9679,242.2538 151.421,242.1288 Q150.8898,242.0038 150.4054,242.0038 Q149.2335,242.0038 148.5304,242.535 Q147.8273,243.0663 147.5304,244.0194 Q147.2335,244.9725 147.2335,246.2381 Q147.2335,248.2538 147.9523,249.2225 Q148.671,250.1756 150.2648,250.1756 Q150.8585,250.1756 151.4835,250.0194 Q152.1085,249.8631 152.9367,249.4881 L152.9367,251.7069 Q152.2023,252.0194 151.4054,252.1756 Q150.6242,252.3319 149.8585,252.3319 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.3497" x="170.052" y="250.842">FlightState</text><line style="stroke:#181818;stroke-width:0.5;" x1="110.91" x2="267.8815" y1="261.41" y2="261.41"/><line style="stroke:#181818;stroke-width:0.5;" x1="110.91" x2="267.8815" y1="269.41" y2="269.41"/><ellipse cx="120.91" cy="284.444" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.0057" x="129.91" y="288.3759">getPosition()</text><ellipse cx="120.91" cy="303.5119" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81.1017" x="129.91" y="307.4439">setPosition()</text><ellipse cx="120.91" cy="322.5798" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80.8637" x="129.91" y="326.5118">getVelocity()</text><ellipse cx="120.91" cy="341.6477" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78.9597" x="129.91" y="345.5797">setVelocity()</text><ellipse cx="120.91" cy="360.7156" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111.1736" x="129.91" y="364.6476">getAcceleration()</text><ellipse cx="120.91" cy="379.7835" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109.2696" x="129.91" y="383.7155">setAcceleration()</text><ellipse cx="120.91" cy="398.8515" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105.5316" x="129.91" y="402.7834">getOrientation()</text><ellipse cx="120.91" cy="417.9194" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103.6276" x="129.91" y="421.8514">setOrientation()</text><ellipse cx="120.91" cy="436.9873" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="132.9715" x="129.91" y="440.9193">getAngularVelocity()</text><ellipse cx="120.91" cy="456.0552" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="131.0675" x="129.91" y="459.9872">setAngularVelocity()</text><ellipse cx="120.91" cy="475.1231" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62.3418" x="129.91" y="479.0551">getTime()</text><ellipse cx="120.91" cy="494.191" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60.4378" x="129.91" y="498.123">setTime()</text></g><!--class Environment--><g class="entity" data-entity="Environment" data-source-line="33" data-uid="ent0005" id="entity_Environment"><rect fill="#F1F1F1" height="86.1358" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="123.5796" x="138.61" y="769.56"/><ellipse cx="156.6808" cy="785.56" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M156.1495,792.4819 Q154.3995,792.4819 153.2589,791.7475 Q152.1339,790.9975 151.5714,789.6538 Q151.0245,788.2944 151.0245,786.4975 Q151.0245,784.4663 151.6808,783.0131 Q152.337,781.56 153.6183,780.7788 Q154.8995,779.9975 156.7745,779.9975 Q157.6652,779.9975 158.337,780.185 Q159.0089,780.3569 159.6964,780.7006 L158.8839,782.7163 Q158.2589,782.4038 157.712,782.2788 Q157.1808,782.1538 156.6964,782.1538 Q155.5245,782.1538 154.8214,782.685 Q154.1183,783.2163 153.8214,784.1694 Q153.5245,785.1225 153.5245,786.3881 Q153.5245,788.4038 154.2433,789.3725 Q154.962,790.3256 156.5558,790.3256 Q157.1495,790.3256 157.7745,790.1694 Q158.3995,790.0131 159.2277,789.6381 L159.2277,791.8569 Q158.4933,792.1694 157.6964,792.3256 Q156.9152,792.4819 156.1495,792.4819 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.7557" x="171.3632" y="790.992">Environment</text><line style="stroke:#181818;stroke-width:0.5;" x1="139.61" x2="261.1896" y1="801.56" y2="801.56"/><line style="stroke:#181818;stroke-width:0.5;" x1="139.61" x2="261.1896" y1="809.56" y2="809.56"/><ellipse cx="149.61" cy="824.594" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97.5796" x="158.61" y="828.5259">getAirDensity()</text><ellipse cx="149.61" cy="843.6619" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76.7057" x="158.61" y="847.5939">getGravity()</text></g><!--class Integrator--><g class="entity" data-entity="Integrator" data-source-line="38" data-uid="ent0006" id="entity_Integrator"><rect fill="#F1F1F1" height="86.1358" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="142.6196" x="374.09" y="324.75"/><ellipse cx="408.3139" cy="340.75" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M407.7827,347.6719 Q406.0327,347.6719 404.892,346.9375 Q403.767,346.1875 403.2045,344.8438 Q402.6577,343.4844 402.6577,341.6875 Q402.6577,339.6563 403.3139,338.2031 Q403.9702,336.75 405.2514,335.9688 Q406.5327,335.1875 408.4077,335.1875 Q409.2983,335.1875 409.9702,335.375 Q410.642,335.5469 411.3295,335.8906 L410.517,337.9063 Q409.892,337.5938 409.3452,337.4688 Q408.8139,337.3438 408.3295,337.3438 Q407.1577,337.3438 406.4545,337.875 Q405.7514,338.4063 405.4545,339.3594 Q405.1577,340.3125 405.1577,341.5781 Q405.1577,343.5938 405.8764,344.5625 Q406.5952,345.5156 408.1889,345.5156 Q408.7827,345.5156 409.4077,345.3594 Q410.0327,345.2031 410.8608,344.8281 L410.8608,347.0469 Q410.1264,347.3594 409.3295,347.5156 Q408.5483,347.6719 407.7827,347.6719 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.8998" x="426.5859" y="346.182">Integrator</text><line style="stroke:#181818;stroke-width:0.5;" x1="375.09" x2="515.7096" y1="356.75" y2="356.75"/><line style="stroke:#181818;stroke-width:0.5;" x1="375.09" x2="515.7096" y1="364.75" y2="364.75"/><ellipse cx="385.09" cy="379.784" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36.6659" x="394.09" y="383.7159">step()</text><ellipse cx="385.09" cy="398.8519" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116.6196" x="394.09" y="402.7839">eulerIntegration()</text></g><!--class Rocket--><g class="entity" data-entity="Rocket" data-source-line="47" data-uid="ent0011" id="entity_Rocket"><rect fill="#F1F1F1" height="48" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="76.3238" x="344.24" y="788.63"/><ellipse cx="359.24" cy="804.63" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M358.7088,811.5519 Q356.9588,811.5519 355.8181,810.8175 Q354.6931,810.0675 354.1306,808.7238 Q353.5838,807.3644 353.5838,805.5675 Q353.5838,803.5363 354.24,802.0831 Q354.8963,800.63 356.1775,799.8488 Q357.4588,799.0675 359.3338,799.0675 Q360.2244,799.0675 360.8963,799.255 Q361.5681,799.4269 362.2556,799.7706 L361.4431,801.7863 Q360.8181,801.4738 360.2713,801.3488 Q359.74,801.2238 359.2556,801.2238 Q358.0838,801.2238 357.3806,801.755 Q356.6775,802.2863 356.3806,803.2394 Q356.0838,804.1925 356.0838,805.4581 Q356.0838,807.4738 356.8025,808.4425 Q357.5213,809.3956 359.115,809.3956 Q359.7088,809.3956 360.3338,809.2394 Q360.9588,809.0831 361.7869,808.7081 L361.7869,810.9269 Q361.0525,811.2394 360.2556,811.3956 Q359.4744,811.5519 358.7088,811.5519 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44.3238" x="373.24" y="810.062">Rocket</text><line style="stroke:#181818;stroke-width:0.5;" x1="345.24" x2="419.5638" y1="820.63" y2="820.63"/><line style="stroke:#181818;stroke-width:0.5;" x1="345.24" x2="419.5638" y1="828.63" y2="828.63"/></g><!--link FlightSimulator to ForcesModel--><g class="link" data-entity-1="FlightSimulator" data-entity-2="ForcesModel" data-source-line="43" data-uid="lnk7" id="link_FlightSimulator_ForcesModel"><path codeLine="43" d="M275.71,169.59 C279.93,189.05 283.85,209.88 286.4,229.41 C301.69,346.66 304.2637,478.34 304.2137,559.9" fill="none" id="FlightSimulator-to-ForcesModel" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="304.21,565.9,308.21,556.9,304.21,560.9,300.21,556.9,304.21,565.9" style="stroke:#181818;stroke-width:1;"/></g><!--link FlightSimulator to Integrator--><g class="link" data-entity-1="FlightSimulator" data-entity-2="Integrator" data-source-line="44" data-uid="lnk8" id="link_FlightSimulator_Integrator"><path codeLine="44" d="M310.61,169.88 C345.23,220.46 385.0704,278.6792 413.1004,319.6192" fill="none" id="FlightSimulator-to-Integrator" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="416.49,324.57,414.7061,314.884,413.6653,320.4443,408.105,319.4035,416.49,324.57" style="stroke:#181818;stroke-width:1;"/></g><!--link FlightSimulator to FlightState--><g class="link" data-entity-1="FlightSimulator" data-entity-2="FlightState" data-source-line="45" data-uid="lnk9" id="link_FlightSimulator_FlightState"><path codeLine="45" d="M236.22,169.88 C231.81,188.45 228.3773,202.8726 223.5673,223.1126" fill="none" id="FlightSimulator-to-FlightState" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="222.18,228.95,228.1525,221.1187,223.336,224.0855,220.3693,219.269,222.18,228.95" style="stroke:#181818;stroke-width:1;"/></g><!--link FlightSimulator to Environment--><g class="link" data-entity-1="FlightSimulator" data-entity-2="Environment" data-source-line="46" data-uid="lnk10" id="link_FlightSimulator_Environment"><path codeLine="46" d="M179.1,133.52 C145.92,157.3 110.54,189.89 92.4,229.41 C6,417.68 119.6667,665.0019 173.1967,764.0219" fill="none" id="FlightSimulator-to-Environment" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="176.05,769.3,175.2887,759.4806,173.6722,764.9016,168.2513,763.2851,176.05,769.3" style="stroke:#181818;stroke-width:1;"/></g><!--link ForcesModel to Rocket--><g class="link" data-entity-1="ForcesModel" data-entity-2="Rocket" data-source-line="47" data-uid="lnk12" id="link_ForcesModel_Rocket"><path codeLine="47" d="M335.76,709.65 C348.63,737.79 360.045,762.7534 369.295,782.9834" fill="none" id="ForcesModel-to-Rocket" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="371.79,788.44,371.6853,778.5917,369.7108,783.8928,364.4097,781.9184,371.79,788.44" style="stroke:#181818;stroke-width:1;"/></g><!--link ForcesModel to Environment--><g class="link" data-entity-1="ForcesModel" data-entity-2="Environment" data-source-line="48" data-uid="lnk13" id="link_ForcesModel_Environment"><path codeLine="48" d="M261.21,709.65 C249.1,729.96 239.3556,746.3182 228.6156,764.3082" fill="none" id="ForcesModel-to-Environment" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="225.54,769.46,233.5879,763.7827,228.103,765.1669,226.7189,759.682,225.54,769.46" style="stroke:#181818;stroke-width:1;"/></g><!--link Integrator to Rocket--><g class="link" data-entity-1="Integrator" data-entity-2="Rocket" data-source-line="49" data-uid="lnk14" id="link_Integrator_Rocket"><path codeLine="49" d="M448.01,411.21 C450.95,476.36 452.44,604.54 427.4,709.56 C420.66,737.82 409.1799,762.7086 398.4999,782.8586" fill="none" id="Integrator-to-Rocket" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="395.69,788.16,403.4391,782.0812,398.0316,783.7422,396.3705,778.3347,395.69,788.16" style="stroke:#181818;stroke-width:1;"/></g><!--link Integrator to ForcesModel--><g class="link" data-entity-1="Integrator" data-entity-2="ForcesModel" data-source-line="50" data-uid="lnk15" id="link_Integrator_ForcesModel"><path codeLine="50" d="M422.9,411.29 C400.92,452.78 369.8884,511.3778 343.8184,560.5978" fill="none" id="Integrator-to-ForcesModel" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="341.01,565.9,348.7573,559.819,343.3503,561.4815,341.6878,556.0745,341.01,565.9" style="stroke:#181818;stroke-width:1;"/></g><!--SRC=[TLBBJiCm4BpdAt84eVu2KgGMn2608E9kEQjaLJ-YzJfIGVmx3i6fwngVx9dPsOTNAk5S_Q1m6FaTjLU2BTLVLHtE7NbpSxjU7SCKxsYGKIZyX8YCmlGA3ZCOTX6J8yXZ1wJH24QxEVcf5moj3NaMxNTLoRK6In9SQtjGCR-qUl8Cpy2_vEQymQtL8MM6ToDvbuCDaErFHcYKUn93nZwIc95F5-Mi8-5GQond07wr3jDct3KKL1-Wh5pzeYg7WggH4XIGoFnAS52_48PMSt41NPpD43wI2cNymuIO3ZKamh_dDew3cP6iMSQTZAD1seDnbqw5OJuPXe7IrKht2NpeDqhMJa9alfExtNsw8qN-dASSVlxJ8fyqMQNhk71lLXxX6av3aYwJY0nD37u0]--></g></svg>